安装ruby环境
注:redis-cluster的搭建需要redis3.0以上
redis-trib.rb 是redis官方提供的一个集群管理工具,在redis的 src 目录下。它需要ruby环境。
yum install ruby
yum install rubygems
准备好6份redis(三主三从)
// 在/usr/local下添加redis-cluster目录
mkdir redis-cluster
// 拷贝6份
cp -r /usr/local/redis /usr/local/redis-cluster/redis01
cp -r /usr/local/redis /usr/local/redis-cluster/redis02
cp -r /usr/local/redis /usr/local/redis-cluster/redis03
cp -r /usr/local/redis /usr/local/redis-cluster/redis04
cp -r /usr/local/redis /usr/local/redis-cluster/redis05
cp -r /usr/local/redis /usr/local/redis-cluster/redis06
// 将redis-trib.rb拷贝一份到redis-cluster
cp /usr/local/redis/src/redis-trib.rb /usr/local/redis-cluster/
配置各个redis的redis.conf
// 后台运行
daemonize yes
// 由于一台电脑,所以各个redis配置6个不同的端口
port 7001
// 启用cluster
cluster-enabled yes
启动各个redis
安装ruby的redis接口
// 可能遇到说ruby版本过低的问题,该问题的解决在博客最下方
gem install redis
建立集群
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
测试
// 客户端连接
redis-cli -c -h 127.0.0.1 -p 7001
// 查看cluster的各节点
cluster nodes
// 查看cluster的一些信息
cluster info
// 测试数据分片
set a 1
set b 2
set c 3
get a
get b
get c
// 测试主从
ps -ef | grep redis
// 杀死一个redis主节点的进程
kill -9 PID
// 查看相应从节点是否变为主节点
cluster nodes
可能碰到的问题
// 执行下面命令可能碰到说ruby版本过低
gem install redis
// 以下解决方式
// 安装RVM
curl -L get.rvm.io | bash -s stable
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
find / -name rvm -print
source /usr/local/rvm/scripts/rvm
// 查看支持的版本
rvm list known
// 选择一个版本安装
rvm install 2.5.1
// 默认使用该版本的ruby
rvm use 2.5.1 --default
// 确认ruby的版本
ruby --version
// 最后执行gem install redis
gem install redis