美文网首页
Docker多台主机安装Redis集群

Docker多台主机安装Redis集群

作者: CallMe兵哥 | 来源:发表于2019-11-29 13:25 被阅读0次

    1. 环境准备

    • 1)装备两台机器,例如机器1:192.168.3.92,机器2:192.168.3.93

    • 2)两台机器安装docker,docker的安装参见Docker的基本安装和使用

    • 3)两台机器安装docker-compose

      2. 安装Redis

      2.1 机器1:192.168.3.92安装

      2.1.1)创建存放redis的文件夹

      mkdir /home/redis
      cd /home/redis
      

      2.1.2)创建docker-compose.yml,使用docker-compose安装创建

      #创建docker-compose.yml
      touch docker-compose.yml
      # 编辑文件
      vim docker-compose.yml
      

      docker-compose.yml文件的内容如下:

      这里的配置文件表示,我们三个redis,2个主,1个从。

      version: '3.4'
      #这里是使用了别人配置好的集群镜像 publicisworldwide/redis-cluster
      x-image:
       &default-image
       publicisworldwide/redis-cluster
      x-restart:
       &default-restart
       always
      x-netmode:
       &default-netmode
       host
      
      services:
       redis1:
        image: *default-image
        network_mode: *default-netmode
        restart: *default-restart
        volumes:
        - /data/redis/master7001/data:/data
        - /data/redis/master7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
        - /data/redis/master7001/log/redis.log:/root/redis/redis.log
        environment:
        - REDIS_PORT=7001
      
       redis2:
        image: *default-image
        network_mode: *default-netmode
        restart: *default-restart
        volumes:
        - /data/redis/master7002/data:/data
        - /data/redis/master7002/conf/redis.conf:/usr/local/etc/redis/redis.conf
        - /data/redis/master7002/log/redis.log:/root/redis/redis.log
        environment:
        - REDIS_PORT=7002
      
       redis3:
        image: *default-image
        network_mode: *default-netmode
        restart: *default-restart
        volumes:
        - /data/redis/slave7003/data:/data
        - /data/redis/slave7003/conf/redis.conf:/usr/local/etc/redis/redis.conf
        - /data/redis/slave7003/log/redis.log:/root/redis/redis.log
        environment:
        - REDIS_PORT=7003
      

      2.1.3)使用docker-compose创建容器

      #后台启动redis
      docker-compose up -d
      #启动成功以后,使用docker查看镜像
      docker ps
      
      启动成功

      2.2 机器2:192.168.3.93安装

      2.2.1)创建存放redis的文件夹

    mkdir /home/redis
    cd /home/redis
    

    ​ 2.2.2)创建docker-compose.yml,使用docker-compose安装创建

    #创建docker-compose.yml
    touch docker-compose.yml
    # 编辑文件
    vim docker-compose.yml
    

    docker-compose.yml文件的内容如下:

    这里的配置文件表示,我们三个redis,2个从,1个主。

    version: '3.4'
    
    x-image:
     &default-image
     publicisworldwide/redis-cluster
    x-restart:
     &default-restart
     always
    x-netmode:
     &default-netmode
     host
    
    services:
     redis1:
      image: *default-image
      network_mode: *default-netmode
      restart: *default-restart
      volumes:
      - /data/redis/slave7001/data:/data
      - /data/redis/slave7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/slave7001/log/redis.log:/root/redis/redis.log
      environment:
      - REDIS_PORT=7001
    
     redis2:
      image: *default-image
      network_mode: *default-netmode
      restart: *default-restart
      volumes:
      - /data/redis/slave7002/data:/data
      - /data/redis/slave7002/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/slave7002/log/redis.log:/root/redis/redis.log
      environment:
      - REDIS_PORT=7002
    
     redis3:
      image: *default-image
      network_mode: *default-netmode
      restart: *default-restart
      volumes:
      - /data/redis/master7003/data:/data
      - /data/redis/master7003/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/master7003/log/redis.log:/root/redis/redis.log
      environment:
      - REDIS_PORT=7003
    

    ​ 2.2.3)使用docker-compose创建容器

    #后台启动redis
    docker-compose up -d
    #启动成功以后,使用docker查看镜像
    docker ps
    
    启动成功

    2.3 配置集群

    以上只是启动了redis服务,还没有加上集群,我们运行下面的命令配置上集群

    docker run --rm -it --net host inem0o/redis-trib create --replicas 1 192.168.3.92:7001 192.168.3.92:7002 192.168.3.93:7003 192.168.3.93:7001 192.168.3.93:7002 192.168.3.92:7003
    

    前面这三个是主服务:192.168.3.92:7001 192.168.3.92:7002 192.168.3.93:7003

    后面这三个是从服务,与主服务的顺序一一对应:192.168.3.93:7001 192.168.3.93:7002 192.168.3.92:7003

    因为前面我们没有下载redis-trib,这里会自动下载这个镜像。

    集群启动成功后,我们进行简单测试,我们选择192.168.3.93进行测试

    #查看容器
    docker ps
    #进入容器
    docker exec -it d47cf9412a9b  /bin/bash
    #进入redis客户端,注意集群模式,连接时需要输入 -c
    redis-cli -h 127.0.0.1 -p 7002 -c
    #连接成功以后,设置值
    set 1 1
    

    如下图所示,我们可以看到设置的值分到槽位9842,端口7003,不存储我在我们登陆的7002端口。表示集群已成功安装,并且运行正常。

    集群验证

    相关文章

      网友评论

          本文标题:Docker多台主机安装Redis集群

          本文链接:https://www.haomeiwen.com/subject/zozwwctx.html