opil 发表于 2015-10-13 08:43:37

基于Docker部署codis

基于Docker部署codis
  本文章简单介绍基于docker来部署codis.关于codis相关资料请查看
github codis项目
codis中文手册
目录
  

[*]基于Docker部署codis

[*]目录

[*]启动zookeeper服务
[*]部署dashboard
[*]初始化 slots
[*]启动 Redis数据库
[*]添加 Redis Server Group
[*]设置 server group 服务的 slot 范围
[*]启动 codis-proxy



  文章基于github官方部署顺序进行,本文中所用docker镜像都在hub.docker.com中能找到。其中
shenshouer/codis-config:2015-09-19-3
shenshouer/codis-proxy:2015-09-19-2
都有详细使用说明
其中还有一个codis-ha的镜像。但由于功能非常有限。本文不在次做示例演示。
后续计划:基于Kubernetes做自动编排、改进codis-ha
启动zookeeper服务
  在启动codis相关服务之前必须先开启zookeeper或者etcd服务,本文基于单个zookeeper例子。
  docker run -d -p 2181:2181 jplock/zookeeper
  我当前测试机容器宿主机ip为192.168.99.100
  测试zookeeper服务
./zkCli.sh -server 192.168.99.100:2181
显示如下:

WatchedEvent state:SyncConnected type:None path:null


ls


表示OK
部署dashboard
  docker run -t -d -p 18087:18087 -v /Users/goyoo/workspace/docker/codis/linux/dcodis-config/config.ini:/config.ini shenshouer/codis-config:2015-09-19-3 /codis-config -c config.ini dashboard
  此时可以打开codis管理界面,地址:http://<容器宿主机ip>:/admin,在我测试中使用地址为:http://192.168.99.100:18087/admin,打开如下:

初始化 slots
  docker run -t -v /Users/goyoo/workspace/docker/codis/linux/dcodis-config/config.ini:/config.ini shenshouer/codis-config:2015-09-19-3 /codis-config slot init
将提示如下信息表示初始化成功
{
"msg": "OK",
"ret": 0
}
启动 Redis数据库
  本文启动4个redis数据库分成2个group

docker run -p 6379:6379 --name codis-redis1 -d redis
docker run -p 6380:6379 --name codis-redis2 -d redis
docker run -p 6381:6379 --name codis-redis3 -d redis
docker run -p 6382:6379 --name codis-redis4 -d redis

查看当前启动的服务
docker ps,如下图所示:

添加 Redis Server Group
  通过管理界面进行,点击,新建2个group。如下图所示:

  在每个group中点击+Add New Redis instance,添加刚才创建的4个redis实体,添加完成后如下图所示:

设置 server group 服务的 slot 范围
  本例子中将设置编号为的 slot 由 server group 1 提供服务, 编号 的 slot 由 server group 2 提供服务
点击如下图红框所标按钮,进行设置,设置完成之后可点击Slots Status按钮查看当前分配的solt状态

启动 codis-proxy
  docker run -t -d --ulimit nofile=1024:2048 -v /Users/goyoo/workspace/docker/codis/linux/dcodis-config/config.ini:/config.ini shenshouer/codis-proxy:2015-09-19-2 /codis-proxy --cpu=1 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000
  执行完成之后查看web管理页面,如下图所示:

如果Proxy Status状态为offline,可点击右侧按钮 Mark Online,使其上线。
  开始快乐的玩撒吧!
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 基于Docker部署codis