Docker实战-部署「Redis集群」

Redis集群思维导图

创建集群

一、创建自定义网络模式

docker network create --driver bridge --subnet 172.28.0.0/16 redis-group

二、Shell脚本快速创建集群

1. 创建配置文件夹并启动容器

# 创建集群配置文件夹
for port in $(seq 1 6); \
do \

mkdir -p ./mydata/redis/node-${port}/conf
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.28.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF

done
# 循环启动 docker 容器
for port in $(seq 1 6); \
do \

docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /home/docker/redis-group/mydata/redis/node-${port}/data:/data \
-v /home/docker/redis-group/mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis-group --ip 172.28.0.1${port} redis:latest redis-server /etc/redis/redis.conf \

done

2. 集群配置

进入容器redis-1,并配置集群

# 进入 redis-1 容器
docker exec -it redis-1 /bin/bash
# 配置集群命令
redis-cli --cluster create 172.28.0.11:6379 172.28.0.12:6379 172.28.0.13:6379 172.28.0.14:6379 172.28.0.15:6379 172.28.0.16:6379
# 查看redis集群概况,加-c 是集群,不加-c是单机
redis-cli -c

测试集群数据写入

测试突发主节点瘫痪

# 到宿主主机命令行控制台,手动控制 redis-3容器暂停,达到节点瘫痪
docker stop redis-3

此时,redis-4从机,升为主机,代理原来主机的工作任务,由此实现高可用

总结

在未来,使用了虚拟化服务之后,所有技术都会慢慢的变得简单起来!

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇