zookeeper及其在codis中的应用简介

一、zookeeper有什么用?

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集, [1] 提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

ZooKeeper提供c接口:《Zookeeper C API 指南》

二、zookeeper简单使用

  1. zookeeper服务的开启、停止及状态查询
cd $zookeeper_Home
./bin/zkServer.sh start #开启
./bin/zkServer.sh status #状态
./bin/zkServer.sh stop #停止

在状态查询中,如果显示 Mode: standalone,则表示为单机模式。集群模式需要在./conf/zoo.cfg中配置server1,server2,…servern3的IP地址,及客户端端口和选举端口。

  1. zookeeper客户端连接
./bin/zkCli.sh #客户端连接2181端口
  1. zookeeper节点管理
ls /
create /zkPro mydata   #创建节点
ls /
get /zkPro       
set /zkPro mydata123	#设置
delete /zkPro	#删除节点

zookeeper的简单使用见博文《Zookeeper入门看这篇就够了》
zookeeper的常用命令《zookeeper常用命令》

三、一些问题

1. 权限管理

《zookeeper的ACL权限控制》
个人理解digest是比auth方式更加安全的一种方式,digest需要把密码经过sha1加密和base64编码。
addauth可以说是添加认证,其实也就是登陆。

2. zookeeper在codis中的使用

codis集群利用到了zookeeper。
codis各组建中有两个需要配置zookeeper,一个是proxy,一个dashboard。
其中proxy把代理节点信息注册到/jodis节点下, dashboard把缓存集群的一系列信息注册到/codis节点下。
jodis下的信息如下:
jodis
其中的codis-test是集群名称。
codis下的信息如下:
在这里插入图片描述
在这里插入图片描述
以上截图可以看到jodis和codis配置了Acl权限,配置方法就是编辑proxy.toml中的jodis_auth和dashboard.toml中的coordinator_auth。
格式为 “user:passwd”
如果不做配置,则jodis节点和codis节点的Acl为world。
生产环境中,codis的zookeeper被扫描到安全问题,应对策略为根目录添加ip白名单,codis集群添加digest认证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值