1.解压zookeeper安装包(本人重命名为zookeeper,并移动到/usr/local路径下),此处只有解压命令
tar -zxvf zookeeper-3.4.5.tar.gz
2.进入到zookeeper文件夹下,并创建data和logs文件夹(一般解压后都有data文件夹)
[root@localhost zookeeper]# cd /usr/local/zookeeper/
[root@localhost zookeeper]# mkdir logs
3.在conf目录下修改zoo.cfg文件(如果没有此文件,则自己新建该文件),修改为如下内容:
最低配置
集群选项
参数名
|
默认 |
描述
|
electionAlg
|
之前的版本中, 这个参数配置是允许我们选择leader选举算法,但是由于在以后的版本中,只有“FastLeaderElection ”算法可用,所以这个参数目前看来没有用了。
|
|
initLimit
|
10
|
Observer和Follower启动时,从Leader同步最新数据时,Leader允许initLimit * tickTime的时间内完成。如果同步的数据量很大,可以相应的把这个值设置的大一些。 |
leaderServes
|
yes | 默 认情况下,Leader是会接受客户端连接,并提供正常的读写服务。但是,如果你想让Leader专注于集群中机器的协调,那么可以将这个参数设置为 no,这样一来,会大大提高写操作的性能。一般机器数比较多的情况下可以设置为no,让Leader不接受客户端的连接。默认为yes |
server.x=[hostname]:nnnnn[:nnnnn]
|
|
“x”是一个数字,与每个服务器的myid文件中的id是一样的。hostname是服务器的hostname,右边配置两个端口,第一个端口用于Follower和Leader之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。 |
syncLimit
|
|
表示Follower和Observer与Leader交互时的最大等待时间,只不过是在与leader同步完毕之后,进入正常请求转发或ping等消息交互时的超时时间。
|
group.x=nnnnn[:nnnnn]
|
|
“x”是一个数字,与每个服务器的myid文件中的id是一样的。对机器分组,后面的参数是myid文件中的ID
|
weight.x=nnnnn
|
“x”是一个数字,与每个服务器的myid文件中的id是一样的。机器的权重设置,后面的参数是权重值
|
|
cnxTimeout |
5s
|
选举过程中打开一次连接的超时时间,默认是5s
|
standaloneEnabled
|
当设置为false时,服务器在复制模式下启动
|
4.进入bin目录,启动、停止、重启分和查看当前节点状态
[root@localhost bin]# ./zkServer.sh start
[root@localhost bin]# ./zkServer.sh stop
[root@localhost bin]# ./zkServer.sh restart
[root@localhost bin]# ./zkServer.sh status