进到/zookeeper-3.3.6/conf下
cp -rp zoo_sample.cfg zoo.cfg
进入到zoo.cfg里面,配置文件参数如下
tickTime=2000 # Zookeeper服务器心跳时间,单位毫秒
dataDir=/home/hadoop/zookeeper # 数据持久化路径
dataLogDir=/home/hadoop/zookeeper/logs # 日志保存路径 这个要自己新建 给改文件夹足够的权限
dataLogDir如果没提供的话使用的则是dataDir。zookeeper的持久化都存储在这两个目录里。 dataLogDir里是放到的顺序日 志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。为了达到性能最大化,一般建议把dataDir和 dataLogDir分到不同的磁盘上,这样就可以充分利用磁盘顺序写的特性。
clientPort=2181 # 连接端口
initLimit=5 # 投票选举新leader的初始化时间。如果zookeeper集群数量很大选举的时间比较的长可以把参数调大一些 ,默认为10
syncLimit=2 #leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer
server.1=namenode:2888:3888
server.2=datanode1:2888:3888
server.3=datanode2:2888:3888
server.4=datanode3:2888:3888
备注:最好用主机名其中2888端口号是zookeeper服务之间通信的端口,而3888是zookeeper与其他应用程序通信的端口。由于jobtracker机器作为hadoop主机存在,故暂不作为zookeeper服务器
新建文件myid(在zoo.cfg 配置的dataDir目录下,此处为/home/hadoop/zookeeper),使得myid中的值与server的编号相同,比如namenode上的myid: 1。datanode1上的myid:2....