环境:
centos7
redis:7.0.5 三主三从,六个节点
一、下载redis镜像
docker pull redis:7.0.5
二、创建虚拟网卡
docker network create redis-cluster
# 查看创建的Docker网卡
docker network ls
网卡类型为bridge桥接类型
三、准备redis配置文件 redis.conf
port ${port}
requirepass 123456
masterauth 123456
bind 0.0.0.0
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 服务器ip地址
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
配置解释:
-
port
:节点端口; -
requirepass
:设置密码,访问时需要验证 - masterauth: 设置主从复制密码
-
protected-mode
:保护模式,默认值 yes,即开启。开启保护模式以后,需配置bind ip
或者设置访问密码;关闭保护模式,外部网络可以直接访问; -
daemonize
:是否以守护线程的方式启动(后台启动),默认 no; -
appendonly
:是否开启 AOF 持久化模式,默认 no; -
cluster-enabled
:是否开启集群模式,默认 no; -
cluster-config-file
:集群节点信息文件; -
cluster-node-timeout
:集群节点连接超时时间; -
cluster-announce-ip
:集群节点 IP-
注意:
如果你想要你的redis集群可以供外网访问,这里需要填写服务器的外网IP地址 - 如若为了安全,只是在服务器内部进行访问,那么就填写服务器的内网IP地址,外网客户端重定向到该内网IP就无法访问
-
-
cluster-announce-port
:集群节点映射端口; -
cluster-announce-bus-port
:集群节点总线端口。 - 注意,关于Redis Cluster 集群官网两个TCP端口的说明:
将确认端口和服务器ip地址的配置文件放入/home/redis/node-${port}/conf/redis.conf。
例如:
port 6381
requirepass 123456
masterauth 123456
bind 0.0.0.0
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.56.101
cluster-announce-port 6381
cluster-announce-bus-port 16381
四、配置/etc/sysctl.conf
vi /etc/sysctl.conf
在最后一行添加如下配置:
net.core.somaxconn = 10240
vm.overcommit_memory=1
保存后输入:sysctl -p 使配置立即生效。
五、启动容器
docker run -it -d -p ${port}:${port} -p 1${port}:1${port}
\--privileged=true -v /home/redis/node-${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf
\--privileged=true -v /home/redis/node-${port}/data:/data
\--restart always --name redis-${port} --sysctl net.core.somaxconn=10000 --net redis-cluster
\redis:7.0.5 redis-server /usr/local/etc/redis/redis.conf
例如:docker run -it -d -p 6379:6379 -p 16379:16379 --privileged=true -v /home/redis/node-6379/conf/redis.conf:/usr/local/etc/redis/redis.conf --privileged=true -v /home/redis/node-6379/data:/data --restart always --name redis-6379 --sysctl net.core.somaxconn=10000 --net redis-cluster redis:7.0.5 redis-server /usr/local/etc/redis/redis.conf
六、 创建Redis Cluster集群
随意进入一个redis节点:
docker exec -it redis-6379 /bin/bash
进入redis 6379节点之后执行如下命令:
redis-cli -a 之前设置的密码 --cluster create 内网IP地址:6379 内网IP地址:6380 内网IP地址:6381 内网IP地址:6382 内网IP地址:6383 内网IP地址:6384 --cluster-replicas 1
例如:
redis-cli -a 123456 --cluster create 192.168.56.101:6379 192.168.56.101:6380 192.168.56.101:6381 192.168.56.101:6382 192.168.56.101:6383 192.168.56.101:6384 --cluster-replicas 1
出现下图所示表示创建成功:文章来源:https://www.toymoban.com/news/detail-699467.html
文章来源地址https://www.toymoban.com/news/detail-699467.html
到了这里,关于Docker 搭建Redis Cluster 集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!