CentOS 7 搭建redis 4.0.11集群

一、单节点部署redis集群

1、创建redis集群目录    

    在同一个主机中部署三主三从的redis集群,redis节点为7001-7006。

    新建redis集群目录:mkdir -p /usr/local/redis-cluster,在该目录下创建6个目录:7001-7006,分别为6个redis节点的工作目录:

    mkdir -p 7001 7002 7003 7004 7005 7006

2、安装gcc

    redis进行源码安装,先要安装gcc,再make redis。执行以下命令安装redis:

    yum -y install gcc gcc-c++ libstdc++-devel

3、安装ruby

    执行以下命令安装ruby2.5,如果ruby版本过低,无法启动redis集群。

    yum install -y centos-release-scl-rh
    yum install -y rh-ruby25
    scl enable rh-ruby25 bash

    检验并查看ruby版本:

    ruby -v

    最后执行如下命令:

    gem install redis

4、下载并安装redis节点

    从redis官网https://redis.io/下载redis最新版本redis-4.0.11。解压redis:

    tar -zxvf redis-4.0.11.tar.gz

    创建redis安装目录:

    mkdir -p /usr/local/redis

    进入解压后的redis-4.0.11目录,执行make命令,将redis安装进/usr/local/redis:

    make install PREFIX=/usr/local/redis

    将redis配置文件redis.conf复制到集群目录下:

    cp redis.conf /usr/local/redis-cluster

    将redis安装后的bin目录复制进6个redis节点工作目录中:

    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7001
    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7002
    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7003
    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7004
    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7005
    cp -r /usr/local/redis/bin /usr/local/redis-cluster/7006

    最后配置6个节点的配置文件redis.conf,配置修改如下:

#bind 127.0.0.1
protected-mode no
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    屏蔽限制本地访问,在bind 127.0.0.1之前加#(同机器下,可能不需要改,未做测试)。

    将redis.conf文件复制进7001-7006中:

    cp redis.conf 7001
    cp redis.conf 7002
    cp redis.conf 7003
    cp redis.conf 7004
    cp redis.conf 7005
    cp redis.conf 7006

    分别修改6个节点中的redis.conf中的port端口配置,分别配置成7001-7006。

    配置好redis.conf后,便可以启动6个redis节点,分别在6个节点目录下执行如下命令启动6个节点:

    ./bin/redis-server ./redis.conf

    执行ps -ef|grep redis可查看启动的6个节点。

5、启动redis集群

    进入最开始解压出来的redis-4.0.11/src目录下,执行如下命令启动集群:

    ./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

6、验证集群

    进入任一redis节点,如进入7001节点:

    进入7001目录:

    cd /usr/local/redis-cluster/7001

    登录7001节点:

    ./bin/redis-cli -c -p 7001

    写入一个数据:

    set redis cluster

    之后进入其他节点,查看redis中的数据,如登录7005节点:

    ./bin/redis-cli -c -p 7005

    查看redis数据:

    get redis

 

二、多节点部署redis集群

1、服务器集群

服务器 redis节点
node-i(192.168.0.111) 7001,7002
node-ii(192.168.0.133) 7003,7004
node-iii(192.168.0.155) 7005,7006

    三个节点都关闭防火墙:

    chkconfig iptables off
    systemctl stop iptables
    systemctl disable iptables
    systemctl stop firewalld
    systemctl disable firewalld

    查看防火墙状态:

    systemctl status iptables
    systemctl status firewalld

2、安装gcc

    如上。

3、安装ruby

    如上。

4、配置redis节点

(1)、node-i(192.168.0.111)

    (a).安装redis

    创建redis目录:

    mkdir -p /usr/local/redis-i
    mkdir -p /usr/local/redis-cluster/7001 /usr/local/redis-cluster/7002

    解压redis:

    tar -zxvf redis-4.0.11.tar.gz

    进入redis-4.0.11目录,执行make命令,将redis安装在/usr/local/redis-i目录下:

    make install PREFIX=/usr/local/redis-i

    复制redis.conf到redis集群节点目录下:

    cp redis.conf /usr/local/redis-cluster/7001
    cp redis.conf /usr/local/redis-cluster/7002

    进入/usr/local/redis-i目录,将生成的 bin目录复制到redis集群节点目录下:

    cp -r bin /usr/local/redis-cluster/7001
    cp -r bin /usr/local/redis-cluster/7002

    分别修改节点7001、7002的配置文件redis.conf,修改如下:

    7001:

bind 192.168.0.111
protected-mode no
port 7001
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    7002:

bind 192.168.0.111
protected-mode no
port 7002
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    (b).启动redis节点

    分别启动7001和7002节点:

    分别在/usr/local/redis-cluster/7001和/usr/local/redis-cluster/7002目录,执行如下命令: 

    ./bin/redis-server ./redis.conf

    通过ps命令查看启动的redis节点:

    ps -ef|grep redis

(2)、node-ii(192.168.0.133)

    (a).安装redis

    创建redis目录:

    mkdir -p /usr/local/redis-ii
    mkdir -p /usr/local/redis-cluster/7003 /usr/local/redis-cluster/7004

    解压redis:

    tar -zxvf redis-4.0.11.tar.gz

    进入redis-4.0.11目录,执行make命令,将redis安装在/usr/local/redis-ii目录下:

    make install PREFIX=/usr/local/redis-ii

    复制redis.conf到redis集群节点目录下:

    cp redis.conf /usr/local/redis-cluster/7003
    cp redis.conf /usr/local/redis-cluster/7004

    进入/usr/local/redis-ii目录,将生成的 bin目录复制到redis集群节点目录下:

    cp -r bin /usr/local/redis-cluster/7003
    cp -r bin /usr/local/redis-cluster/7004

    分别修改节点7003、7004的配置文件redis.conf,修改如下:

    7003:

bind 192.168.0.133
protected-mode no
port 7003
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    7004:

bind 192.168.0.133
protected-mode no
port 7004
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    (b).启动redis节点

    分别启动7003和7004节点:

    分别在/usr/local/redis-cluster/7003和/usr/local/redis-cluster/7004目录,执行如下命令: 

    ./bin/redis-server ./redis.conf

    通过ps命令查看启动的redis节点:

    ps -ef|grep redis

(3)、node-iii(192.168.0.155)

    (a).安装redis

    创建redis目录:

    mkdir -p /usr/local/redis-iii
    mkdir -p /usr/local/redis-cluster/7005 /usr/local/redis-cluster/7006

    解压redis:

    tar -zxvf redis-4.0.11.tar.gz

    进入redis-4.0.11目录,执行make命令,将redis安装在/usr/local/redis-iii目录下:

    make install PREFIX=/usr/local/redis-iii

    复制redis.conf到redis集群节点目录下:

    cp redis.conf /usr/local/redis-cluster/7005
    cp redis.conf /usr/local/redis-cluster/7006

    进入/usr/local/redis-iii目录,将生成的 bin目录复制到redis集群节点目录下:

    cp -r bin /usr/local/redis-cluster/7005
    cp -r bin /usr/local/redis-cluster/7006

    分别修改节点7005、7006的配置文件redis.conf,修改如下:

    7005:

bind 192.168.0.155
protected-mode no
port 7005
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    7006:

bind 192.168.0.155
protected-mode no
port 7006
daemonize yes
cluster-enabled yes
cluster-node-timeout 15000

    (b).启动redis节点

    分别启动7005和7006节点:

    分别在/usr/local/redis-cluster/7005和/usr/local/redis-cluster/7006目录,执行如下命令: 

    ./bin/redis-server ./redis.conf

    通过ps命令查看启动的redis节点:

    ps -ef|grep redis

5、启动redis集群

    以上步骤完成,6个redis节点都已经启动完成。现在启动redis集群,在任一服务器上都可以启动集群,进入最开始解压出来的redis-4.0.11目录的src子目录,执行如下命令启动redis集群:

    ./redis-trib.rb create --replicas 1 192.168.0.111:7001 192.168.0.111:7002 192.168.0.133:7003 192.168.0.133:7004 192.168.0.155:7005 192.168.0.155:7006

6、验证集群

    从任一主机进入任一redis节点,如从192.168.0.111主机中进入7001节点:

    进入7001目录:

    cd /usr/local/redis-cluster/7001

    登录7001节点:

    ./bin/redis-cli -c -h 192.168.0.111 -p 7001

    写入一个数据:

    set redis cluster

    之后进入其他节点,查看redis中的数据,如登录7005节点:

    ./bin/redis-cli -c -h 192.168.0.155 -p 7005

    查看redis数据:

    get redis

 

你可能感兴趣的:(分布式架构,redis)