首先要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下:
- 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。官网下载3.0.0以上版本,之前2.几的版本不支持集群模式
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
tar -xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make install
二、创建集群需要的目录
mkdir -p /usr/local/cluster
cd /usr/local/cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
三、修改配置文件redis.conf,并将其拷贝到对应的目录下
cp /usr/local/redis4.0/redis.conf /usr/local/cluster
vim redis.conf
##修改配置文件中的下面选项
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面
cp /usr/local/cluster/redis.conf /usr/local/cluster/7000/
cp /usr/local/cluster/redis.conf /usr/local/cluster/7001/
cp /usr/local/cluster/redis.conf /usr/local/cluster/7002/
cp /usr/local/cluster/redis.conf /usr/local/cluster/7003/
cp /usr/local/cluster/redis.conf /usr/local/cluster/7004/
cp /usr/local/cluster/redis.conf /usr/local/cluster/7005/
注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称
四、分别启动这6个redis实例
cd /usr/local/cluster/7000
redis-server redis.conf
cd /usr/local/cluster/7001
redis-server redis.conf
cd /usr/local/cluster/7002
redis-server redis.conf
cd /usr/local/cluster/7003
redis-server redis.conf
cd /usr/local/cluster/7004
redis-server redis.conf
cd /usr/local/cluster/7005
redis-server redis.conf
启动之后使用命令查看redis的启动情况 ps -ef | grep redis
五、执行redis的创建集群命令创建集群
安装依赖包:
yum -y install ruby ruby-devel rubygems rpm-build
cd /usr/local/redis4.0/src
./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
备注:–replicas 1 表示自动为每个master节点分配一个slave节点
假如没安装依赖包,会报以下错误:
1、执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby -y2、然后再执行第五步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
错误内容:
./redis-trib.rb:24:in `require’: no such file to load – rubygems (LoadError)
from ./redis-trib.rb:24
yum install rubygems -y3、再次执行第五步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem安装
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require': no such file to load -- redis (LoadError)
require’
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
from ./redis-trib.rb:25
gem install redis
再次执行第五步的命令,正常执行
输入yes,然后配置完成。
至此redis集群即搭建成功!
运行./redis-trib.rb check 127.0.0.1:7001
使用redis-cli命令进入集群环境
redis-cli -c -p 7000