CentOS Redis cluster 高可用架构篇

编写日期:2017-07-19

编写作者:mtsbv110

邮    箱:[email protected]

 

主机规划:192.168.9.151

Redis版本:redis-3.2.8.tar.gz

安装目录:/usr/local/redis

 

主机规划:192.168.9.152

Redis版本:redis-3.2.8.tar.gz

安装目录:/usr/local/redis

 

主机规划:192.168.9.153

Redis版本:redis-3.2.8.tar.gz

安装目录:/usr/local/redis

 

Redis 集群搭建

主机名          IP地址      服务端口        集群端口       主/从

jetsen-redis-01   192.168.9.151   7111            17111           Master

jetsen-redis-02   192.168.9.152   7114            17114           Slave

 

jetsen-redis-02   192.168.9.152   7113            17113           Master

jetsen-redis-01   192.168.9.151   7112            17112           Slave

 

jetsen-redis-03   192.168.9.153   7115            17115           Master

jetsen-redis-03   192.168.9.151   7116            17116           Slave

 

  • 创建集群数据存放目录

[[email protected]~]# mkdir -p /usr/local/redis/cluster/7111

[[email protected]~]# mkdir -p /usr/local/redis/cluster/7112

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7113

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7114

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7115

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7116

  • 创建集群日志存放目录

[[email protected]~]# mkdir -p /usr/local/redis/cluster/7111/log

[[email protected]~]# mkdir -p /usr/local/redis/cluster/7112/log

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7113/log

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7114/log

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7115/log

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7116/log

  • 创建集群配置文件存放目录

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7111/conf/

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7112/conf/

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7113/conf/

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7114/conf/
[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7115/conf/

[[email protected] ~]# mkdir -p /usr/local/redis/cluster/7116/conf/

 

  • 配置文件修改
  1. daemonize yes

设置为守护进程

  1. pidfile /var/run/redis_7111.pid

指定pidfile

  1. databases 1

默认16

  1. cluster-enabled yes

开启集群模式

  1. cluster-config-file /usr/local/redis/cluster/7111/conf/nodes.conf

集群配置文件,启动自动生成,不用人为干预

  1. cluster-node-timeout 15000

结点互联超时时间 单位毫秒

  1. cluster-migration-barrier 1

数据迁移副本临界数,一个主结点拥有对个从结点的情况下,就要割让一个从结点给另外一个没有任何从结点的主结点

  1. cluster-require-full-coverage yes

如果某一些key space 没有被集群任何结点覆盖,则停止接受写入

  1. appendonly yes

开启AOF

  1. dir /usr/local/redis/cluster/7111
  2. logfile "/usr/local/redis/cluster/7111/log/7001.log"
  3. bind 192.168.9.151
  4. port 7111

同理准备另外5份配置文件,上载到服务器对应的

/usr/local/redis/cluster/711X/conf/目录中

 

  1. 安装安装ruby 和 rubygems

yum install -y ruby

yum install -y rubygems

gem install redis

CentOS Redis cluster 高可用架构篇

 

 

  • 准备启动脚本
  1. 复制redis启动脚本到/etc/rc.d/init.d目录中,修改名称为redis_7111

cp /usr/local/src/redis3.0/utils/redis_init_script

/etc/rc.d/init.d/redis_7111

  1. REDISPORT=7111
  2. EXEC=/usr/local/redis/bin/redis-server
  3. CLIEXEC=/usr/local/redis/bin/redis-cli
  4. PIDFILE=/var/run/redis_${REDISPORT}.pid
  5. CONF="/usr/local/redis/cluster/${REDISPORT}/conf/redis-${REDISPORT}.conf"
  6. $EXEC $CONF &

将对应的脚本分别上传到对应结点的目录中

CentOS Redis cluster 高可用架构篇

CentOS Redis cluster 高可用架构篇

CentOS Redis cluster 高可用架构篇

 

  • 执行Redis集群创建命令
  1. 拷贝redis-trib.rb(只需要值一个结点拷贝即可)

[[email protected] src]#

 cp /usr/local/src/redis3.0/src/redis-trib.rb /usr/local/bin/

  1. 启动相应结点的Redis

 

[[email protected] ~]# /etc/rc.d/init.d/redis_7111 start

[[email protected] ~]# /etc/rc.d/init.d/redis_7112 start

 

[[email protected] ]# /etc/rc.d/init.d/redis_7113 start

[[email protected] ]# /etc/rc.d/init.d/redis_7114 start

 

[[email protected]]# /etc/rc.d/init.d/redis_7115 start

[[email protected]]# /etc/rc.d/init.d/redis_7116 start

 

CentOS Redis cluster 高可用架构篇

CentOS Redis cluster 高可用架构篇

CentOS Redis cluster 高可用架构篇

  1. 执行创建命令

[[email protected] ~]# redis-trib.rb create --replicas 1 192.168.9.151:7111 192.168.9.151:7112 192.168.9.152:7113 192.168.9.152:7114 192.168.9.153:7115 192.168.9.153:7116

CentOS Redis cluster 高可用架构篇

 

检查集群信息

[[email protected] ~]# redis-trib.rb check 192.168.9.151:7111

[[email protected] ~]# redis-cli -h 192.168.9.151 -c -p 7111 cluster nodes

[[email protected] ~]# redis-cli -h 192.168.9.151 -c -p 7111

CentOS Redis cluster 高可用架构篇