redis cluster 安装配置

实验环境:

三主三从,从负责备份.

192.168.2.201 6381
192.168.2.201 6382
192.168.2.202 6381
192.168.2.202 6382
192.168.2.203 6381
192.168.2.203 6382

  三台机器,每台机器两个实例,总共6个实例。

1.创建文件夹

[root@localhost ~]# mkdir -p /usr/local/redis-cluster/6381
[root@localhost ~]# mkdir -p /usr/local/redis-cluster/6382

2.解压编译安装redis

[root@localhost softwares]# tar -zxvf redis-5.0.3.tar.gz
[root@localhost softwares]# cd redis-5.0.3/

[root@localhost softwares]# make MALLOC=libc PREFIX=/usr/local/redis-cluster/6381 install
[root@localhost softwares]# make MALLOC=libc PREFIX=/usr/local/redis-cluster/6382 install

3. 修改配置文件

bind 0.0.0.0                        // 测试环节,任何地址都可连接
port 6381                           // 修改成对应的端口号
daemonize yes                       // 后台运行
pidfile /var/run/redis_6381.pid     // pid文件
logfile "/usr/local/redis-cluster/6381/redis_6381.log"               // 日志
dir "/usr/local/redis-cluster/6381"
appendonly yes                      // 开启 aop 备份
appendfsync always                  // 每写一条 备份 一次
cluster-enabled yes                 // 开启 Redis Cluster 
cluster-config-file nodes-6381.conf // 记录集群信息,不用手动维护,Redis Cluster 会自动维护
cluster-node-timeout 15000          // Cluster 超时时间
cluster-require-full-coverage no    // 只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no

4. 启动redis

[root@Node201 6381]# cd /usr/local/redis-cluster/6381
[root@Node201 6381]# bin/redis-server redis.conf

分别在每台机器上启动两个。
复制配置文件到其他机器:
[root@Node201 6381]# scp /usr/local/redis-cluster/6381/redis.conf 192.168.2.202:/usr/local/redis-cluster/6381/.
[root@Node201 6381]# scp /usr/local/redis-cluster/6381/redis.conf 192.168.2.203:/usr/local/redis-cluster/6381/.

[root@Node201 6382]# scp /usr/local/redis-cluster/6382/redis.conf 192.168.2.202:/usr/local/redis-cluster/6382/.
[root@Node201 6382]# scp /usr/local/redis-cluster/6382/redis.conf 192.168.2.203:/usr/local/redis-cluster/6382/. 

5. 创建集群

[root@Node201 src]# /home/softwares/redis-5.0.3/src/redis-trib.rb create --replicas 1 192.168.2.201:6381 192.168.2.201:6382 192.168.2.202:6381 192.168.2.202:6382 192.168.2.203:6381 192.168.2.203:6382
报错:
因为新版本不用ruby了,改用c语言实现了。所以只能用redis-cli 了。所以不用再安装ruby了。

 

[root@Node201 src]# redis-cli --cluster create 192.168.2.201:6381 192.168.2.201:6382 192.168.2.202:6381 192.168.2.202:6382 192.168.2.203:6381 192.168.2.203:6382 --cluster-replicas 1
出现下面的截图说明创建成功了。

6.进入集群

[root@Node201 6381]# bin/redis-cli -c -h 192.168.2.201 -p 6381

7. 高可用验证

注:当某个master shutdown后,他的slot会自动分给其他活着的master,并且从slave中选举出新的master。

原文地址:https://www.cnblogs.com/ZHUJIBlogs/p/10384129.html