1.docker拉取镜像
1.1 docker查找镜像
docker search redis
搜索结果如图所示
1.2 拉取镜像
# 拉取redis6.06版本(不填写版本号默认拉取latest)
docker pull redis:6.0.6
下载完成![](https://i-blog.csdnimg.cn/blog_migrate/bf36ff83dd80f88edbbdbfeab596e6d3.png)
2.安装redis集群
本次演示使用三台机子部署3主3从的集群配置,每台机子部署1主1从。(资源有限哈哈哈)
192.168.10.1:6379,192.168.10.2:6379
192.168.10.3:6379,192.168.10.4:6379
192.168.10.5:6379,192.168.10.6:6379
分别进入6台机子
# 创建redis文件夹
mkdir -p /usr/local/docker/redis/data
分别在6台服务器的该文件下新增redis.conf文件(注意在公网环境下的配置需要增加一项cluster-announce-ip=公网ip,不然创建集群时默认会使用内网IP)
# 添加以下配置信息
port 6379
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 20000
----------------------------------------------------------------------
配置说明:
port # 节点端口
protected-mode # 保护模式,默认值 yes,即开启
daemonize # 是否以守护线程的方式启动(后台启动),默认 no;
appendonly # 是否开启 AOF 持久化模式,默认 no;
cluster-enabled # 是否开启集群模式,默认 no
cluster-config-file # 集群节点信息文件
cluster-node-timeout # 集群节点连接超时时间(ms)
接下来就可以创建每个节点的docker容器,以192.168.10.1节点为例,剩余节点同配置都启动
# 创建192.168.10.1节点容器
docker run \
-p 6379:6379 \
-p 16379:16379 \
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/docker/redis/data:/data \
--name redis \
-d redis:6.0.6 redis-server /etc/redis/redis.conf
----------------------------------------------------------------
命令说明
-p 6379:6379 \ #宿主机端口号:容器端口 端口映射
-p 16379:16379 \ #集群通信端口号,在redis端口号上加10000
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \ #宿主机目录:容器目录 redis配置文件挂载
-v /usr/local/docker/redis/data:/data \ #redis数据文件挂载
--name redis \ # 给容器起个名称
-d redis:6.0.6 redis-server /etc/redis/redis.conf #运行容器 并使用配置文件启动容器内的 redis-server
此时如果6个节点都正常启动,就到了部署集群的时候了,先进入192.168.10.1节点进入你的容器
docker exec -it 你的容器id bash
然后执行以下脚本部署集群,以下分别是6个节点。对应你部署6台机子的IP
redis-cli --cluster create --cluster-replicas 1 192.168.10.1:6379 192.168.10.2:6379 192.168.10.3:6379 192.168.10.4:6379 192.168.10.5:6379 192.168.10.6:6379
等待部署完成,很快就会完成的,此时你可在192.168.10.1容器内执行
# 进入redis
redis-cli -p 6379
# 查看集群
cluster nodes
出现集群节点则表示部署成功。
3.给集群配置密码
集群已经好了,redis总得设置个密码吧。
在每个节点的redis.config文件里加上如下配置,当然密码随便(注:下图红字就是为了解决UI连接kafka集群时的内网问题,需要加上你的外网IP),改好的conf文件如下图
requirepass 123456
好的我们需要把节点重启一下,此时你可进入192.168.10.1节点的容器内执行以下语句
# 进入redis
redis-cli -p 6379
# 查看集群
cluster nodes
可以发现显示的是未鉴权
然后输入exit退出,输入密码
redis-cli -p 6379 -a 123456
好了,你的节点就加好密码了。
4.这里肯定还需要一个UI来实时监控Redis的状态,这里我这边用的是RedisInsight。后期有空再补几张图吧。
好了,大功告成,这个redisinsight怎么看的话我就不再赘述了。关于下图slot的东西,在增加节点删除节点时都会涉及slot分配问题。后期如果有时间的话我会再开一篇讲讲怎么增加和删除节点。
毕竟打工狗,还是有好多事情要做的。
另外就是这是第一次写文章,写的不好的不对的也可以提交评论指出。
后续也会根据时间另外更点其他的文章,感谢支持。
参考资料:06-redis集群模式(中) 项目测试的云服务ip变内网等(解决大多数问题)-CSDN博客文章浏览阅读723次。05- redis集群模式搭建(上) (包含云服务器)解决上篇文章操作内的坑 docker版, 着急的直接看结尾405,06号文章配合使用特别提示:Redis集群在进行数据同步和复制时会占用一定的带宽。具体来说,在Redis集群中,每个节点都需要与其他节点进行数据同步和复制,以保证数据的一致性和可靠性。因此,当集群规模较大或者网络环境较差时,Redis集群可能会占用较多的带宽,对网络性能产生一定的影响。https://blog.csdn.net/pingzhuyan/article/details/130659302【精选】docker下搭建redis集群_docker redis集群搭建_Fly丶X的博客-CSDN博客文章浏览阅读5.2k次,点赞5次,收藏47次。准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考这篇博文安装好并启动docker后就可以开始搭建redis了本篇文章我们安装redis6.0.6版本,执行以下命令直接下载redis6.0.6版本镜像安装好后再执行 docker images命令,查看到redis6.0.6镜像则安装成功安装好redis镜像后,此时redis还只是单体,我们需要搭建集群,集群配置如下:回到linux,_docker redis集群搭建
https://blog.csdn.net/weixin_44947701/article/details/128161008