1.环境准备
三台服务器,一台服务器一主一从,如果是一台服务器,那是伪集群
2.解压
tar xzf redis-5.0.7.tar.gz
3.进入解压后的目录
cd redis-5.0.7
4.输入make命令
注:如果没有make命令需要下载yum -y install gcc ,因为make install命令需要此环境
make install PREFIX=/home/redis-5.0.7/redis-cluster
5.进入到redis-cluster文件夹下面,把bin改成7000,把redis-5.0.7里面的配置文件redis.conf复制到7000里面
cp /home/redis-5.0.7/redis.conf /home/redis-5.0.7/redis-cluster/7000/
6.修改配置文件
6.1修改bind 地址
6.2把端口从6379,修改成7000
6.3指定日志文件路径
6.4指定rdb、apf文件写入路径
6.5持久化配置
6.6开启集群
6.7集群配置文件名称
6.8超时时间
6.9连接主节点密码,各个节点访问密码(暂不设置密码)
6.10守护线程模式
6.11关闭保护模式用于公网访问
7.启动redis两个端口
回到/home/redis-5.0.7/src
./redis-server /home/redis-5.0.7/redis-cluster/7000/redis.conf &
./redis-server /home/redis-5.0.7/redis-cluster/7001/redis.conf &
ps -ef | grep redis
把另外两台服务器的redis也按照此步骤进行配置和启动,最后应该三台服务器应该是这样的
8.创建集群
./src/redis-cli --cluster create IP:端口 IP:端口 IP:端口 --cluster-replicas 0
如果错误NOAUTH Authentication required
./src/redis-cli -a 密码 --cluster create IP:端口 IP:端口 IP:端口 --cluster-replicas 0
执行之后会提示,可以设置上述配置嘛,这块输入yes即可,三个主节点建立完成
9.查看集群
master是主节点
10.测试集群效果
10.1模拟主节点宕机操作
把服务器里的6380主节点进程干掉
现在服务器只有一个6381从节点进程,启动6380端口,去看集群6381端口是否变成了主节点
可以看到,6381端口已经变成了master
主从验证成功
11.设置密码
进入到redis节点,config set masterauth 123456
config set requirepass 123456
auth 123456(如果不执行此步骤,会报(error) NOAUTH Authentication required)
config rewrite
每个节点都得设置密码,密码必须一样,此方法设置密码也不用重启,而且能动态去改变密码,而不是在redis.conf里面把密码写死,把每个节点都设置一遍即可
取消密码
config set masterauth ""
config set requirepass ""
12.集群命令
./src/redis-cli -h 192.168.99.227 -p 6380 -a 123456 -c
这个提示是警告:在命令行界面上使用带有“-a”或“-u”选项的密码可能不安全。忽略就可以
在redis命令行,查看集群状态
cluster nodes
借鉴大佬文档在下面链接