一、安装zookeeper单点模式
1、zookeeper安装前,需安装jdk,linux下jdk安装方式自己解决。
2、去官网下载zookeeper安装包,将tar.gz文件解压到你的安装目录。进入zookeeper的conf目录,将zoo_sample.cfg改成zoo.cfg。将zoo.cfg的内容配置成如下
tickTime=2000 # Zookeeper服务器心跳时间,单位毫秒 。
initLimit=5 # 投票选举新leader的初始化时间。
syncLimit=2 # Leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
dataDir=/home/xuer/zookeeper # 数据持久化路径 。
dataLogDir=/home/xuer/zookeeper/logs # 日志保存路径,这个一定自己先建好,否则可能会出错 。
clientPort=2181 # 连接端口。
dataDir会自动生成,但是dataLogDir目录记得自己手动建,不手动创建会导致启动失败。
3、启动zookeeper,进入zookeeper的bin目录,运行如下命令:
./zkServer.sh start #启动zookeeper命令
./zkServer.sh status #查看zookeeper启动状态
如果zookeeper的状态是Standalone,则zookeeper单点模式配置成功。
二、安装zookeeper集群模式
1、执行单点模式的第一步,第二步后,继续往zoo.cfg最后添加配置文件,添加内容如下
#zookeeper集群各节点的ip信息,端口不要随意改动,ip随便配置。
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
2、在zookeeper的dataDir=/home/zookeeper目录下新建一个文件myid,host1机器上的内容为1,host2机器上为2,host3机器上为3。具体哪台机器上为几,看zoo.cfg的配置server.x=host,host机器上的myid的内容为x。
3、每台机器上都启动zookeeper,查看zookeeper的状态可以看到是leader还是follower,否则就配置失败。
三、几点注意的地方
1、注意zookeeper集群节点数为奇数台,即3台,5台……
2、zookeeper集群启动时,最好集群每个节点都在同一时间内启动,因为他们要选举leader。
也许当第一次zookeeper集群启动的时候,会提示:Cannot open channel to 3 at election address /192.168.0.93:3888
java.net.ConnectException: Connection refused
在网上找了相关的资料,说这个异常可以忽略,原因是还有节点没有启动zookeeper,全部启动之后,自然就不会出异常了。通过日志观察发现,这些异常信息确实都在启动的时候报出的,后面zookeeper就都能连接了。
url: http://blog.csdn.net/jingling_zy/article/details/7297643
3、先关闭防火墙,防火墙也会影响zookeeper之间的连接。也许会报can’t connection的错误。在生产环境中,要开放有关zookeeper的几个端口。