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

时间:2023-03-08 18:12:37
阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

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

1 节点环境介绍:

1.1 环境介绍:

1.2 各节点角色分配

  • master: NameNode、SecondaryNameNode、QuorumPeerMain
  • slave1: DataNode、QuorumPeerMain
  • slave2: DataNode、QuorumPeerMain

2 ZooKeeper 下载

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

/usr/local/

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

cd /usr/local
mv zookeeper-3.4. zookeeper

3 添加 ZooKeeper 环境变量

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

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

重新加载环境:

source /etc/profile

4 修改 Zookeeper 配置信息

4.1 修改 Zookeeper 默认配置

编辑文件:

 cd $ZOOKEEPER_HOME/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

配置可参考如下代码:

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

4.2 为节点配置编号

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

 cd $ZOOKEEPER_HOME
mkdir tmp
cd tmp
vim myid

添加内容:

1

5 分发配置给各节点

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

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

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

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

6 启动 zookeeper

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

zkServer.sh start

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

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

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

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

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

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

7 Zookeeper shell 使用

zkCli.sh

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

8 搭建完成

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

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