1. 搭建 redis 环境
根据 上一节的内容搭建 redis 环境
2. 配置 从节点
修改 redis.conf文件,并添加以下内容:
slaveof hadoop102 6379
masterauth 123456
3. 主从操作命令
查看主从信息
info replicationhadoop102 节点:
127.0.0.1:6379> info replication # Replication role:master connected_slaves:2 slave0:ip=192.168.248.103,port=6379,state=online,offset=70,lag=0 slave1:ip=192.168.248.104,port=6379,state=online,offset=70,lag=0 master_replid:7764e11aba8404b9fbf1bcc84017ee8fe1231394 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:70 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:20971520 repl_backlog_first_byte_offset:1 repl_backlog_histlen:70hadoop103 节点:
127.0.0.1:6379> info replication # Replication role:slave master_host:hadoop102 master_port:6379 master_link_status:up master_last_io_seconds_ago:8 master_sync_in_progress:0 slave_repl_offset:350 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:7764e11aba8404b9fbf1bcc84017ee8fe1231394 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:350 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:20971520 repl_backlog_first_byte_offset:1 repl_backlog_histlen:350切换主节点
hadoop103节点:
127.0.0.1:6379> slaveof hadoop104 6379把自己切换成主节点
127.0.0.1:6379> slaveof no one
4. 哨兵搭建
hadoop102
bind 0.0.0.0
daemonize yes
protected-mode no
port 26379
sentinel monitor mymaster 192.168.248.102 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel announce-ip "192.168.248.102"
dir "/opt/module/redis"
logfile "/opt/module/redis/logs/sentinel.log"
sentinel auth-pass mymaster "123456"
hadoop103
bind 0.0.0.0
daemonize yes
protected-mode no
port 26379
sentinel monitor mymaster 192.168.248.102 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel announce-ip "192.168.248.103"
dir "/opt/module/redis"
logfile "/opt/module/redis/logs/sentinel.log"
sentinel auth-pass mymaster "123456"
hadoop104
bind 0.0.0.0
daemonize yes
protected-mode no
port 26379
sentinel monitor mymaster 192.168.248.102 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel announce-ip "192.168.248.104"
dir "/opt/module/redis"
logfile "/opt/module/redis/logs/sentinel.log"
sentinel auth-pass mymaster "123456"
5. 编写启动脚本
redis 启动脚本
#! /bin/bash case $1 in "start"){ /opt/module/redis/bin/redis-server /opt/module/redis/conf/redis.conf };; "stop"){ pid=$(ps -ef | grep redis-server | grep -v "grep" | awk '{print $2}') echo "redis进程ID="$pid kill $pid };; esacredis 集群启动脚本
#! /bin/bash case $1 in "start"){ for i in hadoop102 hadoop103 hadoop104 do ssh $i "/home/dwjf321/bin/redis.sh start" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do ssh $i "/home/dwjf321/bin/redis.sh stop" done };; esac哨兵启动脚本
#! /bin/bash case $1 in "start"){ /opt/module/redis/bin/redis-sentinel /opt/module/redis/conf/sentinel.conf };; "stop"){ pid=$(ps -ef | grep redis-sentinel | grep -v "grep" | awk '{print $2}') echo "redis进程ID="$pid kill $pid };; esac哨兵集群启动脚本
#! /bin/bash case $1 in "start"){ for i in hadoop102 hadoop103 hadoop104 do ssh $i "/home/dwjf321/bin/sentinel.sh start" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do ssh $i "/home/dwjf321/bin/sentinel.sh stop" done };; esac
版权声明:本文为dwjf321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。