数据库
首页 > 数据库> > docker搭建redis集群

docker搭建redis集群

作者:互联网

一、概览

1、redis集群最少需要6个节点,且redis集群下只有db0,不支持多db。

2、服务器

3、开放端口

# 添加6391端口
firewall-cmd --zone=public --add-port=6391/tcp --permanent

# 刷新防火墙
firewall-cmd --reload

二、创建容器

1、开放以上端口

2、安装镜像

docker pull redis:6.2.5

3、新建目录和配置文件

for port in $(seq 6391 6393); \
do \
mkdir -p /home/apps/redis-node-${port}/{conf,data}
touch /home/apps/redis-node-${port}/conf/redis.conf
cat << EOF >/home/apps/redis-node-${port}/conf/redis.conf
#端口
port ${port} 
bind 0.0.0.0
#启用集群模式
cluster-enabled yes 
cluster-config-file nodes.conf
#超时时间
cluster-node-timeout 5000
# 集群连接地址及端口
cluster-announce-ip 192.168.3.13
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
#集群加密
masterauth 123456
requirepass 123456
EOF
done

4、创建容器并启动

# 循环创建节点
for port in `seq 6391 6393`; do
  docker run -d --name redis-node-${port} --restart=always --privileged=true -v /home/apps/redis-node-${port}/conf/redis.conf:/etc/redis/redis.conf -v /home/apps/redis-node-${port}/data:/data --net=host redis:6.2.5 redis-server /etc/redis/redis.conf
done

三、集群配置

1、集群配置

# 进入某一个容器
docker exec -it redis-node-6391 /bin/bash

# 组建集群
redis-cli -p 6391 -a 123456 --cluster create 192.168.3.13:6391 192.168.3.13:6392 192.168.3.13:6393 192.168.3.14:6391 192.168.3.14:6392 192.168.3.14:6393 --cluster-replicas 1

2、查看集群信息

redis-cli -p 6391 -a 123456

查看节点

cluster nodes

3、测试集群

# 客户端连接,-c 代表连接集群
redis-cli -c -p 6391 -a 123456

四、程序中使用

1、spring boot配置

spring:
  redis:
    password: 123456
    cluster:
      nodes: 192.168.3.13:6391,192.168.3.13:6392,192.168.3.13:6393,192.168.3.14:6391,192.168.3.14:6392,192.168.3.14:6393

五、参考

标签:3.13,6391,redis,192.168,集群,docker,port
来源: https://www.cnblogs.com/edda/p/16268845.html