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

posted @ 2017-08-29 15:38  桃源仙居  阅读(134)  评论(0编辑  收藏  举报