redis集群搭建

docker创建redis专用网络(来自狂神)

docker network create redis --subnet 172.38.0.0/16  #创建专用网段
docker network inspect redis #查看redis网段信息
docker network ls #查看redis全部信息

以下2种方式创建6个节点

  1. 在根目录执行以下命令(去掉注释直接复制粘贴)

cd /mydata/redis目录下查看6个节点

for port in $(seq 1 6);
do
mkdir -p /mydata/redis/node-${port}/conf
mkdir -p /mydata/redis/node-${port}/data
touch /mydata/redis/node-${port}/conf/redis.conf  
cat <<EOF>> /mydata/redis/node-${port}/conf/redis.conf 
port 6379
bind 0.0.0.0                            
cluster-enabled yes                 
cluster-config-file nodes.conf
cluster-node-timeout 5000  
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
  1. 通过sh脚本

#创建在根目录下创建名为redis-node.sh的shell脚本
vim redis-node.sh
#内容如下
#!/bin/sh
for port in $(seq 1 6);
do
mkdir -p /mydata/redis/node-${port}/conf
mkdir -p /mydata/redis/node-${port}/data
touch /mydata/redis/node-${port}/conf/redis.conf
cat <<EOF>> /mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0                             #(生成环境中必须要绑定当前机器的ip,不然会无限悲剧下去哇)
cluster-enable yes                  #(启动集群模式)
cluster-config-file nodes.conf
cluster-node-timeout 5000   #redis节点宕机被发现的时间
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
#保存退出后修改shell脚本文件的权限
chmod 777 redis-node.sh
#执行脚本文件
./redis-node.sh

通过redis创建启动6个redis容器

vim redis-run.sh
#内容如下:
#!/bin/bash
for port in $(seq 1 6);
do
docker run -p 637${port}:6379 -p 1667${port}:16379 --name redis-${port} -v /mydata/redis/node-${port}/data:/data -v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 172.38.0.1${port} redis redis-server /etc/redis/redis.conf
done
#保存退出后修改shell脚本文件的权限
chmod 777 redis-run.sh
#执行脚本文件
./redis-run.sh
docker ps -a  #查看
docker exec -it redis-1 /bin/sh       #redis默认没有bash
#搭建集群
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1 

#连接集群查看
redis-cli -c 
cluster nodes
cluster info

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值