docker配置redis哨兵模式

2018-06-03  本文已影响0人  韩英明

系统环境

阿里云CentOS7

redis哨兵模式说明

使用docker启动3个redis服务器,一个master(主), 两个slave (从),进行主从配置。
3台redis服务器分别启动一个哨兵sentinel。

redis说明:

redis-cli 连接redis服务器的命令
redis默认使用6379端口
redis-sentinel 启动redis哨兵 启动的第一个默认26379,此后26380,26381, ...

docker常用命令:

        docker search image 搜索镜像(运行文件)(image: 镜像名称)
        docker pull image (image: 镜像名称)
        docker rmi imageId  (imageId: 镜像的id)

        docker ps 查询所有启动的容器
        docker ps  -a  查询所有容器
        docker rm 镜像id    删除容器
        docker start 镜像id   启动容器
        docker stop 镜像id    停止容器

         启动容器:
        docker run --name master -d  -p 6379:6379 -p 26379:26379  redis
           docker run 启动容器
               --name 容器名称
              -d 容器后台启动
               -p 主机端口:容器的端口
              redis 运行镜像

        查看容器运行的局域网ip地址:(阿里云默认第一个启动的容器IP地址:172.17.0.2, 依次为172.17.0.3, ...)
        docker inspect 容器id
     
        进入容器
        docker exec -it  容器id /bin/bash

步骤:

一、首先安装docker

      yum install -y docker

二、下载redis镜像

      docker pull redis

三、 使用docker创建3个容器运行redis服务

      docker run --name master   -d -p 6379:6379 -p 26379:26379  redis
      docker run --name slave01  -d -p 6380:6379 -p 26380:26380  redis
      docker run --name slave02  -d -p 6381:6379 -p 26381:26381  redis

四、查询容器的内网ip地址

      docker   inspect    容器的id
      我的查询的结果:
      master    172.17.0.2
      slave01   172.17.0.3
      slave02   172.17.0.4

五、进入容器配置从redis

     分别进入slave01、slave02容器(slave01:容器名称)
       docker exec  -it  容器id  /bin/bash
       redis-cli (回车,连接redis服务器)
       slaveof 172.17.0.2 6379 (回车后显示OK)
       exit  (退出redis客户端连接)
       exit (退出容器)

    slave01、slave02配置好后,进入master容器
    docker exec  -it  容器id  /bin/bash
    info replication  (可以查看到slave的配置信息)
    exit (退出容器)

六、已配置完成主从,现在开始配置哨兵

      进入master容器:docker exec -it  容器id /bin/bash
      cd / (进入根目录)
      apt-get update (更新依赖)
      apt-get install -y vim (安装vim)
      vim sentinel.conf  (建立sentinel(哨兵模式)的配置文件:)
          内容:
              port 26379 (指定哨兵监听端口)
              sentinel monitor name 172.17.0.2 6379 2 (启动哨兵(名称:name) 监听master)
               daemonize yes (后台运行)
     :wq 保存后, 启动哨兵:redis-sentinel sentinel.conf
      
      进入slave01容器:docker exec -it  容器id /bin/bash
      cd / (进入根目录)
      apt-get update (更新依赖)
      apt-get install -y vim (安装vim)
      vim sentinel.conf  (建立sentinel(哨兵模式)的配置文件:)
      内容:
              port 26380 (指定哨兵监听端口)
              sentinel monitor name 172.17.0.2 6379 2 (启动哨兵(名称:name) 监听master)
              daemonize yes (后台运行)
      :wq 保存后, 启动哨兵:redis-sentinel sentinel.conf
     
      进入slave02容器:docker exec -it  容器id /bin/bash
      cd / (进入根目录)
      apt-get update (更新依赖)
      apt-get install -y vim (安装vim)
      vim sentinel.conf  (建立sentinel(哨兵模式)的配置文件:)
      内容:
           port 26381 (指定哨兵监听端口)
            sentinel monitor name 172.17.0.2 6379 2 (启动哨兵(名称:name) 监听master)
            daemonize yes (后台运行)
      :wq 保存后, 启动哨兵:redis-sentinel sentinel.conf

七、主从配置、哨兵模式都已配好,如果想用程序调用,还得配置阿里云的安全规则,开放端口。

上一篇 下一篇

猜你喜欢

热点阅读