一、环境准备
本文使用阿里云主机进行演示,1核2G内存,操作系统CentOS7.3。Redis版本3.2.4,使用redis-trib.rb命令搭建集群,使用该命令搭建集群至少3主3从结构,故集群搭建规划如下:
IP | 端口 | 备注 |
---|---|---|
127.0.0.1 | 7000 | master-1 |
127.0.0.1 | 7001 | master-2 |
127.0.0.1 | 7002 | master-3 |
127.0.0.1 | 7003 | slave(master-1) |
127.0.0.1 | 7004 | slave(master-2) |
127.0.0.1 | 7005 | slave(master-3) |
二、Redis安装配置
选择安装的目录,下载解压Redis安装包。
cd /usr/local/software
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz

在Redis安装目录下执行make命令安装Redis。
cd redis-3.2.4
make && make install
创建集群运行目录,从Redis安装目录复制redis.conf配置文件。
mkdir /usr/local/redis-cluster
在上述redis-cluster目录下创建集群的6个运行目录,本文以其中一个运行目录为例,其余目录的配置类似,这里不再赘述。
cd redis-cluster
mkdir redis-3.2.4-node1
cd redis-3.2.4-node1
//新建目录与redis.conf的log、data配置路径一致
mkdir logs data
cd /usr/local/software/redis-3.2.4
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node1
修改redis.conf配置文件,核心修改信息如下:
port 7000 //端口7000,7001,7002,7003,7004,7005
bind 127.0.0.1
daemonize yes //redis后台运行
pidfile /usr/local/redis-cluster/redis-3.2.4-node1/redis_7000.pid //node1、2、3、4、5、6 & pidfile文件对应7000,7001,7002,7003,7004,7005
cluster-enabled yes //开启集群
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002,7003,7004,7005
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //开启aof
logfile "/usr/local/redis-cluster/redis-3.2.4-node1/logs/redis_7000.log" //node1、2、3、4、5、6 配置日志输入路径 7000,7001,7002,7003,7004,7005
dir "/usr/local/redis-cluster/redis-3.2.4-node1/data" //node1、2、3、4、5、6配置数据文件存放路径
个人redis.conf配置文件,飞书链接:redis.conf配置文件,密码: 2xFw。其余5个节点配置好后,分别启动每个节点。
cd /usr/local/bin/
./redis-server /usr/local/redis-cluster/redis-3.2.4-node1/redis.conf
./redis-server /usr/local/redis-cluster/redis-3.2.4-node2/redis.conf
./redis-server /usr/local/redis-cluster/redis-3.2.4-node3/redis.conf
./redis-server /usr/local/redis-cluster/redis-3.2.4-node4/redis.conf
./redis-server /usr/local/redis-cluster/redis-3.2.4-node5/redis.conf
./redis-server /usr/local/redis-cluster/redis-3.2.4-node6/redis.conf
查看redis是否启动成功。
ps -ef | grep redis
三、集群创建
使用redis-trib.rb命令创建redis集群依赖Ruby,Centos Ruby默认版本是2.0.0,不符合最低版本要求,故需要手动下载Ruby。涉及的下载操作命令如下:
//获取密钥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
//升级ruby版本
curl -sSL https://get.rvm.io | bash -s stable
//使rvm可用
source /usr/local/rvm/scripts/rvm
//查看Ruby可用版本
rvm list known
//下载2.3.0版本-下载时间较长
rvm install 2.3.0
//指定使用版本
rvm use 2.3.0
//移除旧版本-如果有的话
rvm remove 版本号
//安装gem redis接口
gem install redis
//安装rubygems
yum install -y rubygems
查看Ruby安装版本:

查看Ruby可用版本:

将redis-trib.rb命令复制到/usr/local/bin下,方便集中管理。
cd /usr/local/software/redis-3.2.4/src/
cp redis-trib.rb /usr/local/bin
创建redis集群:
cd /usr/local/bin
./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
查看redis集群进程信息:

四、集群测试
进入redis集群节点1,查看集群相关信息。
cd /usr/local/bin
./redis-cli -h 127.0.0.1 -c -p 7000
//查看集群总体信息
cluster info
//查看集群主从关系
cluster nodes
集群总体信息:

集群主从关系:

在集群节点1上设置redis值如下:
set user:name:1024 gitpushfailed
切换到节点5,查看设置的值:
./redis-cli -h 127.0.0.1 -c -p 7004
get user:name:1024

网友评论