iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >docker compose如何启动redis多机集群
  • 505
分享到

docker compose如何启动redis多机集群

2023-07-02 18:07:36 505人浏览 泡泡鱼
摘要

这篇文章主要介绍了Docker compose如何启动redis多机集群的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose如何启动Redis多机集群文章都会有所收获,下面我们一起来看看吧

这篇文章主要介绍了Docker compose如何启动redis多机集群的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose如何启动Redis多机集群文章都会有所收获,下面我们一起来看看吧。

    1. 环境说明

    节点IP
    redis-node-110.10.239.31
    redis-node-210.10.239.32
    redis-node-310.10.239.33
    redis-node-410.10.239.34
    redis-node-510.10.239.35
    redis-node-610.10.239.36

    2. 集群部署

    redis-node-1

    yml 文件

    version: '2.2'services:  redis-node-1:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-1    network_mode: "host"    volumes:      - ./redis-cluster_data-1:/bitnami/redis/data    environment:      - 'REDIS_PASSWord=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-01 redis-cluster]# mkdir ./redis-cluster_data-1[root@liubei-01 redis-cluster]# chown 1001  ./redis-cluster_data-1

    启动

    [root@liubei-01 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-01 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-1   /opt/bitnami/scripts/redis ...   Up

    redis-node-2

    version: '2.2'services:  redis-node-2:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-2    network_mode: "host"    volumes:      - ./redis-cluster_data-2:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-02 redis-cluster]# mkdir ./redis-cluster_data-2[root@liubei-02 redis-cluster]# chown 1001  ./redis-cluster_data-2

    启动

    [root@liubei-02 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-02 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-2   /opt/bitnami/scripts/redis ...   Up

    redis-node-3

    version: '2.2'

    services:  redis-node-3:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-3    network_mode: "host"    volumes:      - ./redis-cluster_data-3:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-03 redis-cluster]# mkdir ./redis-cluster_data-3[root@liubei-03 redis-cluster]# chown 1001  ./redis-cluster_data-3

    启动

    [root@liubei-03 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-03 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-3   /opt/bitnami/scripts/redis ...   Up

    redis-node-4

    version: '2.2'services:  redis-node-2:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-4    network_mode: "host"    volumes:      - ./redis-cluster_data-4:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-04 redis-cluster]# mkdir ./redis-cluster_data-4[root@liubei-04 redis-cluster]# chown 1001  ./redis-cluster_data-4

    启动

    [root@liubei-04 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-04 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-4   /opt/bitnami/scripts/redis ...   Up

    redis-node-5

    version: '2.2'

    services:  redis-node-5:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-5    network_mode: "host"    volumes:      - ./redis-cluster_data-5:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-05 redis-cluster]# mkdir ./redis-cluster_data-5[root@liubei-05 redis-cluster]# chown 1001  ./redis-cluster_data-5

    启动

    [root@liubei-05 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-05 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-5   /opt/bitnami/scripts/redis ...   Up     

    redis-node-6

    version: '2.2'

    services:  redis-node-6:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-6    network_mode: "host"    volumes:      - ./redis-cluster_data-6:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存储

    因为容器中执行初始化的不是root用户,自动创建挂载文件权限一般会有问题。我这里容器中执行初始化的用户对应宿主机ID是1001的用户,因此提前给了权限(当然你也可以直接给777权限,但不建议)。
    如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件属主是谁,就把该目录的属主改成谁,然后改回755或750权限。

    [root@liubei-06 redis-cluster]# mkdir ./redis-cluster_data-6[root@liubei-06 redis-cluster]# chown 1001  ./redis-cluster_data-6

    启动

    [root@liubei-06 redis-cluster]# docker-compose up -d

    查看结果

    [root@liubei-06 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-6   /opt/bitnami/scripts/redis ...   Up

    3. 初始化

     redis-cli -h 10.10.239.31 -a liubei@161 --cluster create 10.10.239.31:6379 10.10.239.32:6379 10.10.239.33:6379 10.10.239.34:6379 10.10.239.35:6379 10.10.239.36:6379 --cluster-replicas 1

    4. 测试

    I have no name!@0fc49662e765:/$ redis-cli -h 10.10.239.31 -a liubei@161 -cWarning: Using a password with '-a' or '-u' option on the command line interface may not be safe.10.10.239.31:6379> set name liubei-> Redirected to slot [5798] located at 10.10.239.35:6379OK10.10.239.35:6379> get name"liubei"10.10.239.35:6379>

    说明:
    进入10.10.239.31的redis容器,从该节点进入集群,写入数据。
    显示写入在 10.10.239.35 这个节点
    同时我们的连接也跳到了这个节点。
    我们读一下,读到了数据。
    换一个节点连接,效果相同。

    关于“docker compose如何启动redis多机集群”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“docker compose如何启动redis多机集群”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

    --结束END--

    本文标题: docker compose如何启动redis多机集群

    本文链接: https://www.lsjlt.com/news/343460.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • docker compose如何启动redis多机集群
      这篇文章主要介绍了docker compose如何启动redis多机集群的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose如何启动redis多机集群文章都会有所收获,下面我们一起来看看吧...
      99+
      2023-07-02
    • docker compose怎么启动redis集群
      本文小编为大家详细介绍“docker compose怎么启动redis集群”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker compose怎么启动redis集群”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
      99+
      2023-07-02
    • docker compose如何安装redis集群
      今天小编给大家分享一下docker compose如何安装redis集群的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
      99+
      2023-06-29
    • Docker-Compose如何搭建Redis集群
      本篇内容介绍了“Docker-Compose如何搭建Redis集群”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 集群配置3主+3从由于...
      99+
      2023-07-05
    • 关于docker compose安装redis集群的问题(集群扩容、集群收缩)
      目录一、redis 配置信息模板二、编写批量生成配置文件脚本三、批量生成配置文件四、编写 docker-compose 文件五、做集群、分配插槽六、测试:七、手动扩容八、添加主从节点...
      99+
      2024-04-02
    • Docker-Compose搭建Redis集群的实现教程
      目录1. 集群配置2.编写Redis.conf3. 在每个redis-*文件夹下创建redis.conf文件,并写入如下内容:4.编写docker-compose.yml文件5.开启集群6.测试6.1 查看节点属性6.2...
      99+
      2023-03-24
      Docker-Compose搭建Redis集群
    • docker如何搭建redis集群
      要搭建Redis集群,可以使用Docker来进行部署。下面是一种常见的方法:1. 创建一个文件夹,在文件夹中创建一个名为`docke...
      99+
      2023-08-23
      docker redis
    • redis集群如何重启
      redis集群重启的示例:查看所有redis进程:[root@i-netlrktd ~]# ps -ef|grep redisroot 1477 1 0 Aug09 00:02:06 redis-server *:6371 [cluste...
      99+
      2024-04-02
    • 如何使用docker compose搭建consul集群环境
      这篇文章主要介绍如何使用docker compose搭建consul集群环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!consul基本概念server模式和client模式server模式和client模式是co...
      99+
      2023-06-15
    • redis集群宕机后怎么重启
      redis集群宕机后重启的示例:centos下的redis无数据启动和持久化重启脚本:redis_clear_restart.sh,代码:for p in `ps -ef|grep /usr/local/bin/redis-server |...
      99+
      2024-04-02
    • redis集群宕机如何处理
      redis集群宕机的处理方法:将主机数据同步给备机,redis中槽范围0-16383,一共是16384个槽,将这些槽分给对应组机器,并且对key使用crc16索法进行计算,得出一个纯数字的值余数落到那个solt槽范围内就将数据分配到对应机器...
      99+
      2024-04-02
    • docker如何搭建redis主从哨兵集群
      这篇文章主要讲解了“docker如何搭建redis主从哨兵集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“docker如何搭建redis主从哨兵集群”吧!1:获取redis镜像docker...
      99+
      2023-07-02
    • docker compose启动docker文件挂载失败如何解决
      这篇“docker compose启动docker文件挂载失败如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“dock...
      99+
      2023-07-05
    • 聊聊docker 单机部署redis集群的问题
      目录docker部署redis集群1、创建redis网卡2、创建redis配置使用cluster集群配置3、创建redis集群测试docker 部署redis集群 1、创建redis...
      99+
      2024-04-02
    • GlassFish如何配置多机集群
      这篇文章主要为大家展示了“GlassFish如何配置多机集群”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“GlassFish如何配置多机集群”这篇文章吧。在VM...
      99+
      2024-04-02
    • redis集群如何退出
      redis集群退出方法:1.在客户端执行命令shutdown或直接在命令行里执行“redis-cli -p 7001 shutdown”。2.直接kill -9 ${进程号}。redis集群退出的示例:方法一:在客户端执行命令shutdow...
      99+
      2024-04-02
    • kafka集群启动报错如何解决
      Kafka集群启动报错可能有很多原因,以下是一些常见的解决方法:1. 检查配置文件:确保配置文件中的参数正确设置,包括Zookeep...
      99+
      2023-10-08
      kafka
    • docker部署zookeeper集群方式(单主机、多主机)
      目录1、一台主机上部署zookeeper集群2、一台主机部署zookeeper集群分析3、Macvlan网络4、跨主机环境准备5、创建macvlan网络6、docker-compos...
      99+
      2023-05-15
      docker部署zookeeper docker部署zookeeper集群 docker zookeeper集群
    • redis如何实现集群
      这篇文章给大家分享的是有关redis如何实现集群的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令;主服务器接收到SY...
      99+
      2024-04-02
    • redis如何部署集群
      这篇文章主要介绍“redis如何部署集群”,在日常操作中,相信很多人在redis如何部署集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis如何部署集群”的疑惑有所帮...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作