zookeeper集群搭建

zookeeper集群搭建

  1. ZOOKEEPER安装

在这里插入图片描述

在这里插入图片描述

ZOOKEEPER集群

安装
[hadoop@master ~/soft] t a r − x v f z o o k e e p e r − 3.4.6. t a r . g z [ h a d o o p @ m a s t e r   / s o f t ] tar -xvf zookeeper-3.4.6.tar.gz [hadoop@master ~/soft] tarxvfzookeeper3.4.6.tar.gz[hadoop@master /soft]mv /home/hadoop/soft/zookeeper-3.4.6 /home/hadoop/install
[hadoop@master ~/soft]$cd /home/hadoop/install

修改环境变量
[root@master /home/hadoop]$vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/home/hadoop/install/hadoop-2.7.4
export MYSQL_HOME=/usr/local/mysql
export ZOOKEEPER_HOME=/home/hadoop/install/zookeeper-3.4.6
export HIVE_HOME=/home/hadoop/install/hive
export PS1="[\u@\h \w]$"
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin: M Y S Q L H O M E / b i n : MYSQL_HOME/bin: MYSQLHOME/bin:HIVE_HOME/bin:$ZOOKEEPER_HOME/bin
source /etc/profile

修改配置文件
cd ~/install/zookeeper-3.4.6/conf
vim zoo.cfg
clientPort=2181
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

创建数据目录(三个节点)
[hadoop@master ~/install] m k d i r − p / d a t a / z o o k e e p e r / d a t a [ h a d o o p @ m a s t e r   / i n s t a l l ] mkdir -p /data/zookeeper/data [hadoop@master ~/install] mkdirp/data/zookeeper/data[hadoop@master /install]mkdir -p /data/zookeeper/logs

master:
echo 1 > /data/zookeeper/data/myid
slave1:
echo 2 > /data/zookeeper/data/myid
slave2:
echo 3 > /data/zookeeper/data/myid

chown -R hadoop.hadoop /data/zookeeper

分发安装包
scp -r zookeeper-3.4.6 slave1:~/install/
scp -r zookeeper-3.4.6 slave2:~/install/

启动zkServer(三节点)
zkServer.sh start

命令
zkServer.sh start/stop/status

通过zkCli进入到zkServer里面
zkCli.sh


讲解zk cli shell操作

创建节点(
create 命令
/mynode 节点名字
helloworld 节点数据)
[zk: localhost:2181(CONNECTED) 1] create /mynode “helloworld”
Created /mynode
[zk: localhost:2181(CONNECTED) 2] ls /
[mynode, zookeeper]
[zk: localhost:2181(CONNECTED) 3] ls /mynode
[]
默认创建的永久节点,session断开后,不会被自动删除掉

创建顺序节点
create -s /mynode2 helloword

创建临时节点
create -e /datahehe helloword

创建子节点
[zk: localhost:2181(CONNECTED) 5] create /mynode/mynodechild “hello1”
Created /mynode/mynodechild
[zk: localhost:2181(CONNECTED) 6] create /mynode/mynodechild2 “hello2”
Created /mynode/mynodechild2
[zk: localhost:2181(CONNECTED) 7] create /mynode/mynodechild3 “hello3”

退出
quit

查看节点内数据
[zk: localhost:2181(CONNECTED) 4] get /mynode
“helloworld” ------------->节点数据
cZxid = 0x100000002
ctime = Mon Nov 26 10:15:10 CST 2018
----------------------------------------创建节点的事务ID
mZxid = 0x100000002
mtime = Mon Nov 26 10:15:10 CST 2018
---------------------------------------每次修改znode之后,修改zxid
pZxid = 0x100000002
--------------------------------------表示该节点的子节点列表最后一次被修改时的事务ID(各个子节点内部数据发生变化,是不会变动的)
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 0

合起来叫对象:Stat

删除znode
delete /mynode/mynodechild
delete /mynode
(如果该节点有子节点,删除不掉)

rmr /mynode

修改数据
[zk: localhost:2181(CONNECTED) 5] set /mynode “hello12”

创建另一个 znode
[zk: localhost:2181(CONNECTED) 12] create /znode2 hello
Created /znode2
现在,让我们在 /mysecondnode 验证和检索数据。这一次,我们在最后提供了一个可选参数 1。此参数为 /mysecondnode 上
的数据设置了一个一次性的触发器(名称为 watch)。如果另一个客户端在 /mysecondnode 上修改数据,该客户端将会获得一个
异步通知。请注意,该通知只发送一次,除非 watch 被重新设置,否则不会因数据发生改变而再次发送通知。
在/znode12 上验证和检索数据
[zk: localhost:2181(CONNECTED) 13] get /znode2 1
hello
cZxid = 0x200000035
ctime = Thu Apr 21 09:26:55 CST 2016
mZxid = 0x200000035
mtime = Thu Apr 21 09:26:55 CST 2016
pZxid = 0x200000035
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
现在,从不同的客户端(比如,从不同的机器)更改与 /mysecondnode 有关联的数据的值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值