- CentOs 7.2
- redis-3.2.3.tar.gz
- 下面安装的用户为root
- 要求每台机器上必须要安装gcc、ruby、rubygems
- 安装gcc
- 命令
- yum -y install gcc gcc-c++
- 查看是否安装成功
- rpm –qa|grep gcc
- 安装ruby 和 rubygems
- 命令
- yum -y install ruby
- 查看是否安装成功
- rpm –qa|grep ruby
该文档拟定两台服务器的集群,每台服务器上三个实例,分别做主备。
IP地址 | 端口 | 角色 |
192.168.159.128 | 6379 | 主节点1 |
192.168.159.128 | 6380 | 主节点2 |
192.168.159.128 | 6381 | 主节点3 |
192.168.159.129 | 6379 | 备节点1 |
192.168.159.129 | 6380 | 备节点2 |
192.168.159.129 | 6381 | 备节点3 |
192.168.159.130 | 6379 | 备节点4 |
192.168.159.130 | 6380 | 备节点5 |
192.168.159.130 | 6381 | 备节点6 |
表格 3‑1 集群环境机器列表
- 将redis-3.2.3.tar.gz解压都每个机器上的/home/redis文件夹中
- 在/home/redis/redis-3.2.3路径下执行命令
- make
- make install
- 在每台机器的/home/redis目录下建立redis-cluster文件夹、在其中分别建立6379、6380和6381三个子文件夹
- 然后将redis-3.2.3文件夹中的redis.conf 复制到两台机器的6379、6380和6381文件夹中
- 修改对应的配置(改成下面的配置)
- port 6379 (根据端口来修改)
- bind 192.168.159.128(写对应机器的ip)
- repl-diskless-sync yes
- daemonize yes
- cluster-enabled yes
- maxmemory 40gb(最大缓存设置,单位mb或者gb)
- maxmemory-policy volatile-lru(回收策略算法设置,设置为:回收最近最少使用的键,但是只回收设置超时时间的键)
- pidfile : 指定端口,样例:/CFCA/redisPid/redis_6379.pid
- logfile : 在每个节点文件夹中根据端口号制定日志文件,样例:“./端口.log”
- save : 将磁盘持久化功能禁用禁用掉:
- #save 900 1
- #save 300 10
- #save 60 10000
- Cluster-config-file : 改为端口号对应的名称
- node-端口号.conf
- cluster-node-timeout 30000
- cluster-require-full-coverage no
- 启动节点
- 分别在两台机器的6380、6381和6382文件夹下执行下面命令,启动对应的redis实例
- redis-server redis.conf
- 将六个实例添加到一个集群中
- 这里需要安装一个redis 和 ruby的接口
- gem install redis(注意:需要设置服务器时间同步,才能安装成功)
- 在/home/redis/redis-3.2.3/src目录下执行下面命令
- ./redis-trib.rb create --replicas 1
192.168.159.128:6379 192.168.159.128:6380 192.168.159.128:6381 192.168.159.129:6379 192.168.159.129:6379 192.168.159.129:6380
192.168.159.129:6381 192.168.159.130:6379
192.168.159. 130:6380 192.168.159. 130:6381
- 此时可以redis-cli -h ip地址 -p 端口号 进入redis客户端,然后通过下面命令查看redis的集群情况
- cluster nodes