欢迎投稿

今日深度:

Docker单机部署redis集群,

Docker单机部署redis集群,


环境:CentOs7

安装docker、docker-compose (docker安装方法、compose安装方法)

配置信息

ip:192.168.204.10

集群端口:6381、6382、6383、6384、6385、6386

1.创建redis文件夹

mkidr -p /usr/docker/redis-cluster/ #方便管理
mkdir redis-6381
mkdir redis-6382
mkdir redis-6383
mkdir redis-6384
mkdir redis-6385
mkdir redis-6386

 2.将redis.conf拷贝到6381-6386相应的文件夹中,修改redis.conf配置

vi redis-6381/redis.conf 

cluster-enabled yes ##开启集群模式
cluster-config-file nodes.conf ##集群配置文件
cluster-node-timeout 5000  #集群节点多少时间未响应视为该节点丢失
appendonly yes ##开启AOF模式
port 6381 ##redis监听端口
protected-mode no ##默认yes 允许本地访问

————————————————————————————————————————————————————————————————————————

vi redis-6382/redis.conf 

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6382
protected-mode no

————————————————————————————————————————————————————————————————————————

vi redis-6383/redis.conf 

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6383
protected-mode no

————————————————————————————————————————————————————————————————————————

vi redis-6384/redis.conf 

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6384
protected-mode no

————————————————————————————————————————————————————————————————————————

vi redis-6385/redis.conf 

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6385
protected-mode no

————————————————————————————————————————————————————————————————————————

vi redis-6386/redis.conf 

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6386
protected-mode no

  3.编写docker-compose.yml文件

[root@broker1 redis-cluster]# vim docker-compose.yml 

version: '3'
services:
  redis-1:
    container_name: redis-1
    image: redis
    ports:
      - 6381:6381
      - 16381:16381
    volumes: 
      - /usr/docker/redis-cluster/redis-6381/data:/data
      - /usr/docker/redis-cluster/redis-6381/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf
       
  redis-2:
    container_name: redis-2
    image: redis
    ports:
      - 6382:6382
      - 16382:16382
    volumes: 
      - /usr/docker/redis-cluster/redis-6382/data:/redis/data
      - /usr/docker/redis-cluster/redis-6382/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf
  redis-3:
    container_name: redis-3
    image: redis
    ports:
      - 6383:6383
      - 16383:16383
    volumes: 
      - /usr/docker/redis-cluster/redis-6383/data:/data
      - /usr/docker/redis-cluster/redis-6383/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf
  redis-4:
    container_name: redis-4
    image: redis
    ports:
      - 6384:6384
      - 16384:16384
    volumes: 
      - /usr/docker/redis-cluster/redis-6384/data:/redis/data
      - /usr/docker/redis-cluster/redis-6384/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf
  redis-5:
    container_name: redis-5
    image: redis
    ports:
      - 6385:6385
      - 16385:16385
    volumes: 
      - /usr/docker/redis-cluster/redis-6385/data:/redis/data
      - /usr/docker/redis-cluster/redis-6385/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf
  redis-6:
    container_name: redis-6
    image: redis
    ports:
      - 6386:6386
      - 16386:16386
    volumes: 
      - /usr/docker/redis-cluster/redis-6386/data:/redis/data
      - /usr/docker/redis-cluster/redis-6386/redis.conf:/etc/redis/redis.conf
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf

 注释:

 # 节点1
  redis-1:
    #容器服务名
    container_name: redis-1
    #基础镜像
    image: redis
    #端口映射
    #第一个端口是客户端通信端口 第二个端口为集群总线端口 用于失败检测以及故障转移、选举等 偏移量总是10000
    ports:
      - 6381:6381
      - 16381:16381
    #映射宿主机的数据卷 配置数据目录和配置文件目录 HOST:CONTAINER
    volumes: 
      - /usr/docker/redis-cluster/redis-6381/data:/data
      - /usr/docker/redis-cluster/redis-6381/redis.conf:/etc/redis/redis.conf
    # 设置服务默认的启动程序
    entrypoint: 
      - redis-server 
      - /etc/redis/redis.conf

4.执行compose

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

执行结果如下

 5.查看容器状态

 6.进入任意容器开启集群模式

[root@broker1 redis-6381]# docker exec -it redis-1 bash
root@3226cce0bd0f:/data# cd /usr/local/bin/
root@3226cce0bd0f:/usr/local/bin# redis-cli --cluster create 192.168.204.10:6381 \
>   192.168.204.10:6382 \
>  192.168.204.10:6383 \
>  192.168.204.10:6384 \
>  192.168.204.10:6385 \
>  192.168.204.10:6386 \
>  --cluster-replicas 1

 注:输入小写yes

出现如下结果开启成功

[OK] All nodes agree about slots configuration.>>>check for open slots. .-
>>>check slots coverage...

[OK] All 16384 slots covered.

7.进入任意节点测试

www.htsjk.Com true http://www.htsjk.com/redis/46051.html NewsArticle Docker单机部署redis集群, 环境CentOs7 安装docker、docker-compose docker安装方法、compose安装方法 配置信息 ip192.168.204.10 集群端口6381、6382、6383、6384、6385、6386 1.创建redis文件夹 mkidr -p /usr/doc...
评论暂时关闭