通过命令行API,实验两个客户端对同一Zookeeper服务znode节点的监听;其中一个节点改变znode节点内容,另一个节点接受到Zookeeper传来的事件信息。

1、开启zookeeper集群并分别进入zookeeper的安装目录下,我的服务器分别为hadoop1、hadoop2和hadoop3

2、在hadoop1中开启客户端,监听hadoop1的端口号2181,输入:

./bin/zkCli.sh -server hadoop1:2181

这里可能会出错,原因是你所在的目录下没有./bin/zkCli.sh文件, 输入此命令行时应该在bin目录的上一层目录下。

3、创建永久无序节点,在hadoop1刚刚开启的客户端中,输入:

create /zookeeper/mytest "myzookeeper"


创建节点格式: 

        创建永久节点:(节点内容可以不填,默认为null)
            无序:create 节点路径 "节点内容" 例如:create /work/houduan "springboot"
            有序:create -s 节点路径 "节点内容"
        创建临时节点:
            无序:create -e 节点路径 "节点内容"
            有序:create -e -s 节点路径 "节点内容"
注意: 节点内容只能是连续的字符串,中间不能有空格!!!不然会报下面的错误:

 

4、分别在hadoop2和hadoop3中开启客户端,输入:

./bin/zkCli.sh -server hadoop1:2181
用hadoop2监听节点:/zookeeper/mytest,输入:
get -w /zookeeper/mytest

 会自动弹出节点的值

用hadoop3修改节点的值,输入:

set /zookeeper/mytest "ischanged"

 此时,hadoop2监听到节点的变化,但不会输出变化后的节点值,而且监听只会监听一次,再次修改节点的值,hadoop2不会有反应。

 输入:get /zookeeper/mytest,可以查看节点变化后的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过ZooKeeper来修改Hadoop集群中的节点配置信息,你需要使用ZooKeeper作为统一的配置管理服务,并在每个节点上配置相应的监听器以侦听配置更改并动态更新节点配置。 以下是一般步骤: 1. 配置ZooKeeper:首先,确保你的Hadoop集群中已经正确配置了ZooKeeper。这涉及到在Hadoop的配置文件中设置ZooKeeper的连接信息,例如`core-site.xml`或`hdfs-site.xml`。 2. 创建ZooKeeper节点:使用ZooKeeper客户端创建一个特定的ZooKeeper节点,用于存储和管理配置信息。例如,你可以创建一个名为`/hadoop/config`的节点。 3. 在每个节点上配置监听器:在每个Hadoop节点上配置一个监听器,以侦听ZooKeeper节点上配置信息的更改。你可以使用Hadoop的`Configuration`类来实现这一点。在每个节点上的Hadoop配置文件中,设置`Configuration`类以侦听`/hadoop/config`节点的更改。 4. 修改配置信息:通过ZooKeeper客户端修改`/hadoop/config`节点上的配置信息。这将触发监听器,并将新的配置信息动态应用到每个节点。 5. 重启相关服务:对于某些配置更改,可能需要重启相关的Hadoop服务(例如NameNode、DataNode、ResourceManager等)以使更改生效。这取决于具体的配置更改。 通过以上步骤,你可以使用ZooKeeper来修改一个节点的配置信息,并实现同步更新所有节点的配置信息。请注意,这需要适当的配置和编码来实现监听器和动态配置更新。确保在操作之前备份任何重要的配置文件,并在执行更改之前进行充分的测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值