redis 集群搭建

1.安装环境

Redis版本:redis-3.2.11.tar.gz
Redis gem版本:redis-3.2.1.gem
redis.clients版本: redis.clients-2.9.0

2.集群搭建介绍

Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。集群中至少应该有奇数个节点,所以至少有三个节点,每个节点至少有一个备份节点,所以下面使用6节点,采用三台虚拟机实现。

  • 1.安装redis

解压redis安装包

/develop# tar xzf redis-3.2.11.tar.gz 
进入解压完成的redis目录
cd redis-3.2.11/
安装redis
make
make install PREFIX=/usr/andy/redis-cluster
  • 2.修改配置文件redis.conf配置文件
1.复制redis配置文件到redis安装路径:/usr/andy/redis-cluster/bin/
    cp redis.conf /usr/andy/redis-cluster/bin/
2.进入/usr/andy/redis-cluster/bin/路径,修改bin目录名称,根据需求复制多份
    cd /usr/andy/redis-cluster/
    mv bin/ redis1
cp -r redis1/ ./redis2  (复制5份,并修改redis.conf配置文件):
3.修改redis.conf配置文件:
1. 屏蔽限制本地访问,在bind 127.0.0.1之前加#(同机器下,可能不需要改,未做测试)
2. protected-mode后的yes改为no
3. daemonize后的no改为yes
4. 去掉cluster-enabled yes前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-enabled,回车,就可以快速找到)
5.去掉cluster-node-timeout 15000前面的#,方法同4)
6. port后的端口号改6次,每次都改成与之前创建的6个包名一致,如7001,每改一次,将redis.conf文件,复制到对应的包下,如7001(端口只要不冲突可以随便改,这里 为了方便管理改成和包名一致)
7. pidfile  ./redis_7001.pid        //pidfile文件对应7001,7002,7003,7004,7005,
7006(根据当前port端口配置)
8. cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7001,7002,7003,7004,7005,7006 (根据当前port端口配置)
9. appendonly  yes         //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
  • 3.准备ruby环境(注意:ruby版本环境不得低于2.2.2)
    1.Ruby推荐下载rvm ruby环境版本管理器下载安装,执行命令安装rvm
    curl -L get.rvm.io | bash -s stable
    2.安装rvm
    source /etc/profile.d/rvm.sh
    3.测试是否安装成功
    rvm -v
    4.列出已知ruby版本
    rvm list known
    5.选择执行安装
    rvm install 2.4
    若未安装成功,安装ruby建议手动下载安装,推荐2.4.4,下载路径: http://www.ruby-lang.org/en/downloads/
    安装步骤:
    $ cd ruby-2.4.0
    $ ./configure
    $ make
    $ sudo make install

安装成功,配置环境变量:

export RUBY_HOME=/develop/ruby-2.4.4
export PATH=${RUBY_HOME}/bin:$PATH 

编译环境生效:

source /etc/profile

ruby环境准备完成,执行:gem install redis

3.构建集群

  • 1.启动各个节点下的redis服务
redis6]# ./redis-server redis.conf 

查看redis状态

redis6]# ps -ef|grep redis

确保各个节点下的redis为启动状态

  • 2.使用redis-trib.rb命令构建集群
/redis-3.2.11/src# ./redis-trib.rb  create  --replicas  1 172.16.124.139:7001 172.16.124.139:7002 172.16.124.139:7003 172.16.124.139:7004 172.16.124.139:7005 172.16.124.139:7006

4.构建集群成功,查看集群状态。

  • 1.连接集群
./redis.cli -c -h 172.16.124.139 -p 7006
  • 2.查看集群状态
172.16.124.139:7006> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:8
cluster_my_epoch:5
cluster_stats_messages_sent:4116873
cluster_stats_messages_received:4116873
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 在测试服务器(CentOS 系统)上搭建 Redis 集群,这里一步步实践并整理一些较好的步骤。 正文 简单...
    mrzhqiang阅读 573评论 0 0
  • 先说明下我们本次安装的环境配置以及最终的目标:环境:3台CentOS-7.4.1708(阿里云主机)目标搭建Red...
    依然范特希阅读 843评论 0 0
  • CENTOS7 redis集群部署 下载redis包 网络地址:http://www.redis.net.cn/d...
    youlangta阅读 264评论 0 0
  • redis 集群搭建 redis集群搭建包含两个主要步骤:一是搭建若干单节点redis服务器,二是启动集群控制进程...
    southlake阅读 3,089评论 0 4
  • 中午接到儿子电话,她以为是报喜的,儿媳预产期过了近一周了。 “妈,爸说没空回来,小雅已经住进医院了,我一个人怎么办...
    秋之语阅读 332评论 19 9