wget http://download.redis.io/releases/redis-5.0.8.tar.gz
tar -xzvf redis-5.0.8.tar.gz
cd redis-5.0.8
make
# 创建文件夹
mkdir -p /usr/local/redis/conf
mkdir -p /usr/local/redis/data
mkdir -p /usr/local/redis/logs
启动redis-server发生问题,参照
编辑redis.conf
# 编辑redis.conf
# 把bind改成0.0.0.0
bind 0.0.0.0
# 后台启动
daemonize yes
# 数据目录
dir /usr/local/redis/data
# 日志目录
logfile /usr/local/redis/logs/redis.log
# 复制redis.conf 从别的机器复制到本机当前目录
scp root@172.16.5.3:/usr/local/redis/conf/redis.conf .
或者
scp root@172.16.5.3:/usr/local/redis/conf/*.conf .
# 每台机器启动
/usr/local/redis-5.0.8/src/redis-server /usr/local/redis/conf/redis.conf &
# 配置主从 1主2从 主(172.16.5.1) 在从机器执行
/usr/local/redis-5.0.8/src/redis-cli -p 6379 slaveof 172.16.5.1 6379
# 查看集群信息
/usr/local/redis-5.0.8/src/redis-cli -p 6379 info Replication
主节点执行查看集群信息
role:master
connected_slaves:2
slave0:ip=172.16.5.3,port=6379,state=online,offset=98,lag=1
slave1:ip=172.16.6.204,port=6379,state=online,offset=112,lag=0
master_replid:777737fd6ccf46f9fb4bdddad5ce488ed5ac1afa
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:112
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:112
[1]+ 完成 /usr/local/redis-5.0.8/src/redis-server /usr/local/redis/conf/redis.conf
从节点执行查看集群信息
role:slave
master_host:172.16.5.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:5
master_sync_in_progress:0
slave_repl_offset:126
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:777737fd6ccf46f9fb4bdddad5ce488ed5ac1afa
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:126
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:43
repl_backlog_histlen:84
sentinel配置请参考
# 每台机器启动哨兵
/usr/local/redis-5.0.8/src/redis-server /usr/local/redis/conf/sentinel.conf --sentinel &
验证切换master
把172.16.5.1的master节点的进程kill掉
19043:X 04 Jun 2020 18:46:57.767 # -odown master mymaster 172.16.5.1 6379
19043:X 04 Jun 2020 18:46:58.155 * +slave-reconf-inprog slave 172.16.5.3:6379 172.16.5.3 6379 @ mymaster 172.16.5.1 6379
19043:X 04 Jun 2020 18:46:58.155 * +slave-reconf-done slave 172.16.5.3:6379 172.16.5.3 6379 @ mymaster 172.16.5.1 6379
19043:X 04 Jun 2020 18:46:58.225 # +failover-end master mymaster 172.16.5.1 6379
19043:X 04 Jun 2020 18:46:58.225 # +switch-master mymaster 172.16.5.1 6379 172.16.6.204 6379
重新选出172.16.6.204 6379当master节点
名词:
主观下线(SDOWN) : 每个 sentinel 节点对 redis 节点失败的偏见;
客观下线(ODOWN): 所有 sentinel 节点对 redis 节点失败达成共识(超过 quorum 个同意);
注:sentinel 节点要是基数;
quorum 要配置成 sentinel 节点数的一半 + 1