实验关闭关闭
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/
使用yum
在db1
和db2
主机上安装我们需要的服务
yum install -y vim net-tools mariadb mariadb-server java java-devel
使用yum
在zk1
、zk2
和zk3
主机上安装我们需要的服务
yum install -y vim net-tools java java-devel
使用yum
在redis
主机上安装我们需要的服务
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
vim /usr/local/myat/conf/server.xml
/bin/bash /usr/local/mycat/bin/mycat start
可以使用jps
或者/bin/bash /usr/local/mycat/bin/mycat status
查看是否运行
可以使用netstat -ntpl
查看端口是否运行
使用mysql -h 127.0.0.1 -P 9066 -u root -p123456 -e 'show @@datasource'
查看
配置完毕后对zookeeper1
、zookeeper2
、zookeeper3
进行zookeeper
和kafka
配置
先配置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
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
然后新建文件夹
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
mkdir -p /tmp/zookeeper
vim /tmp/zookeeper/myid
向文件中添加一个3
即可
配置完成后在三台主机上启动zookeeper
/root/zookeeper-3.4.14/bin/zkServer.sh start
然后对这三台主机进行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行为图中内容
并在最后一行添加以下内容broker.id=1
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
对于另外两台主机,zookeeper.connect的配置和上述一样,但是broke.id
和listeners
不能一样
zookeeper2节点
broke.id=2
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
zookeeper3节点
broke.id=3
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
然后在三个主机上启动kafka
/root/kafka_2.11-1.1.1/bin/kafka-server-start.sh -daemon /root/kafka_2.11-1.1.1/config/server.properties
然后配置redis
主机
配置yum
源文件
vim /etc/yum.repos.d/local.repo
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
服务运行正常
然后在mycat
主机上配置nginx
服务
配置yum
源文件
vim /etc/yum.repos.d/local.repo
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;
}
然后在 #error_page 404 上方添加以下内容
location /user{
proxy_pass http://myuser;
}
location /shopping{
proxy_pass http://myshopping;
}
location /cashier{
proxy_pass http://mycashier;
}
然后重启nginx
systemctl restart nginx
然后去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
查看
然后使用chrome
浏览器登录查看,可以看到访问成功。
ps:可以使用java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
来查看jar
包掉的原因
kafka
依赖于zookeeper
zookeeper
起不来查看hosts
文件