Storm使用Zookeeper协调集群,由于Zookeeper并不用于消息传递,所以Storm给Zookeeper带来的压力相当低。大多数情况下,单个节点的Zookeeper集群足够胜任,不过为了确保故障恢复或者部署大规模Storm集群,可能需要更大规模节点的Zookeeper集群(对于Zookeeper集群的话,官方推荐的最小节点数为3个)。在Zookeeper集群的每台机器上完成以下安装部署步骤:
1)下载安装Java JDK.
2)根据Zookeeper集群的负载情况,合理设置Java堆大小,尽可能避免发生swap,导致Zookeeper性能下降。
3)下载后解压安装Zookeeper包.
4)根据Zookeeper集群节点情况,创建如下格式的Zookeeper配置文件zoo.cfg:
tickTime=2000 dataDir=/var/zookeeper/ clientPort=2181 initLimit=5 syncLimit=2 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
其中:
- dataDir指定Zookeeper的数据文件目录;
- server.id=host:port:port,id是为每个Zookeeper节点的编号,保存在dataDir目录下的myid文件中;
- zoo1~zoo3表示各个Zookeeper节点的hostname;
- 第一个port是用于连接leader的端口,第二个port是用于leader选举的端口。
5)在dataDir目录下创建myid文件,文件中只包含一行,且内容为该节点对应的server.id中的id编号。
6)启动Zookeeper服务:
可以通过bin/zkServer.sh
脚本启动Zookeeper服务。
7)通过Zookeeper客户端测试服务是否可用:
通过bin/zkCli.sh
脚本启动Zookeeper Java客户端。
配置文件参考:
No Leanote account? Sign up now.