参考文档
Redis 官方集群指南:http://redis.io/topics/cluster-tutorial
Redis 官方集群规范:http://redis.io/topics/cluster-spec
Redis 集群指南(中文翻译,紧供参考):http://redisdoc.com/topic/cluster-tutorial.html
Redis 集群规范(中文翻译,紧供参考): http://redisdoc.com/topic/cluster-spec.html
Redis 集群的安装(Redis3.0.3 + CentOS6.10_x64)
要让 Redis3.0 集群正常工作至少需要 3 个 Master 节点,要想实现高可用,每个 Master 节点要配 备至少 1 个 Slave 节点。根据以上特点和要求,进行如下的集群实施规划:
使用 6 台服务器(物理机或虚拟机)部署 3 个 Master + 3 个 Slave;
环境:centos6.10、redis-3.0.3
只是自己练手玩的,所以只是在一台虚拟机上配置的伪集群
解压压缩包:tar -zxvf redis-3.0.3.tar.gz
准备安装需要的包:yum install gcc tcl
修改配置文件:vim redis.conf
最小配置:端口号(因为在同一虚拟机下,端口号需要不同)
集群开关 注释解开,不解开为单例模式
安装redis:make install
版本有点早,该更新更新
遇到的问题:
提示jemalloc太老了,更新
cd deps/
make hiredis jemalloc linenoise lua geohash-int
将redis复制6份,分别修改端口,地址可改可不改,默认localhost
全部安装完毕,启动redis
没有配置服务备了个脚本
cd redis01
redis-server redis.conf
cd ..
cd redis02
redis-server redis.conf
cd ..
cd redis03
redis-server redis.conf
cd ..
cd redis04
redis-server redis.conf
cd ..
cd redis05
redis-server redis.conf
cd ..
cd redis06
redis-server redis.conf
cd ..
关闭脚本:
redis-cli -h 192.168.3.45 -p 7001 shutdown
redis-cli -h 192.168.3.45 -p 7002 shutdown
redis-cli -h 192.168.3.45 -p 7003 shutdown
redis-cli -h 192.168.3.45 -p 7004 shutdown
redis-cli -h 192.168.3.45 -p 7005 shutdown
redis-cli -h 192.168.3.45 -p 7006 shutdown
准备创建集群
安装 ruby 和 rubygems:
先安装rvm
虚拟机下载很慢,建议事先备好直接解压缩
1、 curl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz
2、 tar --strip-components=1 -xzf ../rvm-stable.tar.gz
3、 ./install --auto-dotfiles
4、 查找配置文件 find / -name rvm.sh
5、 配置文件生效 source /etc/profile.d/rvm.sh
6、 下载rvm依赖 rvm requirements
7、 查看rvm库ruby版本 rvm list known
8、 安装ruby指定版本 rvm install ruby-2.4.1
9、 使用ruby版本默认 rvm use 2.4.1 default
10、 gem install redis
创建集群命令(只需要在一个节点执行即可)
./redis-trib.rb create --replicas 1 192.168.3.45:7001 192.168.3.45:7002 192.168.3.45:7003 192.168.3.45:7004 192.168.3.45:7005 192.168.3.45:7006
至此成功,三个主节点、三个从节点
集群简单测试
使用 redis-cli 命令进入集群环境
-c 以集群方式打开 -h 主机地址 -p 端口号
[root@edu-redis-04 bin]# redis-cli -c -h 192.168.3.45 -p 7001
192.168.3.45:7001> set yuzk yuzhenkai
-> Redirected to slot [8559] located at
192.168.3.45:7001 OK
[root@edu-redis-01 bin]# redis-cli -c -h 192.168.3.45 -p 7002
192.168.3.45:7002> get yuzk
“yuzhenkai”
-> Redirected to slot [8559] located at 192.168.3.45:7002
退出redis:shutdown 关闭
quit 退出但不关闭