集群配置如下:
服务器ip主机名myid的值172.16.106.231node011172.16.106.232node022172.16.106.233node033修改并添加以下内容
dataDir=/opt/zookeeper-3.4.9/zkdatas autopurge.snapRetainCount=3 # 保留多少快照 autopurge.purgeInterval=1 # 日志几个小时清理一次 # 集群服务器地址 server.1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888添加myid配置 在第一台机器上/opt/zookeeper-3.4.9/zkdatas/这个路径下创建一个文件,文件名字是myid,内容是1
cd /opt/zookeeper-3.4.9/zkdatas/ echo 1 >> myid配置ip地址,将下面的内容填写在/etc/hosts中
172.16.106.231 node01 172.16.106.232 node02 172.16.106.233 node03 scp -r /opt/zookeeper-3.4.9 node02:/opt/ scp -r /opt/zookeeper-3.4.9 node03:/opt/修改每个主机的/opt/zookeeper-3.4.9/zkdatas/myid为对应的主机号
node02节点换为2 node03节点换为3
测试zookeeper是否启动
[root@node02 zkdatas]# jps # 一个查看java相关的进程 1398 QuorumPeerMain # 这个就是zookeeper 1418 Jps查看谁是leader谁是following。
/opt/zookeeper-3.4.9/bin/zkServer.sh status启动成功之后的输出为
[root@node01 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower [root@node02 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: leader [root@node03 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower答:需要关闭防火墙 centos7 关闭防火墙
sudo systemctl stop firewalld 临时关闭 sudo systemctl disable firewalld ,然后reboot 永久关闭 sudo systemctl status firewalld 查看防火墙状态。 # 如果没有关闭,可以重启一下 集群启动的自动化脚本2.1 需要配置免密登录,请参考文章Hadoop安装(vmfusion for mac、centos7)中关于ssh免密登录。
# 生成一个公私钥对 ssh-keygen -t rsa私钥在/root/.ssh/id_rsa中 公钥在/root/.ssh/id_rsa.pub中 将公钥的内容放在其他用户的~/.ssh/authorized_keys中,本机就能免密ssh访问其他用户了
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCk63c0LR+FKS6zMqNgGqRtxKBc8ht59v2qnI22JTeQQ7o864fVJYEzHqY33MGcBBYM/V/J1HDdqH0SgVwxLLlY0v2p5wnjRKnCcBULB/SVYU8vg57l8pZAD+gmCWaiKtWMZDVqxluj5P4YItfeS2cuKwmN7RRbA4YV3QjPdClbFSH2vrNq93O39ZjnLYO+WNejz1cOx5AZV3ml7ffQ/wcgEo+CRdp5p/K5XeV7zj4MEgpIgYVKhFlljtOHvOIx6lphlRNwz9SKuq/0nsiUapXLMTIR2qkFebAl0JcqfdZjs1ErYBXR0rpz5RBOESKFjvZVaI2cvIaLLsK8L9vQKYer root@node01 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDC30SFIXvbhzl7HqkDeU+VpFOHeVGg7ZUpYFdOUDLD0zU31QIFFEntW/St7jDYDkzxZyyUF0KOlWtomSoo6pHkL3Vp4TOf3bJu1L/lfKfnWX8nb7Mktb6mEHUu4/qkK35/AOr5F+e0UFRbaM7S2GMCOBpDcD4f8UmMG/ApbEalg4pURV6u02LXVcO+GZBcUupH8/Uv2FQ8w0QP7H1FxoLD9QP+KLDNmGbDAaTGFfORotg+Jm47S3jSXWNLAHEZIZN+44a/568hgOn5sX7IbKyrKNs4RbhOkEJ1ZK89Rf+SASUkJ4ClG4Eba+fLKYrP7Rc4OGwDTX26XotXPiVIS+/L root@node02 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxfbBtCRUEKnJNGbTFCuFLyGCX6s336mZkGYNHRCVYf/MjNLo/qbRm1lUppZ1GAJ6xJdwmxighZEpdDgjgmhr2PxpgiL1E5usr1uUnB3KC9+qCAdWVSgLCr/+PixCL4u9cP89ngj4xIsmpqktg2QoZLL3KZUtmQNkUP3nwWeXlWQlCj3kRpA2dh+lMOxgd4FndllgPESHocZhFar1uwmQkJh9EHXHA6EN36BtJO+GN/dbMRhbSU5qFP8CkZEyHpIPdmUwADTZA/BAaGZ6x5HYyMBTFNsLGbmWFBgCorMveolePIkJoC2idPJu+qOfEL4JJ9qYoVptwETgTl08mTpO5 root@node032.2 编写脚本
#!/bin/bash # 参数 start 启动 # 参数 stop 关闭 # 参数 restart 重启 echo "start zkServer..." for i in 01 02 03 do ssh node$i "source /etc/profile;/opt/zookeeper-3.4.9/bin/zkServer.sh $1" done