docker方式安装redis集群

准备工作
确保你已经安装了 Docker ,和6台服务器(6个节点)
创建 Redis 集群

  1. 创建目录结构
    在主机上创建必要的目录用于存储数据和配置文件。
mkdir -p /data/redis/{node1,node2,node3,node4,node5,node6}/data
  1. 创建基本的 redis.conf 文件
    创建一个基本的 redis.conf 文件,这个文件将被复制到每个节点中并根据需要修改。
cat > /data/redis/redis.conf <<EOF
port 6379
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.18.115.139
cluster-announce-port 6379
cluster-announce-bus-port 16379
requirepass S@ssw0rd!
masterauth S@ssw0rd!
dir /data
save 300 1
save 60 10
save 10 10000
dbfilename dump.rdb
rdbcompression yes
EOF

启动单个redis命令

docker run --name redis-node1 -p 6379:6379 -v /data/redis/node1/data:/data -v /data/redis/redis.conf:/usr/local/etc/redis/redis.conf redis:7.4.0 redis-server /usr/local/etc/redis/redis.conf

... (重复上述命令启动其他节点)

  1. 修改配置文件
    对于每个节点,你需要修改 redis.conf 文件中的 cluster-announce-ip 和 cluster-announce-port 设置,以正确地广播它们自己的 IP 地址和端口。
sed -i 's/bind 0.0.0.0/bind 0.0.0.0\ncluster-announce-ip 127.0.0.1\ncluster-announce-port 6379/g' /data/redis/redis.conf

... (重复上述命令修改其他节点的配置)

如果你在 Docker 容器内部修改配置,需要使用 docker exec 命令。

  1. 创建集群
    使用 redis-trib.rb 脚本创建集群。你需要在 Docker 容器内运行此脚本,或者将脚本拷贝到宿主机上执行。

在宿主机上创建集群

redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1  -a S3cr3tP@ssw0rd!
  1. 验证集群状态
    检查集群的状态是否正常。

docker exec -it redis-node1 redis-cli -c -h 127.0.0.1 -p 6379
INFO cluster
这将显示集群的信息,包括每个槽的状态等。

posted @ 2024-08-01 16:43  大葱丁  阅读(42)  评论(0编辑  收藏  举报