zookeeper及其在codis中的应用简介

zookeeper 专栏收录该内容
1 篇文章 0 订阅

一、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认证。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值