集群商城部署

商城集群部署

    • 主从同步、读写分离配置
      • 配置zookeeper
      • 配置Kafka
      • 配置Redis
      • 启动Nginx包
      • 启动jar包

实验关闭关闭firewall以及enforce
systemctl stop firewalld
setenforce 0

主从同步、读写分离配置

IP地址 主机名 节点
192.168.100.11 mycat Mycat中间件服务节点
192.168.100.12 db1 MariaDB数据库集群主节点
192.168.100.13 db2 MariaDB数据库集群从节点
192.168.100.14 zookeeper1 zookeeper、kafka集群节点
192.168.100.15 zookeeper2 zookeeper、kafka集群节点
192.168.100.16 zookeeper3 zookeeper、kafka集群节点
192.168.100.17 redis 消息队列服务节点

先配置mycat主机hosts文件

vi /etc/hosts

修改为下面的内容  由于jar包里面的主机名写死,所以必须是.mall

192.168.200.11 mycat mysql.mall
192.168.200.12 db1
192.168.200.13 db2
192.168.200.14 zk1.mall zookeeper1.mall kafka1.mall
192.168.200.15 zk2.mall zookeeper2.mall kafka2.mall
192.168.200.16 zk3.mall zookeeper3.mall kafka3.mall
192.168.200.17 redis.mall

然后通过scp传到其他的主机上

 scp /etc/hosts db1:/etc/hosts
 scp /etc/hosts db2:/etc/hosts
 scp /etc/hosts zk1.mall:/etc/hosts
 scp /etc/hosts zk2.mall:/etc/hosts
 scp /etc/hosts zk3.mall:/etc/hosts
 scp /etc/hosts redis.mall:/etc/hosts

然后在其他的主机配置yum

rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/local.repo

添加以下内容

[centos]
name=centos
baseurl=file:///media
gpgcheck=0
enable=1

然后挂载光盘

 mount /root/CentOS-7-x86_64-DVD-1511.iso /media/

使用yumdb1db2主机上安装我们需要的服务

yum install -y vim net-tools mariadb mariadb-server java java-devel

使用yumzk1zk2zk3主机上安装我们需要的服务

yum install -y vim net-tools java java-devel

使用yumredis主机上安装我们需要的服务

yum install -y vim net-tools redis java java-devel

db1上配置数据库

systemctl restart mariadb && systemctl enable mariadb

执行数据库初始化

mysql_secure_installation

输入enter y 123456 123456 y n y y
设置数据库配置文件

vim /etc/my.cnf

添加以下内容

[mysqld]
log-bin=mysql-bin
server_id=1

然后重启数据库

systemctl restart mariadb

进行数据库配置

mysql -u root -p123456
create database gpmall;
use gpmall;
source /root/gpmall-single/gpmall.sql
grant all privileges on *.* to root@localhost identified by '123456'; 
grant all privileges on *.* to root@'%' identified by '123456';
grant replication slave on *.* to 'user'@'db2' identified by '123456'; 
exit

然后配置db2
设置数据库配置文件

vim /etc/my.cnf

添加以下内容

[mysqld]
log-bin=mysql-bin
server_id=2

然后重启数据库

systemctl restart mariadb
systemctl restart mariadb && systemctl enable mariadb

执行数据库初始化

mysql_secure_installation

输入enter y 123456 123456 y n y y
进行数据库配置

mysql -u root -p123456
grant all privileges on *.* to root@localhost identified by '123456'; 
grant all privileges on *.* to root@'%' identified by '123456';
change master to master_host='db1',master_user='user',master_password='123456';
start slave;
show master status\G;
看到两个yes即可
Slave_IO_Running: Yes             
Slave_SQL_Running: Yes
exit

这里只需要配置权限即可
然后配置mycat主机

tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
vim /usr/local/myat/conf/schema.xml 

更改为以下内容
集群商城部署_第1张图片然后配置server.xml文件

vim /usr/local/myat/conf/server.xml

删除最后五行,并配置以下内容
集群商城部署_第2张图片然后启动mycat

/bin/bash /usr/local/mycat/bin/mycat start

可以使用jps或者/bin/bash /usr/local/mycat/bin/mycat status查看是否运行
在这里插入图片描述
在这里插入图片描述
可以使用netstat -ntpl查看端口是否运行
集群商城部署_第3张图片使用mysql -h 127.0.0.1 -P 9066 -u root -p123456 -e 'show @@datasource'查看
集群商城部署_第4张图片

配置zookeeper

配置完毕后对zookeeper1zookeeper2zookeeper3进行zookeeperkafka配置
先配置zookeeper
解压压缩包

tar -zxvf zookeeper-3.4.14.tar.gz 

然后对zookeeper的配置文件进行配置

cd /root/zookeeper-3.4.14/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

添加图片中的内容
集群商城部署_第5张图片然后新建文件夹

mkdir -p /tmp/zookeeper
vim /tmp/zookeeper/myid

向文件中添加一个1即可
在这里插入图片描述
然后配置zookeeper2主机
解压压缩包

tar -zxvf zookeeper-3.4.14.tar.gz 
tar -zxvf kafka_2.11-1.1.1.tgz 

然后对zookeeper的配置文件进行配置

cd /root/zookeeper-3.4.14/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

添加图片中的内容
集群商城部署_第6张图片

然后新建文件夹

mkdir -p /tmp/zookeeper
vim /tmp/zookeeper/myid

向文件中添加一个2即可
在这里插入图片描述
然后配置zookeeper2主机
解压压缩包

tar -zxvf zookeeper-3.4.14.tar.gz 
tar -zxvf kafka_2.11-1.1.1.tgz 

然后对zookeeper的配置文件进行配置

cd /root/zookeeper-3.4.14/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

添加图片中的内容
集群商城部署_第7张图片然后新建文件夹

mkdir -p /tmp/zookeeper
vim /tmp/zookeeper/myid

向文件中添加一个3即可
在这里插入图片描述
配置完成后在三台主机上启动zookeeper

/root/zookeeper-3.4.14/bin/zkServer.sh start

可以看到三台主机的zookeeper已经正常运行了
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

配置Kafka

然后对这三台主机进行kafka的配置
解压压缩包

tar -zxvf kafka_2.11-1.1.1.tgz 

然后对配置文件进行配置

cd /root/kafka_2.11-1.1.1/config
vim server.properties 

注释21行和123行
修改31行为图中内容集群商城部署_第8张图片
并在最后一行添加以下内容

broker.id=1
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
集群商城部署_第9张图片

对于另外两台主机,zookeeper.connect的配置和上述一样,但是broke.idlisteners不能一样
zookeeper2节点

broke.id=2
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181

listeners=PLAINTEXT://192.168.200.15:9092
集群商城部署_第10张图片

集群商城部署_第11张图片

zookeeper3节点

broke.id=3
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181

listeners=PLAINTEXT://192.168.200.16:9092
集群商城部署_第12张图片

集群商城部署_第13张图片

然后在三个主机上启动kafka

/root/kafka_2.11-1.1.1/bin/kafka-server-start.sh -daemon /root/kafka_2.11-1.1.1/config/server.properties 

然后可以使用jps进行查看
在这里插入图片描述在这里插入图片描述集群商城部署_第14张图片到这里就配置成功了

配置Redis

然后配置redis主机
配置yum源文件

vim /etc/yum.repos.d/local.repo

添加以下内容
集群商城部署_第15张图片
然后安装redis服务

yum install -y redis

启动redis

systemctl restart redis && systemctl enable redis

编辑配置文件

vim /etc/redis.conf

修改以下内容

将bind 127.0.0.1 注释掉;61行
将protected-mode yes改为protected-mode no;80行

然后重启redis

systemctl restart redis

然后使用ss -ntpl命令进行查看,看到6379端口就证明redis服务运行正常
在这里插入图片描述

启动Nginx包

然后在mycat主机上配置nginx服务
配置yum源文件

vim /etc/yum.repos.d/local.repo

添加以下内容
集群商城部署_第16张图片安装nginx

yum install -y nginx

上传前端代码

rm -rf rm /usr/share/nginx/html/*
cp -rvf /root/gpmall-cluster/dist/* /usr/share/nginx/html/

修改nginx的配置文件

vim /etc/nginx/conf.d/default.conf 

在文件最上方添加以下内容
upstream myuser{
server 192.168.200.12:8082;
server 192.168.200.13:8082;
ip_hash;
}
upstream myshopping{
server 192.168.200.12:8081;
server 192.168.200.13:8081;
ip_hash;
}
upstream mycashier{
server 192.168.200.12:8083;
server 192.168.200.13:8083;
ip_hash;
}
集群商城部署_第17张图片

然后在 #error_page 404 上方添加以下内容
location /user{
proxy_pass http://myuser;
}
location /shopping{
proxy_pass http://myshopping;
}
location /cashier{
proxy_pass http://mycashier;
}
集群商城部署_第18张图片

然后重启nginx

systemctl restart nginx

启动jar包

然后去db1,db2启动后端jar

cd /root/gpmal-cluster
nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &
nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &

使用jps查看
集群商城部署_第19张图片
然后使用chrome浏览器登录查看,可以看到访问成功。
集群商城部署_第20张图片

ps:可以使用java -jar shopping-provider-0.0.1-SNAPSHOT.jar &来查看jar包掉的原因
kafka依赖于zookeeper
zookeeper起不来查看hosts文件

你可能感兴趣的:(Cloud,Computing,云计算,centos)