第一步:环境介绍
linux系统版本: CentOS 7.3 64位
redis版本:redis-5.0.4
服务器:
服务器 | IP | Port | 说明 |
Redis主 | 192.168.6.111 | 8001 | Redis主服务器 |
Redis主 | 192.168.6.112 | 8002 | Redis主服务器 |
Redis主 | 192.168.6.113 | 8003 | Redis主服务器 |
Redis从 | 192.168.6.111 | 8004 | Redis从服务器,当主故障时参加选举。 |
Redis从 | 192.168.6.112 | 8005 | Redis从服务器,当主故障时参加选举。 |
Redis从 | 192.168.6.113 | 8006 | Redis从服务器,当主故障时参加选举。 |
用三台虚拟机模拟6个节点,一台机器2个节点,创建出3 master、3 salve 环境。
第二步:安装
可以参考:
https://blog.csdn.net/lch520baby/article/details/91059632
修改
在第一台机器111服务器上操作如下:
1、按上面的安装步骤后可以删除/etc/redis/6379.conf配置文件,也可以不理它,不启动就好
2、在/etc/redis文件夹下面创建redisCluster文件夹,然后在其下面分别创建2个(8001,8004文件夹)
文件夾如下:
mkdir -p /etc/redis/redisCluster
cd /etc/redis/redisCluster
mkdir 8001
mkdir 8004
3、把redis.conf配置文件copy到8001下,修改如下内容:
cp /opt/redis/redis-5.0.4/redis.conf /etc/redis/redisCluster/8001/redis.conf
# 1、开启后台运行
daemonize yes
# 2、分别对每个机器的端口号进行设置
port 8001
# 3、指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /etc/redis/redisCluster/8001/
# 4、启动集群模式
cluster-enabled yes
# 5、集群节点信息文件,这里文件名8001最好和port对应上
cluster-config-file nodes-8001.conf
# 6、请求超时
cluster-node-timeout 5000
# 7、去掉bind绑定访问ip信息或者不限ip
bind 0.0.0.0
# 8、关闭保护模式,开启protected-mode保护模式,需配置bind ip或者设置访问密码
protected-mode no
# 9、aof日志开启 有需要就开启,它会每次写操作都记录一条日志
appendonly yes
# 10、密码
requirepass 123456
# 11、设置集群节点间访问密码,跟上面一致
masterauth 123456
4、更新其它节点配置文件
把修改后的配置文件,copy到8004,修改第2、3、5项里的对应值
另外两台机器也需要做上面几步操作,第二台机器用8002和8005,第三台机器用8003和8006
5、分别启动6个redis实例,然后检查是否启动成功
/usr/local/bin/redis-server /etc/redis/redisCluster/8001/redis.conf
查看是否启动
ps -ef | grep redis
6、用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redistrib.rb实现)
# 代表为每个创建的主服务器节点创建一个从服务器节点(注意:用户名是访问服务端密码)
/opt/redis/redis-5.0.4/src/redis-cli -a 用户名 --cluster create --cluster-replicas 1 192.168.6.111:8001 192.168.6.111:8004 192.168.6.112:8002 192.168.6.112:8005 192.168.6.113:8003 192.168.6.113:8006
7、验证集群
连接任意一个客户端即可:./redis-cli -c -h -p (-a访问服务端密码,-c表示集群模式,指定ip地址和端口号)如:/opt/redis/redis-5.0.2/src/redis-cli -a zhuge -c -h 192.168.0.61 -p 800*
在113服务器上连接
/opt/redis/redis-5.0.4/src/redis-cli -a 123456 -c -h 192.168.6.113 -p 8003
注意这里进入到8002了,112服务器
进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)
第三步:Redis启动关闭
1、启动并查看是否启动成功
# 启动对应端口配置文件
/usr/local/bin/redis-server /etc/redis/redisCluster/8002/redis.conf
# 查看是否启动
ps -ef | grep redis
2、关闭redis集群
/opt/redis/redis-5.0.4/src/redis-cli -a 123456 -c -h 192.168.6.113 -p 8003 shutdown