0 课程地址
https://coding.imooc.com/lesson/201.html#mid=12716
1 重点关注
1.1 特别声明
- 常规集群都是3,5等奇数台
由于本地内存有限,使用了偶数台,并且没有完全成功,
没成功的地方是从虚拟机最终能起来zk服务端,但是无法查看状态。很多配置都和主虚拟机不一致。
删除了从虚拟机,但是空间没有释放。又不方便随意删除Hyper-V,重新配置,所以学完本课程,虚拟机可以统一删除下。
- zookeeper 配置文件配置ip端口
ip配置不同,端口号可以相同
- 主虚拟机使用zk目录,从虚拟机使用zk02目录,便于区分
主节点用的zookeeper目录,从节点用的zookeeper02目录。因为本地资源有限,本节一共用了两台服务器搭建,课程用了三台
1.2 搭建真实环境集群
- 修改对应zk目录:
a 主虚拟机
-- 这块不用动,因为本来虚拟机就有zk相关配置
b 从虚拟机
cd / cd /usr/local -- copy zk到zk2,然后删除zk,只保留zk2,作为从节点,便于区分 cp zookeeper zookeeper02 -rf rm zookeeper -rf
- 修改环境变量:
a 主虚拟机
--查看下是否正确
vim /etc/profile
b 从虚拟机
vim /etc/profile 修改为 export ZOOKEEPER_HOME=/usr/local/zookeeper02 保存
- 修改配置文件zoo.cfg和 myid:
a 主虚拟机
cd /usr/local/zookeeper/conf vim zoo.cfg --a.1 zoo.cfg添加 server.1=172.26.220.107:2888:3888 server.2=172.26.220.161:2888:3888 --a.2 zoo.cfg确认端口号为2181 保存 cd /usr/local/zookeeper/dataDir --a.3 myid vim myid 写入1(已写入的不需要重复写入)(便于区分,主节点)
b 从虚拟机
cd /usr/local/zookeeper02/conf vim zoo.cfg --a.1 zoo.cfg添加 server.1=172.26.220.107:2888:3888 server.2=172.26.220.161:2888:3888 --a.2 设置各个数据路径和日志路径 dataDir=/usr/local/zookeeper02/dataDir dataLogDir=/usr/local/zookeeper02/dataLogDir --a.3 zoo.cfg确认端口号为2181 确认端口号为2181 --a.4 myid cd /usr/local/zookeeper02/dataDir vim myid 写入2(已写入的不需要重复写入)(便于区分,从节点)
1.3 验证真实集群
- 启动各个服务端
a 主虚拟机
cd /usr/local/zookeeper/bin --先关再起,防止刚刚修改的配置没有生效 ./zkServer.sh stop ./zkServer.sh start
b 主虚拟机
cd /usr/local/zookeeper02/bin ./zkServer.sh stop ./zkServer.sh start
- 查看状态
a 主虚拟机
cd /usr/local/zookeeper02/bin ./zkServer.sh status output:Mode:leader
b 从虚拟机
cd /usr/local/zookeeper02/bin ./zkServer.sh status output:Mode:follower
- 验证集群是否成功
同上节
2 课程内容
2.1 杀死进程
--查看进程 [root@bogon bin]# jps -l 25072 org.apache.zookeeper.server.quorum.QuorumPeerMain 20501 sun.tools.jps.Jps 25999 org.apache.zookeeper.server.quorum.QuorumPeerMain --杀死进程 [root@bogon bin]# kill -9 25072 [root@bogon bin]# kill -9 25999 --再次查看进程 [root@bogon bin]# jps -l 21162 sun.tools.jps.Jps
2.1 centos关闭防火墙和禁用防火墙
--关闭防火墙 systemctl stop firewalld --禁用防火墙 systemctl disable firewalld
3 Coding
诸葛