Centos Docker部署Redis集群三主三从

2023-10-11 20:30

本文主要是介绍Centos Docker部署Redis集群三主三从,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、安装Docker

yum install docker-engine

二、编辑节点配置文件

  1. 创建文件夹

    cd /home
    # 节点一:6370端口
    mkdir -p redis-cluster/redis-6370/conf
    mkdir -p redis-cluster/redis-6370/data
    # 节点二:6371端口
    mkdir -p redis-cluster/redis-6371/conf
    mkdir -p redis-cluster/redis-6371/data
    # 节点三:6372端口
    mkdir -p redis-cluster/redis-6372/conf
    mkdir -p redis-cluster/redis-6372/data
    # 节点四:6373端口
    mkdir -p redis-cluster/redis-6373/conf
    mkdir -p redis-cluster/redis-6373/data
    # 节点五:6374端口
    mkdir -p redis-cluster/redis-6374/conf
    mkdir -p redis-cluster/redis-6374/data
    # 节点六:6375端口
    mkdir -p redis-cluster/redis-6375/conf
    mkdir -p redis-cluster/redis-6375/data
    
  2. 编辑配置文件

vim redis-cluster/redis-6370/conf/redis.conf

配置文件内容(6个节点及目录内的配置文件,都可以下面配置为模板,更改端口号和集群通信端口号即可):

# 端口号
port 6370# 设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456
## 当master服务设置了密码保护时(用requirepass制定的密码)
# slav服务连接master的密码
masterauth 123456# daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no# 任何主机都可以连接到redis
bind 0.0.0.0# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no# 开启AOF
appendonly yes# 集群开关,如果配置yes则开启集群功能,此redis实例作为集群的一个节点,否则,它是一个普通的单一的redis实例。
cluster-enabled yes# 集群配置文件的名称,此配置文件不能人工编辑,它是集群节点自动维护的文件,主要用于记录集群中有哪些节点、他们的状态以及一些持久化参数等,方便在重启时恢复这些状态。通常是在收到请求之后这个文件就会被更新。
cluster-config-file nodes.conf# 节点互连超时的阀值。集群节点超时毫秒数
cluster-node-timeout 15000# 以下三个配置参数静态设定节点的运行参数, 包括对外IP, 普通Redis命令端口和集群桥接端口# Redis Cluster 不支持NATted环境和IP地址或TCP端口被重映射(remapped)的环境。
# Docker使用一种名叫port mapping的技术, 运行于Docker容器内的程序实际对外使用的端口和监听的端口可不相同. 为了让Docker 兼容Redis Cluster, 需要使用Docker的host network模式。
#为了使Redis集群在这样的环境中工作,静态每个节点都知道需要其公共地址的配置
cluster-announce-ip 192.168.3.111# 客户端连接端口
cluster-announce-port 6370# 总线端口为普通端口port+10000,所谓Cluster bus, 即使用一种二进制协议(binary protocol)进行集群内点对点(node-to-node)通讯, 包括节点失效检测, 配置更新, 故障转移(failover)认证等
cluster-announce-bus-port 6370

三、启动节点

  1. 启动节点一

    docker run -d --name redis-6370 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6370/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6370/data:/data \
    redis redis-server /etc/redis/redis.conf
    
  2. 启动节点二

    docker run -d --name redis-6371 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6371/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6371/data:/data \
    redis redis-server /etc/redis/redis.conf
    
  3. 启动节点三

    docker run -d --name redis-6372 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6372/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6372/data:/data \
    redis redis-server /etc/redis/redis.conf
    
  4. 启动节点四

    docker run -d --name redis-6373 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6373/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6373/data:/data \
    redis redis-server /etc/redis/redis.conf
    
  5. 启动节点五

    docker run -d --name redis-6374 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6374/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6374/data:/data \
    redis redis-server /etc/redis/redis.conf
    
  6. 启动节点六

    docker run -d --name redis-6375 \
    --net host --privileged=true \
    -v /home/redis-cluster/redis-6375/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis-cluster/redis-6375/data:/data \
    redis redis-server /etc/redis/redis.conf
    

四、配置集群

  1. 进入一个节点容器

    docker exec -it redis-6370 bash

  2. 配置集群节点

    redis-cli -a 123456 --cluster create 192.168.3.111:6370 192.168.3.111:6371 192.168.3.111:6372 192.168.3.111:6373 192.168.3.111:6374 192.168.3.111:6375 --cluster-replicas 1
    

五、验证集群节点

redis-cli -h 192.168.3.111 -p 6370 -a 123456
cluster nodes

这篇关于Centos Docker部署Redis集群三主三从的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/190623

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制