centos 搭建redis集群

原创 2018年04月16日 17:30:26

前言

搭建集群需要6个点,我是3台虚拟机每台两个实例(根据自己的资源而定)
本文redis采用当前官网最新版本 redis-4.0.9
虚拟机系统 Centos7.4
  • 集群功能限制
    1:key批量操作支持有限
    2:key事物操作支持有限
    3:不支持多数据库空间,单机下redis可以支持16(0-15)个库,集群模式下只能使用一个数据库空间,即 db0 .
    4:复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制
    5:key作为数据分区的最小粒度,因此不能将一个大的键值对象如 hash 、list等映射到不同的节点。

1:各节点安装redis

wget http://download.redis.io/releases/redis-4.0.9.tar.gz

2:解压编译安装

tar -zxvf redis-4.0.9.tar.gz     //解压
cd redis-4.0.9      //进入解压后的目录
make && make install  //编译安装

3:创建 Redis 节点

分别在每台虚拟机/opt/redis-4.0.9/ 下创建 redis_cluster
mkdir redis_cluster
cp /opt/redis-4.0.9/redis.cof /opt/redis_cluster/redis01.conf
cp /opt/redis-4.0.9/redis.cof /opt/redis_cluster/redis02.conf

每台机器配置两个redis实例文件,修改端口等信息

各节点配置文件进行以下修改:

port  7001     //其余5个点端口7002,7003,7004,7005,7006        
bind 本机ip     //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes     //redis后台运行
pidfile  /var/run/redis_7001.pid   //pidfile文件
cluster-enabled  yes       //开启集群  把注释#去掉
cluster-config-file  nodes_7001.conf   //集群的配置  配置文件首次启动自动生成 
cluster-node-timeout  15000   //请求超时,默认15秒,可自行设置
appendonly  yes           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

4:启动全部节点

这里写图片描述

这里写图片描述

这里写图片描述

可以看到3台虚拟机每个机器2个节点都启动起来了。

5:创建集群(方法一)

  • Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。
redis-trib.rb  create  --replicas 1  10.30.X.X:7001   10.30.X.X:7002   10.30.X.X:7003  10.30.X.X:7004  10.30.X.X:7005  10.30.X.X:7006
  • –replicas 1 表示指定每个master创建1个从节点。

执行时如果遇到 /usr/bin/env: ruby: No such file or directory 报错
由于这个工具是用 ruby 实现的,所以需要安装 ruby。
安装ruby:
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
redis4.0之后需要 redis requires Ruby version >= 2.2.2
所以需要去官网拉取新的ruby包。
http://www.ruby-lang.org/en/downloads/
再次运行命令:

redis-trib.rb  create  --replicas 1  10.30.X.X:7001   10.30.X.X:7002   10.30.X.X:7003  10.30.X.X:7004  10.30.X.X:7005  10.30.X.X:7006

这里写图片描述
输入 yes 即可,然后出现如下内容,说明安装成功。

这里写图片描述

到这一步集群就算搭建完成 ,现在就可以登录到集群进行操作验证。

6:创建集群(方法二)

通过Gossip协议彼此通信握手,达到感知对方的存在。
命令:cluster meet x.x.x.x 7002

这里写图片描述

节点握手之后集群还不能正常工作,这时集群处于下线状态,所有数据读写都被禁止。

这里写图片描述

可以看到当前所有插槽没有分配到节点,因此集群无法完成槽到节点的映射。只有当16384个槽全部分配给节点后,集群才进入在线状态。

6.1:分配槽

命令(登录要分配曹位的节点):cluster addslots {0...5461} (分配0-5461槽位给当前机器)

6.2:添加从节点

命令:cluster replicate 主节点ID
例:127.0.0.1:7001> cluster replicate 2db18763b42040c76b1832e5b06c43bb5b78089f

Redis集群架构

Redis是现在使用最为广泛的NoSQL数据库技术,其自身不仅拥有着良好的操作性能,也被广泛的应用于各种集群架构的数据整合处理之中,而本课程将通过Redis的核心作用,以及单实例redis存在的问题为读者进行分析,而后重点讲解redis官方给出的集群实现方案。
  • 2017年02月12日 18:32

centos7 搭建redis集群

简单说明: 我们的集群结构: 我们的集群有三个主节点,每个主节点有一个从节点,一共有6个节点。都是在一台机器上创建多个redis实例来实现的。 1.集群环境的安装 1.1安装gcc,g++ yum i...
  • sfeng95
  • sfeng95
  • 2017-03-14 15:56:12
  • 1577

centos完美搭建redis3.0集群并附测试

由于最小的redis集群需要3个主节点,一台机器可运行多个redis实例,我搭建时使用两台机器,6个redis实例,其中三个主节点,三个从节点作为备份 网上很多使用单台服务器开6个端口,操作差不多,只...
  • nuli888
  • nuli888
  • 2016-08-06 06:50:25
  • 5781

centos7安装redis3.2.5集群

centos7安装redis3.2.5集群 本文是在虚拟机centos7系统上安装redis3.2.5集群 redis集群简介redis集群在启动的时候就自动在多个节点间分好片。同时提供了分片之间...
  • mingliangniwo
  • mingliangniwo
  • 2017-01-18 14:03:01
  • 814

centos6.7 搭建 redis集群

一,准备工作 1,下载redis包 redis-3.2.0.tar.gz 2,下载 tcl8.6.5-src.tar.gz (针对tcl版本过低的centos系统) 二,创建redis用户 u...
  • zimu002
  • zimu002
  • 2016-05-07 19:53:33
  • 790

Centos 6.5 Redis 集群部署

环境依赖安装 yum install gcc -y yum install gcc-c++ -y yum install make -y yum install zlib-...
  • hanzheng260561728
  • hanzheng260561728
  • 2016-05-29 19:52:47
  • 728

Centos7 搭建Redis3.2.0版本集群环境

一、CentOS7 下搭建Redis3.2.0集群环境比较简单,具体步骤如下: 搭建钱准备的资料: 1、redis-3.2.0.tar.gz  , reids的安装包 ; 2、redis-3.2.1....
  • weiguolong0306
  • weiguolong0306
  • 2016-06-04 23:12:28
  • 2531

Centos7安装Redis单机版和集群

一、单机版搭建      1.安装gcc编译环境,使用命令yum install gcc-c++      2.将redis源码上传到linux服务器(我的路径是/usr/local/tools/...
  • zh15732621679
  • zh15732621679
  • 2017-11-12 14:08:25
  • 246

centos ruby环境安装(redis集群搭建 )

redis3.0以上支持集群,自带集群管理工具redis-trib.rb;在搭建集群前,必须安装ruby环境ruby安装包下载安装开发工具 1、命令:yum groupinstall “Develo...
  • wangxiaofeng1124
  • wangxiaofeng1124
  • 2017-07-03 17:33:02
  • 1105

CentOS下搭建Redis集群

搭建环境   CentOS7  , Redis4.01 Redis集群正常工作至少需要3个节点,为了实现高可用,每个 Master 节点要配备至少 1 个 Slave 节点。所以需要部署6个redis...
  • zsg88
  • zsg88
  • 2017-07-31 22:12:11
  • 355
收藏助手
不良信息举报
您举报文章:centos 搭建redis集群
举报原因:
原因补充:

(最多只允许输入30个字)