2.Zookeeper安装
0.系统版本信息
OS:Debian8.2 Zookeeper:3.4.10 JDK:1.8.0_181
主机信息
192.168.74.131 master 192.168.74.133 slave1 192.168.74.134 slave2 192.168.74.135 slave3
1.在每台机器上安装好jdk并配置好环境变量
参考上篇hadoop安装
2.在master上安装zookeeper
A:下载zookeeper-3.4.10
wget某个版本http://mirror.bit.edu.cn/apache/zookeeper/
一定要下载带有bin的那个文件,不带bin的需要自己编译
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10-bin.tar.gz
B:解压并移动到指定目录
tar zxvf zookeeper-3.4.10.tar.gz mv zookeeper-3.4.10/ /home/hadoop/opt/
C:配置环境变量
sudo vim /etc/profile #Set Zookeeper Path export ZOOKEEPER_HOME=/home/hadoop/opt/zookeeper-3.4.10 export PATH=$PATH:$ZOOKEEPER_HOME/bin #立即生效 source /etc/profile
D:配置zoo.cfg
cd /home/hadoop/opt/zookeeper-3.4.10/conf cp zoo_sample.cfg zoo.cfg vim zoo.cfg dataDir=/home/hadoop/opt/zookeeper-3.4.10/data server.0=master:2888:3888 server.1=slave1:2888:3888 server.2=slave2:2888:3888 server.3=slave3:2888:3888
server.X=A:B:C
- X是一个数字, 表示这是第几号server.
- A是该server所在的IP地址.
- B配置该server和集群中的leader交换消息所使用的端口.
- C配置选举leader时所使用的端口.
若配置的是伪集群模式, 各个server的B, C参数必须不同.若配置的是完全分布模式,因为各server的ip,端口本身不一致,因此各server的B,C可以设置的完全一致。我的配置如上图。master,slave1,slave2, slave3是4个server的主机名
E:建立zookeeper数据文件夹
Step1:在上面提到的地址/opt/hadoop/zookeeper-3.4.910中建立一个tmp文件夹,在tmp下建一个zookeeper文件夹。
Step2:在zookeeper中建立一个myid的文件,添加内容“1”,注意:myid中需要写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应,即对于上图的设置,master中的myid添加数字“0”,slave1中的myid添加数字“1”,slave2中的myid添加数字“2”,slave3中的myid添加数字“3” 。
cd /home/hadoop/opt/zookeeper-3.4.10 mkdir data cd data vim myid 接下来,写入数字1,保存退出即可
3.拷贝master上的zookeeper到其他slave节点,前提是已经配置好ssh免密码登录
scp -r /home/hadoop/opt/zookeeper-3.4.10 hadoop@slave1:/home/hadoop/opt/ scp -r /home/hadoop/opt/zookeeper-3.4.10 hadoop@slave2:/home/hadoop/opt/ scp -r /home/hadoop/opt/zookeeper-3.4.10 hadoop@slave3:/home/hadoop/opt/ ##拷贝完成之后修改环境变量zookeeper /etc/profile sudo vim /etc/profile export ZOOKEEPER_HOME=/home/hadoop/opt/zookeeper-3.4.10 export PATH=$PATH:$ZOOKEEPER_HOME/bin #立即生效 source /etc/profile ## 拷贝完成之后修改/home/hadoop/opt/zookeeper-3.4.10/data/myid 分别对应的机器2,3,4
4.启动验证
在全部节点上执行下面的操作开启服务,在相应安装目录的bin目录下
cd /home/hadoop/opt/zookeeper-3.4.10/bin zkServer.sh start //启动进程 zkServer.sh status //查看进程及其扮演的角色 zkServer.sh stop //停止进程 ##注意的是必须所有节点进程全部启动完毕之后,才可以使用zkServer.sh status 命令查询状态 #在maser机器上编写集群的启动和停止脚本文件,前提是master已经可以免登录到各台slave主机 vim zookeeper-start.sh #!/bin/sh echo "start zookeeper server..." hosts="slave1 slave2 slave3" /home/hadoop/opt/zookeeper-3.4.10/bin/zkServer.sh start for host in $hosts do ssh $host "source /etc/profile; /home/hadoop/opt/zookeeper-3.4.10/bin/zkServer.sh start" done vim zookeeper-stop.sh #!/bin/sh echo "start zookeeper server..." hosts="slave1 slave2 slave3" /home/hadoop/opt/zookeeper-3.4.10/bin/zkServer.sh stop for host in $hosts do ssh $host "source /etc/profile; /home/hadoop/opt/zookeeper-3.4.10/bin/zkServer.sh stop" done
5.可能的问题
/etc/hosts中去掉127.0.0.1 localhost
http://www.cnblogs.com/makexu/