redis-集群安装

一. 下载

redis官方网站经常无法访问,无法下载;可以从redis中文官网下载,这里可以下载到最新的稳定版,下载地址如下

http://www.redis.cn/download.html

下载包名称:redis-4.0.11.tar.gz

二. 安装环境说明

本例使用三台机器安装,有三个分片主节点,三个分片备节点,每个分片主节点对应一个分片备节点,分片主节点对应的分片备节点不能在同一台机器上,以保证高可用,信息如下表所示:

主机名

IP地址

分片主节点

分片备节点

slot分布

redis01

192.168.0.77

shard01:7001

shard02:7002

0--5460

redis02

192.168.0.78

shard02:7002

shard03:7002

5461--10922

redis03

192.168.0.79

shard03:7003

shard01:7002

10923--16383

三. 安装

下载之后,把压缩包拷贝到redis01服务器opt目录下,然后解压

#tar -zxvf redis-4.0.11.tar.gz

安装

#cd redis-4.0.11
#make

四. 创建配置文件

这里创建一个文件夹放置配置文件

#mkdir -p /opt/redis-4.0.11/cluster-conf/{7001,7002}
#mkdir -p /opt/redis-4.0.11/cluster-data
#touch /opt/redis-4.0.11/cluster-conf/7001/redis-7001.conf
#touch /opt/redis-4.0.11/cluster-conf/7002/redis-7002.conf
#mkdir /opt/redis-4.0.11/log

为配置文件redis-7001.conf添加内容

bind 192.168.0.77                                           #填写当前主机IP地址

port 7001                                                        #端口号对应配置文件名

daemonize yes

pidfile /var/run/redis/redis-7001.pid               #配置pid文件路径

logfile /opt/redis-4.0.11/log/redis-7001.log    #配置日志文件路径

dir /opt/redis-4.0.11/cluster-data                   #数据文件目录

dbfilename dump7001.rdb                           #配置rdb文件名称

cluster-enabled yes                                     #开启集群模式

cluster-config-file nodes-7001.conf             #集群节点信息存储文件

appendonly yes                                           #启用aof

cluster-node-timeout 15000                        #请求超时设置

appendfilename "appendonly-7001.aof"     #aof文件名称

为配置文件redis-7002.conf添加内容

bind 192.168.0.77                                              #填写当前主机IP地址,

port 7002                                                           #端口号对应配置文件名

daemonize yes

pidfile /var/run/redis/redis-7002.pid                   #配置pid文件路径

logfile /opt/redis-4.0.11/log/redis-7002.log        #配置日志文件路径

dir /opt/redis-4.0.11/cluster-data                       #数据文件目录

dbfilename dump7002.rdb                                #配置rdb文件名称

cluster-enabled yes                                          #开启集群模式

cluster-config-file nodes-7002.conf                  #集群节点信息存储文件

appendonly yes                                               #启用aof

cluster-node-timeout 15000                            #请求超时设置

appendfilename "appendonly-7002.aof"         #aof文件名称

五. 打包拷贝

将程序打包拷贝到另外两台机器,且解压到同样的目录下

#cd /opt
#tar -zcvf ./redis-4.0.11.tar.gz ./redis-4.0.11
#scp ./redis-4.0.11.tar.gz redis02:/opt
#scp ./redis-4.0.11.tar.gz redis03:/opt

登录redis02和redis03主机解压

#cd /opt
#tar -zxvf redis-4.0.11.tar.gz

六. 修改配置

主机redis02修改配置文件redis-7001.conf

bind 192.168.0.78

主机redis02修改配置文件redis-7002.conf

bind 192.168.0.78

主机redis03修改配置文件redis-7001.conf

bind 192.168.0.79

主机redis03修改配置文件redis-7002.conf

bind 192.168.0.79

七. 安装ruby

备注:如果无法安装相关组件,则可以跳过这段,使用手动创建集群,参考第八段

第一次配置集群需要使用redis-trib.rb工具,redis-trib.rb是使用ruby语言写的,所以需要安装ruby依赖

使用redis01机器做集群配置,ruby则安装到redis01机器上

#yum install ruby rubygems
#gem install redis

八. 启动redis

分别到三台机器上启动redis

#cd /opt/redis-4.0.11
#./src/redis-server ./cluster-conf/7001/redis-7001.conf
#./src/redis-server ./cluster-conf/7002/redis-7002.conf

九. 创建集群

在redis01机器上,执行命令redis-trib.rb创建集群

#redis-trib.rb create --replicas 1 192.168.0.77:7001 192.168.0.77:7002 192.168.0.78:7001 192.168.0.78:7002 192.168.0.79:7001 192.168.0.79:7002

以上命令,系统会随机分配主分片节点和备分片节点,这里不建议使用;建议使用以下办法

1. 创建三个主分片节点

#redis-trib.rb create 192.168.0.77:7001 192.168.0.78:7001 192.168.0.79:7001

备注:有时候,内网安装ruby等工具比较麻烦,也可以不使用redis-trib.rb工具,可以完全使用手动方式添加集群

#./src/redis-cli -h 192.168.0.77 -p 7001
192.168.0.77:7001> CLUSTER MEET 192.168.0.77 7001
192.168.0.77:7001> CLUSTER MEET 192.168.0.78 7001
192.168.0.77:7001> CLUSTER MEET 192.168.0.79 7001

分配槽位为主分片节点

./src/redis-cli -h 192.168.0.77 -p 7001 cluster addslots {0..5460}
./src/redis-cli -h 192.168.0.78 -p 7001 cluster addslots {5461..10922}
./src/redis-cli -h 192.168.0.79 -p 7001 cluster addslots {10923..16383}

2. 手动添加备分片节点

连接到redis服务器,添加节点到cluster

#./src/redis-cli -h 192.168.0.77 -p 7001
192.168.0.77:7001>cluster meet 192.168.0.77 7002
192.168.0.77:7001>cluster meet 192.168.0.78 7002
192.168.0.77:7001>cluster meet 192.168.0.79 7002

使用cluster nodes查询主节点对应ID(命令的输出这里没有放在文档里面)

#./src/redis-cli -h 192.168.0.77 -p 7001
192.168.0.77:7001> cluster nodes

主节点

ID 

192.168.0.77 7001

1d90f04edb565027b567cf1d5f062007035c721b

192.168.0.78 7001

8b41eb962aeee9593059f0b44b30c7bd094976fa

192.168.0.79 7001

144d286835362f54b7ff82bd7246516818f90e28

将添加的三个节点变更为备分片节点,分别登录三个备份节点

#./src/redis-cli -h 192.168.0.77 -p 7002
192.168.0.77:7002>CLUSTER REPLICATE 144d286835362f54b7ff82bd7246516818f90e28
#./src/redis-cli -h 192.168.0.78 -p 7002
192.168.0.78:7002>CLUSTER REPLICATE 1d90f04edb565027b567cf1d5f062007035c721b
#./src/redis-cli -h 192.168.0.79 -p 7002
192.168.0.79:7002>CLUSTER REPLICATE 8b41eb962aeee9593059f0b44b30c7bd094976fa

猜你喜欢

转载自blog.csdn.net/capricorn_don/article/details/83471754