Zookeeper集群的搭建及介绍

发布时间:2021-07-28 18:02:55 作者:chen
来源:亿速云 阅读:154

本篇内容主要讲解“Zookeeper集群的搭建及介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Zookeeper集群的搭建及介绍”吧!

1.搭建

怎么搭建单机无安全校验的就不说了,百度一搜一大堆。这里我就说说怎么搭建一个生产环境可用的Zookeeper集群

Zookeeper 3.4.13下载地址

Docker方式不太建议,要考虑的东西比较多,如果要用Docker方式还是比较建议自建镜像,假如是Docker专家可以忽略本句。

以下介绍的都是Linux服务器下搭建(Winserver服务器的也是雷同)先操作单机,再copy到其他机器。下载完Zookeeper(下称zk)后,进入zk解压目录下的conf文件夹,zoo_sample.cfg是zk的配置文件实例,Copy一个出来命名为zoo.cfg zk默认会读这个配置。

配置详解:

如需使用Hosts请在每个实例所在的机器设置Hosts(/etc/hosts) 如:zk1 127.0.0.1

下面贴一下我的简单配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/data/zookeeper/data
# the port at which the clients will connect
clientPort=2181

server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk2:2888:3888

2. 启动

zk的脚本都放在zk/bin 目录下

zkServer.sh 服务操作脚本(只介绍常用命令)

# 后台启动
./zkServer.sh start

# 前台启动
./zkServer.sh start-foreground

# 停止
./zkServer.sh stop

# 重启
./zkServer.sh restart

# 查看状态 (其中 Mode代表是Leader节点还是Follow节点)
./zkServer.sh status

zkCli.sh 是zk的客户端,默认连接本机实例,可以通过进入ZkCli后执行ZooKeeper -server host:port cmd args去操作其他远程实例

# 进入zk客户端命令行操作
./zkCli.sh

列举下一些常用命令(其他命令可以)

# 查看根目录下节点
ls /path
get /path
# 查看节点状态/属性
stat /path
# 删除节点
rmr /path
# 删除节点下数据
delete /path [version]

3. 权限验证

zk的权限验证有3种方式,这里只介绍比较常用的两种方式(先搭建好集群,权限设置会同步到整个集群):

第一步:新建节点 (如果给已有节点添加权限可忽略)

create /path "test" #创建节点和别名
1. 通过IP限制
#进入zkCli后的权限验证设置命令 后面会介绍permission参数
setAcl /path ip:192.168.1.1:[permissions]
#也可以是ip段
setAcl /path ip:192.168.0.0/16:[permissions]
#验证 本机校验是通过的。可以用另一个ip段的来验证
ls /path
2. 通过用户+密码控制

这种方式的密码是BASE64(SHA1(原文密码))出来的密文,怎样生成保证成功的密文呢

#通过这个类计算出密文(对应的版本可以从zk/lib目录下看到)
java -cp ./zookeeper-3.4.13.jar:./lib/log4j-1.2.17.jar:./lib/slf4j-log4j12-1.7.25.jar:./lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.auth.DigestAuthenticationProvider test:123456
#test是用户名 password是密码BASE64(SHA1(原文密码))
setAcl /path digest:test:password:[permission]
# 校验是否成功,现在肯定是成功的,但是重新进入zkCli就会失败了
ls /path

#进入zkCli执行addAuth命令,这是类似登录的功能 test是用户名,123456是刚刚的原文
addauth digest test:123456

#然后再执行 ls命令 这时候就成功
ls /path
permission介绍

permission是用cdrwa来表示 如:

setAcl /path digest:test:password:cdw

每个字母分别代表的是:

到此,相信大家对“Zookeeper集群的搭建及介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. zookeeper集群搭建
  2. 四、zookeeper集群的搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

zk zookeeper

上一篇:如何使用Dockerfile定制Java Web镜像

下一篇:vbs中怎么获取当前时间日期

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》