Docker 安装Redis集群

本次部署的是在一台服务器上,用Doker容器运行的伪集群

创建一个redis网卡
network create redis --subnet 10.10.11.0/24

创建本地挂载目录

mkdir /data/redis/

for port in $(seq 1 6)
do 
   mkdir -p /data/redis/node-${port}/conf 
   touch /data/redis/node-${port}/conf/redis.conf
   cat << EOF >/data/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 10.10.11.1${port}
   cluster-announce-port 6379
   cluster-announce-bus-port 16379
   appendonly yes
   EOF
done

创建redis容器并启动

for port in $(seq 1 6)
do 
    docker run -p 637${port}:6379 -p 1637${port}:16379 --privileged=true --name redis-${port} 
    -v /data/redis/node-${port}/data:/data 
    -v /data/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf
    -d --net redis --ip 10.10.11.1${port} redis redis-server /etc/redis/redis.conf
 done

进入容器创建集群
docker exec -it redis-1 /bin/bash

执行如下命令创建集群

redis-cli --cluster create 10.10.11.11:6379 10.10.11.12:6379 10.10.11.13:6379 10.10.11.14:6379 10.10.11.15:6379 10.10.11.16:6379 --cluster-replicas 1
出现以下代码,表示集群创建成功

>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 10.10.11.15:6379 to 10.10.11.11:6379
Adding replica 10.10.11.16:6379 to 10.10.11.12:6379
Adding replica 10.10.11.14:6379 to 10.10.11.13:6379
M: 8b0fab65b6fe15a712fa8038b6ff52900f727d24 10.10.11.11:6379
   slots:[0-5460] (5461 slots) master
M: b8ed50eb5d97238e487ace35c185cd5d8b0e7514 10.10.11.12:6379
   slots:[5461-10922] (5462 slots) master
M: 041b3bbe068c52f9f340724791eaa1f05c2d20a5 10.10.11.13:6379
   slots:[10923-16383] (5461 slots) master
S: bc32111d23733afa042fb3beeb7c286ad26d87bf 10.10.11.14:6379
   replicates 041b3bbe068c52f9f340724791eaa1f05c2d20a5
S: 2edd5fd4ab733c8f51bf5ac5a57a2a7efa0f6f43 10.10.11.15:6379
   replicates 8b0fab65b6fe15a712fa8038b6ff52900f727d24
S: c55777666e743cb508cd1c03da73271d4c902c10 10.10.11.16:6379
   replicates b8ed50eb5d97238e487ace35c185cd5d8b0e7514
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
.
>>> Performing Cluster Check (using node 10.10.11.11:6379)
M: 8b0fab65b6fe15a712fa8038b6ff52900f727d24 10.10.11.11:6379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 2edd5fd4ab733c8f51bf5ac5a57a2a7efa0f6f43 10.10.11.15:6379
   slots: (0 slots) slave
   replicates 8b0fab65b6fe15a712fa8038b6ff52900f727d24
M: b8ed50eb5d97238e487ace35c185cd5d8b0e7514 10.10.11.12:6379
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: bc32111d23733afa042fb3beeb7c286ad26d87bf 10.10.11.14:6379
   slots: (0 slots) slave
   replicates 041b3bbe068c52f9f340724791eaa1f05c2d20a5
S: c55777666e743cb508cd1c03da73271d4c902c10 10.10.11.16:6379
   slots: (0 slots) slave
   replicates b8ed50eb5d97238e487ace35c185cd5d8b0e7514
M: 041b3bbe068c52f9f340724791eaa1f05c2d20a5 10.10.11.13:6379
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

进入集群:
redis-cli -c
查看集群:

127.0.0.1:6379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:6
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:4518
cluster_stats_messages_pong_sent:4655
cluster_stats_messages_sent:9173
cluster_stats_messages_ping_received:4655
cluster_stats_messages_pong_received:4518
cluster_stats_messages_received:9173
total_cluster_links_buffer_limit_exceeded:0
127.0.0.1:6379>
 
127.0.0.1:6379> cluster nodes
2edd5fd4ab733c8f51bf5ac5a57a2a7efa0f6f43 10.10.11.15:6379@16379 slave 8b0fab65b6fe15a712fa8038b6ff52900f727d24 0 1661491488043 1 connected
b8ed50eb5d97238e487ace35c185cd5d8b0e7514 10.10.11.12:6379@16379 master - 0 1661491488000 2 connected 5461-10922
8b0fab65b6fe15a712fa8038b6ff52900f727d24 10.10.11.11:6379@16379 myself,master - 0 1661491488000 1 connected 0-5460
bc32111d23733afa042fb3beeb7c286ad26d87bf 10.10.11.14:6379@16379 slave 041b3bbe068c52f9f340724791eaa1f05c2d20a5 0 1661491488043 3 connected
c55777666e743cb508cd1c03da73271d4c902c10 10.10.11.16:6379@16379 slave b8ed50eb5d97238e487ace35c185cd5d8b0e7514 0 1661491488545 2 connected
041b3bbe068c52f9f340724791eaa1f05c2d20a5 10.10.11.13:6379@16379 master - 0 1661491489047 3 connected 10923-163
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在docker安装redis集群,首先需要确保已经安装docker并启动了docker服务。可以按照引用中的步骤来卸载之前可能存在的残留文件,并通过阿里云docker yum源配置好docker安装源。 接下来,需要准备一个Linux系统机器,并在该机器上安装docker。确保已经对docker的基本知识有所了解,并熟悉docker的常用命令,可以参考引用中的博文来学习docker的基础知识。 一旦docker安装完成并启动了服务,就可以开始搭建redis集群了。可以在docker容器中安装redis,具体的安装步骤可以通过查阅相关文档或教程来获取。在安装redis之前,可以使用以下命令来启动docker服务: ``` systemctl enable docker systemctl start docker ``` 通过以下命令可以查看docker的版本信息: ``` docker version ``` 以上是在docker安装redis集群的大致步骤,具体的安装和配置过程可能会因为不同的环境和需求而有所差异。建议在安装之前仔细阅读相关的文档和教程,以确保正确地安装和配置redis集群。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [docker搭建redis集群详细篇](https://blog.csdn.net/m0_55116875/article/details/122220918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [docker下搭建redis集群](https://blog.csdn.net/weixin_44947701/article/details/128161008)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值