阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 。

 

1 节点环境介绍:

1.1 环境介绍:

1.2 各节点角色分配

2 ZooKeeper 下载

下载 zookeeper-3.4.14.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为:

/usr/local/

将解压得到的目录改名为 zookeeper 。

cd /usr/local
mv zookeeper-3.4.14 zookeeper

3 添加 ZooKeeper 环境变量

在"/etc/profile"中添加内容:

1 export ZOOKEEPER_HOME=/usr/local/zookeeper
2 export PATH=$PATH:$ZOOKEEPER_HOME/bin

重新加载环境:

source /etc/profile

4 修改 Zookeeper 配置信息

4.1 修改 Zookeeper 默认配置

编辑文件:

1 cd $ZOOKEEPER_HOME/conf/
2 cp zoo_sample.cfg zoo.cfg
3 vim zoo.cfg

配置可参考如下代码:

 1 # The number of milliseconds of each tick 通信心跳时间 
 2 tickTime=2000
 3 # The number of ticks that the initial
 4 # synchronization phase can take 初始通信时限
 5 initLimit=5
 6 # The number of ticks that can pass between 
 7 # sending a request and getting an acknowledgement 同步通信时限
 8 syncLimit=2
 9 # the directory where the snapshot is stored.
10 # do not use /tmp for storage, /tmp here is just
11 # example sakes. 数据文件目录
12 dataDir=/usr/local/zookeeper/tmp
13 # the port at which the clients will connect 客户端连接端口
14 clientPort=2181
15 #服务器名称与地址:集群信息(服务器编号、服务器地址、LF 通信端口、选举端口)
16 server.1=master:2888:3888
17 server.2=slave1:2888:3888
18 server.3=slave2:2888:3888

4.2 为节点配置编号

在 /usr/local/zookeeper 下创建目录 tmp,然后在 tmp 下创建文件 myid 并编辑。

1 cd $ZOOKEEPER_HOME
2 mkdir tmp
3 cd tmp
4 vim myid

添加内容:

1

5 分发配置给各节点

分发 zookeeper 和 profile 给 slave1,  slave2(建议将 zookeeper压缩后分发)

1 scp -r /usr/local/zookeeper slave1:/usr/local
2 scp -r /usr/local/zookeeper slave2:/usr/local
1 scp /etc/profile slave1:/etc
2 scp /etc/profile slave2:/etc

分发后分别在各节点重新加载环境。

将 slave1 和 slave2 的内容分别改为 2 和 3 。

6 启动 zookeeper

分别在三个节点执行以下命令

zkServer.sh start

然后使用 jps 确定 QuorumPeerMain 进程是否启动

启动完成后可使用以下命令查看各节点的 zookeeper mode。

注:如只启动了一个节点的 zookeeper 则会出现以下错误,因为最少需要一个 leader 和 一个 follower 。 

7 Zookeeper shell 使用

zkCli.sh

8 搭建完成

接下来就可以和 Hbase 一起使用了。

 

阿里云ECS服务器部署HADOOP集群系列:

 

阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

全文结束