配置zookeeper
我这里有3台虚拟机 ip分别为192.168.142.128、192.168.142.129、192.168.142.130
1.从官网下载stable版本的zookeeper
2.通过tar命令解压,将压缩后的文件放入 /opt 目录 然后 mv 改名 改为 zookeeper
3.修改zookeeper配置文件
* cp zoo_sample.cfg zoo.cfg
复制一份配置文件 并进行修改
dataDir=/var/zookeeper
# the port at which the clients will connect
clientPort=2181
#host:port:port 第一个port是follower服务器 和 leader服务器通信的端口
# 第二个port是follwer与leader选举通信
server.1=192.168.142.128:2888:3888
server.2=192.168.142.129:2888:3888
server.3=192.168.142.130:2888:3888
然后通过 scp
命令 将配置文件拷贝到其他服务器:
scp zoo.cfg root@192.168.142.130:/opt/zookeeper/conf
4.在 /var 目录下创建 zookeeper目录
mkdir /var/zookeeper
这个目录也就是dataDir所定义的目录
其他两台机器也是这样配置
5.在/var/zookeeper目录下创建myid
vim myid
输入 配置文件中对应的server id 比如,128的机器输入 1
6.现在可以启动zk了
进入/opt/zookeeper/bin目录 ./zkServer.sh start|stop
启动或停止服务器
7.验证
需要用到telnet工具 如果没有 通过yum install telnet
来安装
输入telnet 192.168.142.128 2181
后
再输入stat
然后提示 不能提供服务,因为只启动了一台服务器,接下来再启动另一台服务器。
如果启动了第二台zk服务器还是报not currently serving requests
那就是端口没打开
通过以下命令打开端口:
# /sbin/iptables -I INPUT -p tcp --dport 2188 -j ACCEPT
# /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
# /sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
然后 再启动第二个zk服务器,按照上述操作。应该会显示如下: