Hadoop 集群下安装 ZooKeeper 以及 ZooKeeper命令行操作

30 篇文章 0 订阅

Hadoop 集群下安装 ZooKeeper

上传ZooKeeper安装文件

centos01节点中,利用ftp工具将zookeeper-3.4.10.tar.gz上传到/opt/softwares/目录中,并进入该目录,将其解压到目录/opt/modules/文件夹:

tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/modules 

编写配置文件

在ZooKeeper安装目录下新建文件夹dataDir,用于存放ZooKeeper相关数据

在这里插入图片描述

在ZooKeeper安装目录下的conf文件夹中新建配置文件zoo.cfg,加入以下内容

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/opt/modules/zookeeper-3.4.10/dataDir
clientPort=2181

server.1=centos01:2888:3888
server.2=centos02:2888:3888
server.3=centos03:2888:3888
  • initLimit:集群中的Follower服务器初始化连接Leader服务器时能等待的最大心跳数(连接超时时长)。默认为10,即如果经过10个心跳之后Follower服务器仍然没有收到Leader服务器返回信息,则连接失败。这里设置为5,参数tickTime为2000(毫秒),则连接超时时长为 5 × 2000(毫秒)= 10(秒)。
  • syncLimit:集群中的Follower服务器与Leader服务器之间发送消息以及请求/应答时所能等待的最多心跳数,这里设置为 2 × 2000(毫秒)= 4(秒)。
  • server.id=host:port1:port2:标识不同的ZooKeeper服务器。ZooKeeper可以从中读取相关信息。其中id唯一,而且大小应该在1~255之间;host时服务器的名称或IP地址;第一个端口(port1)时Leader端口,即该服务器作为Leader时供Follower连接的端口;第二个端口(port2)是选举端口,即选举Leader服务器时供其他Follower连接的端口。
  • dataDir:ZooKeeper存储数据的目录。
  • clientPort:客户端链接ZooKeeper服务器的端口,接收客户端的请求。

让ZooKeeper识别本机

在配置文件zoo.cfg中的参数dataDir指定的目录(这里为/opt/modules/zookeeper-3.4.10/dataDir)下新建一个名为myid的文件,这个文件仅包含一行内容,即当前服务器的id值,与参数server.id的id相同(这里为1)。ZooKeeper启动时会读取该文件,将其中的数据与zoo.cfg里写入的配置信息进行对比,从而获取当前服务器的身份信息。
在这里插入图片描述

复制ZooKeeper安装信息到其他节点

scp -r /opt/modules/zookeeper-3.4.10/ hadoop@centos02:/opt/modules/
scp -r /opt/modules/zookeeper-3.4.10/ hadoop@centos03:/opt/modules/

修改其他节点配置

将另外两个节点中的myid文件的值修改为相应的数字(2/3)

启动ZooKeeper

分别进入每个节点的ZooKeeper安装目录:

bin/zkServer.sh start

这样就代表成功:
在这里插入图片描述

查看启动状态

分别进入每个节点的ZooKeeper安装目录:

bin/zkServer.sh status

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,ZooKeeper在选举后,选举centos02为leader,centos01和centos03为follower

测试客户端连接

在任意节点上的ZooKeeper安装目录上输入:

bin/zkCli.sh -server centos01:2181

然后就进入了ZooKeeper命令行模式:

ZooKeeper命令行操作

跟Linux命令行操作差不多

查询节点列表

ls /

在这里插入图片描述
可以看到,当前根目录有一个名为“zookeeper”的znode节点

创建节点

例如:

在根目录创建一个名为“zk”的znode以及在它上面存放的元数据字符串为“myData”:

create /zk "MyData"

在这里插入图片描述
也可以在某一个节点下创建子节点。例如,在上面创建的“zk”节点下新建节点“node1”,并关联其元数据为“childData”:

create /zk/node1 "childData"

在这里插入图片描述
在这里插入图片描述

注意:创建节点是必须知指定节点中存放的元数据字符串,否则节点创建失败。若执行命令时没有返回任何信息,则说明该节点创建失败。例如:
在这里插入图片描述

查看节点详细信息

例如,查看节点“zk”的详细信息:

get /zk

在这里插入图片描述

在这里插入图片描述

修改节点

例如,将节点“/zk”所关联的字符串修改为“MyDataUpdate”:

set /zk "MyDataUpdate"

在这里插入图片描述
其他信息可以和上图对比着看

删除节点

例如,删除“/zk/node1”:

delete /zk/node1

在这里插入图片描述
注意,删除节点时,如果该节点有子节点,则需要先删除子节点,才能删除他的该节点。如上图所示。

终止ZooKeeper

分别进入每个节点的ZooKeeper安装目录:

bin/zkServer.sh stop

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值