zookeeper和kafka常用命令及配置

本文详细解析了Zookeeper的选举机制,包括zxid和myid的作用,以及过半机制。还介绍了Zookeeper的数据模型,如节点大小限制、访问方式和Znode的四种类型。此外,涵盖了客户端操作Znode的方法,如创建、修改、删除及节点属性查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,Zookeeper的选举机制

1:zxid 该数值越大表示数据越新
   2:myid 每个Zookeeper集群中,主机的编号
   3:选举时有个过半机制

二,Zookeeper的数据模型

  1:Zookeeper中存储的数据大小一般不会超过1M
  2:Zookeeper中访问数据只能使用绝对路径
  3:每个 Znode 由 3 部分组成:
    stat:此为状态信息, 描述该 Znode 的版本, 权限等信息
    data:与该 Znode 关联的数据
    children:该 Znode 下的子节点

三,Znode的节点类型

    PERSISTENT:永久节点
    EPHEMERAL:临时节点
    PERSISTENT_SEQUENTIAL:永久节点、序列化
    EPHEMERAL_SEQUENTIAL:临时节点、序列化

四,Znode的节点操作

   1:客户端登录znode

      bin/zkCli.sh -server node02:2181  #方式1
      bin/zkCli.sh                      #方式2


   2:命令操作
     永久节点  
      

create /hello world


     永久序列化
      

create -s /hello world


     临时节点  
      

create -e /hello world


     临时序列化
  

create -s -e /hello world


     
     创建子节点:

create /hello/aaa world  #临时节点不能创建子节点


     修改节点数据

set /hello zookeeper


     删除节点, 如果要删除的节点有子Znode则无法删除

delete /hello


     删除节点, 如果有子Znode则递归删除

rmr /abc


     列出历史记录

histroy


       
     获取节点属性:
 

get  /hello
ephemeralOwner = 0x36d14c88edf0001  #临时节点
ephemeralOwner = 0x0                   #永久节点

当然,在这之前还要配置zookeeper


##下载安装包、解压

tar -zxvf zookeeper-3.4.5.tar.gz
mv zookeeper-3.4.5 zookeeper

##修改环境变量(注意:3台zookeeper都需要修改)

vi /etc/profile
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile

##修改Zookeeper配置文件

cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
添加内容:
dataDir=/root/apps/zookeeper/zkdata
## (心跳端口、选举端口)
server.1=mini1:2888:3888
server.2=mini2:2888:3888
server.3=mini3:2888:3888
创建文件夹:
cd /home/hadoop/zookeeper/
mkdir zkdata
在data文件夹下新建myid文件,myid的文件内容为:
cd zkdata
echo 1 > myid

##分发安装包到其他机器
scp -r /root/apps root@mini2:/root/
scp -r /root/apps root@mini3:/root/

##修改其他机器的配置文件
修改myid文件
到mini2上:修改myid为:2
到mini3上:修改myid为:3

##启动(每台机器)

zkServer.sh start


或者编写一个脚本来批量启动所有机器:
 

for host in "hadoop01 hadoop02 hadoop03"
do
   ssh $host "source/etc/profile;/root/apps/zookeeper/bin/zkServer.sh start"
done

##查看集群状态
jps(查看进程)
zkServer.sh status(查看集群状态,主从信息)

如果启动不成功,查看错误信息进行排查

启动zookeeper:

bin/zkServer.sh start
    1. 启动ZK服务:       sh bin/zkServer.sh start
    2. 查看ZK服务状态: sh bin/zkServer.sh status
    3. 停止ZK服务:       sh bin/zkServer.sh stop
    4. 重启ZK服务:       sh bin/zkServer.sh restart

类外再为各位加上jdk的配置


export JAVA_HOME=/root/apps/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

script.boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值