前提:
redis 是使用C语言开发,编译依赖 gcc 环境,如果没有 gcc 环境,需要先安装 gcc
yum install gcc-c++
redis集群管理工具 redis-trib.rb 依赖 ruby 环境,如果没有 ruby 环境,首先需要安装 ruby 环境(仅单机不需要)
注:redis 3.0版本才增加redis集群功能
yum install ruby
yum install rubygems
一、安装单机版redis
1、自行下载好redis的 tar 包。
redis 官方下载地址 https://redis.io/download
博主使用的版本号为 :3.2.11
2、解压tar包
tar zxvf redis-3.2.11.tar.gz
3、进入目录、编译、安装
cd redis-3.2.11
make
sudo make install
二、集群搭建
假设三台主机IP分别为 :
192.168.0.1
192.168.0.2
192.168.0.3
1、在/usr/local下创建redis-cluster目录,其下创建7001、7002、7003目录
sudo mkdir -p/usr/local/redis-cluster/7000
sudo mkdir -p /usr/local/redis-cluster/7001
sudo mkdir -p /usr/local/redis-cluster/7002
2、修改配置文件
分别修改每台主机上 7001-7003目录下的配置文件
IP地址修改为本机IP 如在192.168.0.1上,修改为: bind 192.168.0.1
如在7000目录下,修改端口为:port 7000
cluster-enabled 修改为 yes
另外两台主机操作相同
3、安装gem
gem install -l redis-3.3.5.gem
4、分别启动服务
/usr/local/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/7002/redis.conf
检查状态
ps -ef | grep redis
保证每个节点启动后,开始创建集群
cd redis-3.2.11/src
./redis-trib.rb create 192.168.0.1:7000 192.168.0.2:7001 192.168.0.3:7002
此处可以查看到集群ID,请注意记下集群ID及其对应的主机IP
./redis-trib.rb check 192.168.0.1:7000
M: 40d543ab384d3ea99f386e6828f1499d2312d1d3 192.168.0.1:7000
slots:0-5460 (5461 slots) master
2 additional replica(s)
M: 210f78e0645d3a59adc991ac4701bd2ewe12331d 192.168.0.2:7001
slots:5461-10922 (5462 slots) master
2 additional replica(s)
M: 1641fd6b88e73e918554eeedd89ab57021dwdqf1 192.168.0.3:7002
slots:10923-16383 (5461 slots) master
2 additional replica(s)
向7000中添加slave节点
./redis-trib.rb add-node --slave --master-id 40d543ab384d3ea99f386e6828f1499d2312d1d3 192.168.0.2:7000 192.168.0.1:7000
./redis-trib.rb add-node --slave --master-id 40d543ab384d3ea99f386e6828f1499d2312d1d3 192.168.0.3:7000 192.168.0.1:7000
向7001中添加slave节点
./redis-trib.rb add-node --slave --master-id 210f78e0645d3a59adc991ac4701bd2ewe12331d 192.168.0.1:7001 192.168.0.2:7001
./redis-trib.rb add-node --slave --master-id 210f78e0645d3a59adc991ac4701bd2ewe12331d 192.168.0.3:7001 192.168.0.2:7001
向7002中添加slave节点
./redis-trib.rb add-node --slave --master-id 1641fd6b88e73e918554eeedd89ab57021dwdqf1 192.168.0.1:7003 192.168.0.3:7003
./redis-trib.rb add-node --slave --master-id 1641fd6b88e73e918554eeedd89ab57021dwdqf1 192.168.0.2:7003 192.168.0.3:7003
三、检查集群状态
./redis-trib.rb check 192.168.0.1:7000
/usr/local/bin/redis-cli -c -h 192.168.0.1 -p 7000