部署环境 centos6.5 zookeeper-3.4.6(当时安装时并未安装jdk,也能正常启动)
zookeeper下载地址http://zookeeper.apache.org/
1.给计算机取个别名
修改/etc/hosts文件,在最下面添加(serverName要是唯一的,不能有重复)
192.168.x.xxx serverName
2.将下载好的zookeeper放到/home/name下并解压
3.在/home/name/zookeeper-3.4.6下面创建data与logs两个目录
4.修改/home/name/zookeeper-3.4.6/conf下面的zoo_sample.cfg文件(最好先做好备份)
把文件中的dataDir路径改为/home/name/zookeeper-3.4.6/data
新增dataLogDir路径改为/home/name/zookeeper-3.4.6/logs
最后增加server.1=serverName:2888:3888
保存之后把文件名改为zoo.cfg。
2888端口号是zookeeper服务之间通信的端口而3888端口是zookeeper与其他应用程序通信的端口
server.A=B:C:D 其中A是一个数字,表示这是第几号服务器。B是这台服务器的IP地址。C表示这台服务器与集群中的Leader服务器交换信息的端口。D表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于B都是一样,所以不同的zookeeper实例通信端口号不能一样,所以要给他们分配不同的端口号。
5.在/home/name/zookeeper-3.4.6/data下面创建myid文件,文件内容就是1.
6.添加环境变量
修改/home/name/.bash_profile。在最下面添加
export ZOOKEEPER_HOME=/home/name/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH
保存之后执行source /home/name/.bash_profile 使配置文件生效
7.在防火墙中打开2181 2888 3888端口
编辑/etc/sysconfig/iptables在里面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
8.配置zookeeper在服务器启动时就启动
编辑/etc/rc.local。在最下面添加
su - name -c '/home/name/zookeeper-3.4.6/bin/zkServer.sh start'