1.在三台虚拟机上配置host文件,并重启系统使之生效
#vi /etc/hosts
###ip<--->host###
192.168.2.129 hadoop-1
192.168.2.134 hadoop-2
192.168.2.137 hadoop-3
#reboot
2.在三台虚拟机上开放zookeeper端口,重启防火墙使协议生效
#vi /etc/sysoconfig/iptables
###zookeeper端口####
-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
#service iptables restart
3.在三台虚拟机上配置zookeeper系统变量,执行source命令使其立即生效
#vi /etc/profile
###配置zookeeper系统变量###
ZOOKEEPER_HOME=/usr/local/zookeeper
export ${PATH}=${PATH}:${ZOOKEEPER_HOME}/bin
#source /etc/profile
4.在hadoop-1安装并配置zookeeper
#cd /usr/local
#tar -zxvf zookeeper-3.4.6.tar.gz
#mv zookeeper-3.4.6 zookeeper
#cd zookeeper
#mkdir data
#mkdir logs
#cd data
#touch myid
#echo "1" > myid
#cd ../conf/
#cp zoo_sample.cfg zoo.cfg
###设置data和logs位置###
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
###端口2181保持默认不变###
clientPort=2181
###设置zookeeper集群各节点,server.*表示第一台zookeeper服务器,*与myid文件的内容对应###
server.1=hadoop-1:2888:3888
server.2=hadoop-2:2888:3888
server.3=hadoop-3:2888:3888
5.hadoop-1向hadoop-2和hadoop-3分发配置好的zookeeper
#cd /usr/local
#scp -r zookeeper hadoop-2:/usr/local
#scp -r zookeeper hadoop-3:/usr/local
6.hadoop-2上配置服务对应id
#cd /usr/local/zookeeper/data
#echo "2" > myid
7.hadoop-3上配置服务对应id
#cd /usr/local/zookeeper/data
#echo "3" > myid
8.依次启动Hadoop-1、hadoop-2、hadoop-3上的zookeeper
#cd /usr/local/zookeeper/bin
#./zkServer.sh start
9.启动成功信息
###hadoop-1###
#./zkServer.sh status
###启动成功信息###
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
###hadoop-2###
#./zkServer.sh status
###启动成功信息###
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
###hadoop-3###
#./zkServer.sh status
###启动成功信息###
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader
可以看到有一个leader和两个leader,zookeeper分布式集群中只有一个leader,如果leader出现故障,集群会再推出一个leader
10.通过客户端连接zookeeper
###hadoop-1###
#./zkCli.sh -server hadoop-2:2181
###连接成功信息###
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: hadoop-2:2181(CONNECTED) 0]
Tip:最好是配置好ssh免密码登录,这样安装效率会提高;防火墙一定要开启,不然服务可能起不开,客户端也访问不到。