华为云云耀云服务器L实例评测|在云耀云服务器L实例使用Docker搭建redis集群——三主三从集群

购买云耀云服务器 L 实例

华为云耀云服务器 L 实例是一款轻量级云服务器,开通选择实例即可立刻使用,不需要用户再对服务器进行基础配置。新用户还有专享优惠,2 核心 2G 内存 3M 带宽的服务器只要 89 元/年,可以点击华为云云耀云服务器 L 实例购买地址去购买云服务器。

购买指导可以查看上一篇文章华为云云耀云服务器 L 实例评测 |云服务器选购

![[imgs/实例规格.png]]

云耀云服务器 L 实例安装 docker

这一部分在上一篇文章中已经详细说明,详见华为云云耀云服务器 L 实例评测|在云耀云服务器 L 实例上安装 Docker,本文不再赘述。

测试 Docker 是否正常运行

# 查看docker版本
docker version
# 测试运行容器
docker run hello-world

在这里插入图片描述

看到输出 docker 版本则表示 docker 已经成功安装,此时我们可以继续运行 hello world 的容器,测试容器是否可以正常运行。

在这里插入图片描述

如果 Docker 正常运行,就可以看到 docker 在成功创建容器并运行容器后,输出 hello from Docker!

创建 redis 的 docker 网段

这里将 redis 集群的网段设置为 172.16.0.0/24。

docker network create --driver bridge --subnet 172.16.0.0/24 --gateway 172.16.0.1 redis-net

在这里插入图片描述

查看刚刚创建的 redis 网段

docker network ls

在这里插入图片描述

创建 redis 的配置文件

先创建 shell 脚本来生成 redis 配置文件

sudo vim redis-node-config.sh

在 redis-node-config.sh 文件中输入以下内容:

#!/bin/bash

# 配置文件存放路径
BASE_PATH=/test/redis
# 创建个数
REDIS_COUNT=6
# ip前缀
REDIS_IP=172.16.0.1

for port in $(seq 1 $REDIS_COUNT);
do
mkdir -p $BASE_PATH/node-$port/conf
mkdir -p $BASE_PATH/node-$port/data
touch $BASE_PATH/node-$port/conf/redis.conf
cat <<EOF > $BASE_PATH/node-$port/conf/redis.conf
port 6379
# 生产环境中为了安全性请绑定当前机器的ip
bind 0.0.0.0
# 启动集群模式
cluster-enabled yes
cluster-config-file nodes.conf
# redis节点宕机被发现的时间
cluster-node-timeout 5000
cluster-announce-ip $REDIS_IP$port
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

赋予脚本可执行权限

sudo chmod +x redis-node-config.sh

运行脚本创建配置文件

./redis-node-config.sh

查看脚本是否成功生成文件

cd /test/redis
ll

![[imgs/redis集群文件.png]]

脚本启动 redis 容器

创建启动脚本

sudo vim redis-run.sh

在 redis-run.sh 中输入以下内容:

#!/bin/bash

# 配置文件存放路径
BASE_PATH=/test/redis
# 创建个数
REDIS_COUNT=6
# ip前缀
REDIS_IP=172.16.0.1

for port in $(seq 1 $REDIS_COUNT);
do
docker run -d  -p 637$port:6379 -p 1667$port:16379 \
--name redis-$port \
-v $BASE_PATH/node-$port/data:/data \
-v $BASE_PATH/node-$port/conf/redis.conf:/etc/redis/redis.conf \
--net redis-net \
--ip $REDIS_IP$port \
redis redis-server /etc/redis/redis.conf
done

赋予脚本可执行权限

sudo chmod +x redis-run.sh

运行脚本启动多个 redis 容器

./redis-run.sh

在这里插入图片描述

脚本会创建六个 redis 容器并将它们启动起来。

开始搭建 redis 集群

# 进入其中一个容器
docker exec -it redis-1 /bin/bash
# 说明:--cluster :使用cluster的方式搭建集群 --cluster-replicas 1 :一个主机有一个从机
redis-cli --cluster create 172.16.0.11:6379 172.16.0.12:6379 172.16.0.13:6379 172.16.0.14:6379 172.16.0.15:6379 172.16.0.16:6379 --cluster-replicas 1

执行过程中需要输入一次 yes

![[imgs/redis网络搭建.png]]

测试 redis 集群

# 进入redis-1容器
docker exec -it redis-1 /bin/bash
# -c:以集群方式启动
redis-cli -c
# 设置一个键值对
set name berbai01

这里显示是 172.16.0.12 上的 redis 处理了 set 操作。

![[imgs/redis主从操作.png]]

查看集群节点

cluster nodes

![[imgs/redis集群节点.png]]

到此已经成功搭建了 redis 的 3 主 3 从集群,上图中 master 为主 redis,slave 则是从 redis。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鳄鱼儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值