基于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
[zk: 192.168.99.100:2181(CONNECTED) 0]
[zk: 192.168.99.100:2181(CONNECTED) 0]
[zk: 192.168.99.100:2181(CONNECTED) 0] ls
[zk: 192.168.99.100:2181(CONNECTED) 1]

表示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>:[18087]/admin,在我测试中使用地址为:http://192.168.99.100:18087/admin,打开如下:
基于Docker部署codis_第1张图片

初始化 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,如下图所示:
基于Docker部署codis_第2张图片

添加 Redis Server Group

通过管理界面进行,点击这里写图片描述,新建2个group。如下图所示:

在每个group中点击+Add New Redis instance,添加刚才创建的4个redis实体,添加完成后如下图所示:
基于Docker部署codis_第3张图片

设置 server group 服务的 slot 范围

本例子中将设置编号为[0, 511]的 slot 由 server group 1 提供服务, 编号 [512, 1023] 的 slot 由 server group 2 提供服务
点击如下图红框所标按钮,进行设置,设置完成之后可点击Slots Status按钮查看当前分配的solt状态
基于Docker部署codis_第4张图片

启动 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,使其上线。

开始快乐的玩撒吧!

你可能感兴趣的:(redis,github,数据库,zookeeper,docker)