文章目录
1. 分布式(集群)安装部署
分发安装包
xsync zookeeper-3.4.14
配置服务器编号
创建zkData
mkidr -p zkData
创建一个myid文件,并写入服务器号2
touch myid
vi myid
---
2
分发到其他服务器,修改其他服务器的编号
xsync myid
配置zoo.cfg文件
在配置中增加服务器信息
vi zoo.cfg
---
#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
启动并查看服务器mode
开启服务
bin/zkServer.sh start
查看状态
bin/zkServer.sh status
可以看到hadoop102
是第一个启动的,hadoop103
第二个启动
2. 客户端命令操作
命令语法 | 功能描述 |
---|---|
help | 显示所有操作命令 |
ls path [watch] | 使用ls命令来查看当前znode中所包含的内容 |
ls2 path [watch] | 查看当前节点数据并能看到更新次数等数据 |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) |
get path [watch] | 获得节点的值 |
set | 设置节点的具体值 |
get | 查看节点的状态 |
delete | 删除节点 |
rmr | 递归删除节点 |
2.1创建/删除节点
创建普通节点
创建节点时必须输入数据不然创建失败,单节点创建
多级节点创建
查看二级目录最后不能有/
创建临时节点
加-e
断开连接重新连接后,临时节点消失
创建有序号节点
加-s
,默认从当前节点的节点数开始,如果当前节点下没有节点,从零开始
删除节点
delete
删除所有节点,rmr
递归删除所有节点
2.2获取节点信息
2.3 修改节点的值
修改节点的值,dataVersion改变了
2.4 监听
值修改监听
现在hadoop102
上监听2ndznode
节点,在hadoop103
上修改节点,hadoop102
上会收到节点同步信息。监听一次只会收到一次消息,第二次消息不会监听到
路径修改监听
在hadoop102
中增加路径监听,在hadoop103
中修改,会收到消息
2.5 Acl权限控制
zookeeper
的 access control list
访问控制列表可以做到这一点
acl
权限控制,使用scheme:id:permission
来标识,主要涵盖3个方面:
- 权限模式(
scheme
):授权的策略 - 授权对象(
id
):授权的对象 - 权限(
permission
):授予的权限
权限 | ACL简写 | 描述 |
---|---|---|
create | c | 可以创建子结点 |
delete | d | 可以删除子结点(仅下一级结点) |
read | r | 可以读取结点数据以及显示子结点列表 |
write | w | 可以设置结点数据 |
admin | a | 可以设置结点访问控制权限列表 |
授权命令
命令 | 使用方式 | 描述 |
---|---|---|
getAcl | getAcl | 读取ACL权限 |
setAcl | setAcl | 设置ACL权限 |
addauth | addauth | 添加认证用户 |
授权方式
授权方式 | 命令 |
---|---|
wrold | world模式下只有anyone这一个用户,setAcl /node world:anyone:cdrwa |
ip | 给ip地址的服务器权限setAcl /node ip:ip地址:cdrwa ,通过冒号连接两组授权语句,实现多个ip授权 |
auth认证模式 | 先添加用户设置用户名和密码addauth digest <user>:<password> 设置权限setAcl <path> auth:<user>:<acl> |