zoukankan      html  css  js  c++  java
  • 利用docker部署redis集群

    目录

    一、首先配置redis.conf文件,... 1

    1、获取配置文件... 1

    2、修改各配置文件的参数... 2

    二、下载redis镜像、启动容器... 2

    1、创建网络... 2

    2、拉取镜像并启动容器... 2

    三、设置redis集群... 3

    1、安装ruby. 3

    2、安装redis-cluster的ruby接口,并启动集群... 3

    3、测试... 3

    redis集群的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明

    本次在本地主机启动6个redis容器,相当于6个节点,容器使用的ip: 192.168.100.101~106

    本文档部署时建议直接复制粘贴

    一、首先配置redis.conf文件,

    1、获取配置文件

    [root@cdh01 ~]# wget http://download.redis.io/releases/redis-3.2.8.tar.gz

    [root@cdh01 ~]# tar xf redis-3.2.8.tar.gz

    [root@cdh01 ~]# mkdir -p /myredis/conf/

    [root@cdh01 ~]# for i in `seq 6`;do cp redis-3.2.8/redis.conf /myredis/conf/redis$i.conf;done

    [root@cdh01 ~]# ls /myredis/conf/     #可以看到共6各文件,每个容器对应一个文件

    redis1.conf  redis2.conf  redis3.conf  redis4.conf  redis5.conf  redis6.conf  

    2、修改各配置文件的参数

    a、修改监听

    [root@cdh01 ~]# for i in `seq 6`;do sed -i "s/bind 127.0.0.1/bind 192.168.100.10$i/g" /myredis/conf/redis$i.conf;done

    b、开启集群功能

    [root@cdh01 ~]# for i in `seq 6`;do sed -i 's/# cluster-enabled yes/cluster-enabled yes/g' /myredis/conf/redis$i.conf;done

    c、启动AOF增量持久化策略

    [root@cdh01 ~]# for i in `seq 6`;do sed -i 's/appendonly no/appendonly yes/g' /myredis/conf/redis$i.conf;done

    二、下载redis镜像、启动容器

    1、创建网络

    docker network create --subnet=192.168.100.0/24 staticnet  

    docker network ls

    2、拉取镜像并启动容器

    [root@cdh01 ~]# docker pull redis:3.2.8

    [root@cdh01 ~]# for i in `seq 6`;do docker run -d -v /myredis/conf/redis$i.conf:/usr/local/etc/redis/redis.conf -p 700$i:6379 --name myredis$i --net staticnet --ip 192.168.100.10$i redis:3.2.8 redis-server /usr/local/etc/redis/redis.conf;done

    三、设置redis集群

    1、安装ruby

    首先安装rvm,然后用rvm安装ruby

    a.安装rvm

    http://rvm.io/rvm/security #查看最新的key,下面的key可能会失效

    [root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

    [root@150 ~]# curl -sSL https://get.rvm.io | bash -s stable

    [root@150 ~]# source /usr/local/rvm/scripts/rvm

    b.查看RVM中ruby的版本

    rvm list known | grep ruby

    c.选择一个版本ruby版本安装,这边选择的是ruby 2.4.1

    rvm install 2.4.1

    d.使用ruby版本并设置为默认版本

    rvm use 2.4.1 --default

    e.将ruby和gem放入到全局变量

    如果是按照前面安装的,ruby和gem的位置应该在/usr/local/rvm/rubies/ruby-2.4.1/bin/这个目录下,如果不在,可以使用whereis ruby 和 whereis  gem来查找,找到位置后,使用软链命令

    ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem  /usr/bin/

    ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby  /usr/bin/

    到这里ruby就安装完成了

     

    2、安装redis-cluster的ruby接口,并启动集群

    [root@cdh01 ~]# gem install redis  #安装接口

    [root@cdh01 ~]# ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 192.168.100.101:6379 192.168.100.102:6379 192.168.100.103:6379 192.168.100.104:6379 192.168.100.105:6379 192.168.100.106:6379

    如果一切顺利,你会看到类似这样的消息: [OK] All 16384 slots covered

    3、测试

    本地连接可以用容器的ip

    redis-cli -h 192.168.100.101 -c -p 6379

    远程机器连接要使用宿主机的的ip

    [root@bigdb01 ~]# redis-cli -h 172.16.20.90 -c -p 7004

     

    结语:至此redis的单机与集群的安装和启动就成功了

  • 相关阅读:
    利用GetInvalidFileNameChars()得到有效的文件名
    C# 下载远程http文件到本地
    CLR无法从COM 上下文*****转换为COM上下文*****,这种状态已持续60秒。
    Wpf UserControl使用 KeyBinding,失效问题
    C# windows服务知识集锦
    制作Windows服务和安装程序(C#版)
    C语言内存管理
    Python初学注意问题
    msp430学习笔记-USART
    msp430学习笔记-ADC12
  • 原文地址:https://www.cnblogs.com/chuangcc/p/10736521.html
Copyright © 2011-2022 走看看