赞
踩
ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。
zookeeper 的主要应用场景如下:
本文主要关注的是zookeeper 的:
主要安装步骤如下:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.10-bin.tar.gz
cd apache-zookeeper-3.5.10-bin
mv zoo_sample.cfg zoo.cfg
./zkServer.sh start
./zkCli.sh -server ip:2181
ls /
ls2 /
stat /path
create -s -e /runoob 0
set /path data
delete path
get / # 获取节点数据
zookeeper 默认情况下是可以未授权访问的, 即客户端在网络可达的情况下可以任意修改zk 的节点信息。
未授权验证方式:
# 使用客户端连接
./zkCli.sh -server ip:2181
# 接下来可以用stat 或者ls 命令访问节点看看是否可以正常访问。
zk节点有如下权限
CREATE: 能创建子节点
READ:能获取节点数据和列出其子节点
WRITE: 能设置节点数据
DELETE: 能删除子节点
ADMIN: 能设置权限
zk节点有如下的认证:
world:默认方式,相当于全世界都能访问
auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
ip:使用Ip地址认证
为ZooKeeper配置相应的访问权限。
方式一:1)增加一个认证用户addauthdigest用户名:密码明文eg.addauthdigestuser1:password12)设置权限setAcl/pathauth:用户名:密码明文:权限eg.setAcl/testauth:user1:password1:cdrwa3)查看Acl设置getAcl/path
方式二:setAcl/pathdigest:用户名:密码密文:权限
连接服务端:
./zkCli.sh -server ip:port
getAcl /
setAcl / ip:1.1.1.1:cdrwa,ip:2.2.2.2:cdrwa,ip:3.3.3.3:cdrwa
setAcl / world:anyone:cdrwa
方法二:
create /test 'test-data' //创建节点
addauth digest xmr:123456 //增加一个认证用户 格式 addauth digest 用户名:密码
setAcl /test auth:xmr:123456:r //对新增加的用户设置权限,r代表只读权限
getAcl /test //获取节点信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。