目录
- 1.编译安装
- 2.配置文件
- 3.启动验证集群
-
- 4.sentinel(哨兵集群)
1.编译安装
yum groupinstall -y "Development Tools"
gcc --version
wget http://download.redis.io/releases/redis-6.2.5.tar.gz
tar -zxvf redis-6.2.5.tar.gz
cd redis-6.2.5
make MALLOC=libc && make install
# 看到bin目录下有相关服务就安装成功
ls /usr/local/bin/
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
2.配置文件
cp /etc/redis.conf /etc/redis-{6380..6382}.conf
下面的内容有着修改,无则添加:
1.端口
port 6379
port 6380
port 6381
port 6382
2. daemonlize
daemonlize true
daemonlize true
daemonlize true
daemonlize true
3. pid file (如果以daemon的方式运行redis,那么我们就为其需要指定一个pid文件)
pidfile /var/run/redis_6379.pid
pidfile /var/run/redis_6380.pid
pidfile /var/run/redis_6381.pid
pidfile /var/run/redis_6382.pid
4. log文件
logfile "/var/log/redis-6379"
logfile "/var/log/redis-6380"
logfile "/var/log/redis-6381"
logfile "/var/log/redis-6382"
5. rdb文件
dump6379.rdb
dump6380.rdb
dump6381.rdb
dump6382.rdb
6. 如果需要外部访问,则关闭保护模式和设置密码
protected-mode no
masterauth 123
protected-mode no
masterauth 123
protected-mode no
masterauth 123
protected-mode no
masterauth 123
7.从节点绑定主节点(6380,6381,6382三个节点)
主节点不操作
replicaof 127.0.0.1 6379
replicaof 127.0.0.1 6379
replicaof 127.0.0.1 6379
3.启动验证集群
1.启动集群
redis-server /etc/redis.conf
redis-server /etc/redis-6380.conf
redis-server /etc/redis-6381.conf
redis-server /etc/redis-6382.conf
2.验证集群
1.验证各节点进程:
ps -ef | grep redis | grep -v grep | wc -l
4
2.验证各节点的主从状态:
# 主节点
redis-cli -h localhost -p 6379 -a 123
127.0.0.1:6379> info replication
...
role:master // 该节点的角色是master
connected_slaves:3 // 3个slave节点,以及slaves的信息
slave0:ip=127.0.0.1,port=6380,state=online,offset=224,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=224,lag=0
slave2:ip=127.0.0.1,port=6382,state=online,offset=224,lag=1
...
# 从节点:
redis-cli -h localhost -p 6380 -a 123
localhost:6380> info replication
...
role:slave
master_host:127.0.0.1
master_port:6379
...
4.sentinel(哨兵集群)
touch /etc/sentinel-263{79,80,90}.conf
其他三个文件对应的更改即可!
vim /etc/sentonel-26379.conf
port 26380
daemonize yes
logfile "/var/log/redis/sentinel-26380.log"
# 工作目录
dir /opt/redis_sentinel_dir/sentinel-1/
# 指定master,参数分别:自定义集群名字;ip;port;最低当选master的票数
sentinel monitor mymaster 127.0.0.1 6379 2
# 验证
sentinel auth-pass mymaster
# 超时时间(ms)
sentinel down-after-milliseconds mymaster 30000
# 故障转移超时时间(ms)
sentinel failover-timeout mymaster 180000