首先奉上本次集群搭建的架构图
具体搭建过程如下(不代表生产,只是自己搭建还未测试qps等参数):
首先:集群各个功能模块机器分配
Codis-server组 192.168.1.80 192.168.1.81 192.168.1.82 Codis-proxy组 192.168.1.153 192.168.1.154 Codis-config 192.168.1.155 Zookeeper组 192.168.1.133 192.168.1.134 192.168.1.135
Codis-config配置如下(默认无需密码):
coordinator=zookeeper zk=192.168.1.133:2181,192.168.1.134:2181,192.168.1.135:2181 product=codis dashboard_addr=192.168.1.155:18087 password=
Codis-proxy配置(均取的默认值,但是proxy_id分别为1和2):
coordinator=zookeeper zk=192.168.1.133:2181,192.168.1.134:2181,192.168.1.135:2181 product=codis dashboard_addr=192.168.1.155:18087 password= session_max_timeout=1800 session_max_bufsize=131072 session_max_pipeline=1024 zk_session_timeout=30000 proxy_id=2
查看codis-config命令集:
集群分配完成,正式开始搭建
第一步:编号上述配置文件后,启动dashbord
bin/codis-config -L ./logs/dashboard.log --log-level=error dashboard &
验证成功,打开浏览器:http://ip:18087/admin
第二步:初始化slot
bin/codis-config slot init &
成功标志:
第三步:启动codis-redis(每个redis机器都要启动)因为我每台redis机器起了两个redis实例,所以
根据端口区别我建立了两个目录6479和6480,每个对应redis实例都在相应目录下,配置除端口外
其他一样
配置如下:
port 6479 dir /usr/local/gowork/src/github.com/CodisLabs/codis/6479 (前面别加点) dbfilename codisdump6479.rdb appendfilename "appendonly6479.aof" maxmemory 1G
启动redis命令和官网其他参数一样,例如:启动6479端口的redis
bin/codis-server ./6479/redis.conf &
第四步:添加redis server group
由架构图可知,我分配了两个group,group_id分别为1,2 由上一步我们一共启动了6个redis实例
添加redis到group命令如下:
Group1 bin/codis-config server add 1 192.168.1.80:6479 master & bin/codis-config server add 1 192.168.1.80:6480 slave & bin/codis-config server add 1 192.168.1.81:6479 slave & Group2 bin/codis-config server add 2 192.168.1.82:6479 master & bin/codis-config server add 2 192.168.1.82:6480 slave & bin/codis-config server add 2 192.168.1.81:6480 slave &
成功标志:
第五步:设置server group的slot范围
注意:codis默认分配1024个slot,不管有几个group,这1024个slot必须分完,不然会报错,及时只有一个
group也要把124个slot分完
$ bin/codis-config slot range-set 0 511 1 online & $ bin/codis-config slot range-set 512 1023 2 online &
第六步:启动codis-proxy
bin/codis-proxy -c config.ini -L ./logs/proxy.log --cpu=2 --addr=192.168.1.153:19000 --http-addr=192.168.1.153:11000 &
至此,codis集群搭建完成,可以在控制台看到集群状况等相关参数
例如,我的集群地址:http://192.168.1.155:18087/admin/
可以观看集群状态,和原来计划一样