Docker安装Redis集群,无中心节点方式解决方案RedisCluster
下载镜像(这个是mukewang的老是封装好的,拿来即用)[root@localhost ~]# docker pull yyyyttttwwww/redis#重命名[root@localhost ~]# docker tag yyyyttttwwww/redis redis#删除长名字的redis,以免后面干扰[root@localhost ~]# docker rmi -f yyyyttttw
·
下载镜像
(这个是mukewang的老是封装好的,拿来即用)
[root@localhost ~]# docker pull yyyyttttwwww/redis
#重命名
[root@localhost ~]# docker tag yyyyttttwwww/redis redis
#删除长名字的redis,以免后面干扰
[root@localhost ~]# docker rmi -f yyyyttttwwww/redis
创建net2网段
(我的mysql集群使用了net1,所以这里就使用一个新的网段)
[root@localhost ~]# docker network create --subnet=172.19.0.0/16 net2
创建6节点Redis容器
[root@localhost ~]# docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
[root@localhost ~]# docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash
[root@localhost ~]# docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash
[root@localhost ~]# docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash
[root@localhost ~]# docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash
[root@localhost ~]# docker run -it -d --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash
进入节点r1(后面几个节点以此类推)
[root@localhost ~]# docker exec -it r1 bash
配置Redis节点
#以后台节点运行128行左右(完整版的行数信息)
daemonize yes
#开启集群721行左右
cluster-enabled yes
#集群配置文件729行左右
cluster-config-file nodes-6379.conf
#集群超时时间
cluster-node-timeout 15000
#开启AOF模式(持久化方式,可用于恢复)
appendonly yes
使用编辑器编辑,对比上面的编辑就行(因为这个是已经封装好的,基本上不需要修改)
root@1f6a080bff27:/# vi /usr/redis/redis.conf
进入编辑区,使用斜杆后面跟查找内容的方式查找,示例 /daemonize 然后改成和上面的意义就行了,后面几项以此类推,完成后输入 :wq 退出.
进入目录
#寻找目录
root@1f6a080bff27:/# cd /usr/redis/src
#启动
root@1f6a080bff27:/usr/redis/src# ./redis-server ../redis.conf
退出容器
root@1f6a080bff27:/usr/redis/src# exit
同理操作其余几个节点镜像,到这里配置结束.
创建集群(这个镜像已将用ruby脚本写好了的,所以执行一下命令即可)
[root@localhost ~]# docker exec -it r1 bash
root@1f6a080bff27:/# cd /usr/redis/
root@1f6a080bff27:/usr/redis# mkdir cluster
root@1f6a080bff27:/usr/redis# cd src
root@1f6a080bff27:/usr/redis/src# cp redis-trib.rb ../cluster
root@1f6a080bff27:/usr/redis/src# ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379
执行后
输入yes后,看到下面就成功了,成功后,exit命令退出r1容器
测试安装结果
那再测试一下(当然使用redis可视化客户端测试也行)
[root@localhost ~]# docker exec -it r1 bash
#连接集群
root@1f6a080bff27:/# /usr/redis/src/redis-cli -c
127.0.0.1:6379> set name zhangxiaoxiang
-> Redirected to slot [5798] located at 172.19.0.3:6379
OK
172.19.0.3:6379> get name
"zhangxiaoxiang"
172.19.0.3:6379>
解释一下(127.0.0.1:6379> info 查看版本信息,这个版本是3.2.3的,不是很新)
更多推荐
已为社区贡献6条内容
所有评论(0)