ZooKeeper版本:3.4.5
本人环境:虚拟机安装三个Linux工作站
主机名分别为:hadoop/hadoop01/hadoop02
JDK版本:1.7
1:解压
tar -zxvf zookeeper-3.4.5.tar.gz(解压)
2:重命名
mv zookeeper-3.4.5 zookeeper(重命名文件夹zookeeper-3.4.5为zookeeper)
3:修改环境变量
vim /etc/profile(修改文件)
4:重新编译修改的配置文件使其生效
source /etc/profile
注意:以上三台zookeeper都需要修改
接下来便是ZooKeeper环境的配置与修改
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
,(zoo.cfg为实际加载配置文件)
vi zoo.cfg
添加内容
1. dataDir=/home/hadoop/zookeeper/data --注意其他主机路径是否一致
2. dataLogDir=/home/hadoop/zookeeper/log --注意其他主机路径是否一致
3. server.1=hadoop:2888:3888 (主机名, 心跳端口、数据端口)
4. server.2=hadoop01:2888:3888
5. server.3=hadoop02:2888:3888
创建文件夹
cd /home/hadoop/zookeeper/
mkdir -m 755 data
mkdir -m 755 log
在data文件夹下新建myid文件,myid的文件内容为:
cd data
vi myid
添加内容 : 1
将集群下发到其他机器:
scp -r /home/hadoop/zookeeper hadoop@hadoop01:/home/hadoop/
scp -r /home/hadoop/zookeeper hadoop@hadoop02:/home/hadoop/
修改其他机器的配置文件
到hadoop01上:修改myid为:2
到hadoop02上:修改myid为:3
目前为止ZooKeeper已经安装配置完成!!!
启动ZooKeeper前,还要对防火墙做一些配置,不然会导致启动失败.
以iptables为例:
直接修改配置文件:
vi /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
或者对指定端口做临时修改(重启之后失效,此种方式不许重启防火墙.)
iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
重启防火墙:
service iptables restart
查看防火墙端口状态:
service iptables status
以下为成功:
接下来便可启动ZooKeeper
进入zookeeper的目录下 : zkServer.sh start
查看进程 : jps (QuorumPeerMain为zookeeper进程)