zookeeper-集群搭建
1、安装环境(java环境就不说明了自己安装jdk1.8)
[root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) #ip 地址 192.168.56.11 192.168.56.12 192.168.56.13
2、下载安装包
[root@linux-node1 ~]# cd /data/ [root@linux-node1 data]# wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.7.0.tar.gz [root@linux-node1 data]# tar xf zookeeper-3.4.5-cdh5.7.0.tar.gz
3、编辑配置文件
[root@linux-node1 zookeeper-3.4.5-cdh5.7.0]# cat /usr/local/zookeeper/conf/zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/zookeeper/ clientPort=2181 maxClientCnxns=50 server.1=192.168.56.11:2888:3888 server.2=192.168.56.12:2888:3888 server.3=192.168.56.13:2888:3888
说明:
maxClientCnxns 最大连接数 server.A=B:C:D中的 A是一个数字,表示这个是第几号服务器 和myid文件对应 B是这个服务器的IP地址, C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口, D是在leader挂掉时专门用来进行选举leader所用的端口。
端口说明: 1、2181:对cline端提供服务 2、3888:选举leader使用 3、2888:集群内机器通讯使用(Leader监听此端口)
3、创建myid文件
[root@linux-node1 zookeeper-3.4.5-cdh5.7.0]# cd /usr/local/zookeeper/ [root@linux-node1 zookeeper]# echo 1 > myid
4、我这里直接把配置好的zookeeper拷贝到另外两台服务器,值需要改一下myid文件(1对应192.168.56.11,2对应192.168.56.12,3对应192.168.56.13)
[root@linux-node1 zookeeper]# pwd /usr/local/zookeeper [root@linux-node1 zookeeper]# scp -r zookeeper-3.4.5-cdh5.7.0 root@192.168.56.12:/data/ [root@linux-node1 zookeeper]# pwd /usr/local/zookeeper [root@linux-node1 zookeeper]# scp -r zookeeper-3.4.5-cdh5.7.0 root@192.168.56.13:/data/
5、添加环境变量(都需要执行)
cat<<EOF>>/etc/profile export ZK_HOME=/usr/local/zookeeper export PATH=\$ZK_HOME/bin:$PATH EOF
source /etc/profile
6、启动zookeeper
[root@linux-node1 zookeeper]# /usr/local/zookeeper/bin/zkServer.sh start
7、每一台都启动成功或查看
到此集群搭建完成。
如果想改日志存储路径参考如下:
修改log位置 mkdir -p /data/zookeeper/logs vi /usr/local/zookeeper/bin/zkEnv.sh ZOO_LOG_DIR="/data/zookeeper/logs" ZOO_LOG4J_PROP="INFO,ROLLINGFILE" vi /usr/local/zookeeper/conf/log4j.properties zookeeper.root.logger=INFO, ROLLINGFILE zookeeper.log.dir=/data/zookeeper/logs