1、官网下载安装包http://mirror.bit.edu.cn/apache/zookeeper/
2、解压安装包到/export/servers/目录下(没有这个目录,可以创建一个,如果不喜欢这个目录也可以,在后面的配置对应即可)
执行命令:tar -zxvf zookeeper-3.4.9.tar.gz -C /export/servers/
3、进入/export/servers/目录下建立zookeeper的软连接
执行命令:ln -s zookeeper-3.4.9/ zookeeper
4、配置/etc/profile文件
#set ZK env export ZK_HOME=/export/servers/zookeeper export PATH=$PATH:${ZK_HOME}/bin |
5、让/etc/profile配置文件有效
执行命令:source /etc/profile
6、在${ZK_HOME}/conf目录下配置zoo.cfg文件(没有这个文件可以创建一个)
# 设置时间单元,以毫秒问单位,用它来控制心跳机制,默认情况下的会话超时时间为两倍tickTime tickTime=200
# 此配置表示,允许follower(相当于leader而言的客户端)连接并同步到leader的初始化连接时间,它以tickTime的倍数来表示,当超过了设置的倍数tickTime时间,则连接失败 initLimit=10
# 此配置表示,leader与follower之间发送消息,请求和应答时间长度,如果follwer在设置的时间内不能和leader进行通信,那么此follower将被丢弃 syncLimit=5
# 数据目录,可以是任意目录,其中dataDir和dataLogDir这两个目录要提前建立好 # 注意,应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大的提高系统的性能,如果把日志存储在比较繁忙的存储设备上,将大大影响程度上影响系统性能 dataDir=/export/servers/data/zookeeper
# log目录,可以是任意目录,如果没有设置,将使用dataDir相同的设置,其中dataDir和dataLogDir这两个目录要提前建立好 # 最好是存放在专用的日志系统中 dataLogDir=/export/servers/logs/zookeeper
# 监听client端口号 clientPort=2181
# 这个将限制连接到zookeeper的客户端的数量,限制并发连接数,通过ip地址来区分不同的客户端,此配置选项可以用来阻止某些类别的DOS攻击 # 将它设置为0或者忽略不设置将取消对并发连接的限制 maxClientCnxns=0
# 设置最小会话超时时间和最大会话超时时间 # 其中,最小会话超时时间默认是tickTime的两倍 # 最大会话超时时间默认是tickTime的20倍 minSessionTimeout=4000 maxSessionTimeout=10000
# server.X=A:B:C其中X表示一个数字,表示这是几号server,A是该server所在的IP地址,B配置该server和集群中的leader交换信息所使用的端口,C配置选举leader所使用的端口 # 在之前设置的dataDir中新建myid文件(不是文件夹),写入一个数字,该数字表示这个第几号的server,该数字必须和zoo.fig配置文件中的server.X中的X一一对应 server.1=192.168.1.110:2888:3888 server.2=192.168.1.111:2888:3888 server.3=192.168.1.112:2888:3888 |
7、手动创建zookeeper的数据目录和日志目录
执行命令:mkdir -p /export/servers/data/zookeeper/
执行命令:mkdir -p /export/servers/logs/zookeeper/
各个节点都需要创建该目录
8、把zookeeper分发到各个系统之后
执行命令:scp -r zookeeper-3.4.9/storm02:/export/servers/
执行命令:scp -r zookeeper-3.4.9/ storm03:/export/servers/
在各个节点分别执行3、4、5步骤
9、分别在各个节点上创建myid(就是server.X中的X)
如果是这样的话server.1=192.168.1.110:2888:3888
那么在该IP地址下的主机上dataDir=/export/servers/data/zookeeper目录下创建一个myid文件(不是文件夹)
文件中的内容是1
其他节点也相同:server.2=192.168.1.111:2888:3888
那么该/export/servers/data/zookeeper目录下的myid文件内容是2
所有节点都需要配置
10、启动ZK集群
依次在各个节点上输入zkServer.sh start
查看是否启动,zkServer.sh status