redis
安装环境与工具
yum -y install wget vim tcl gcc make
下载 redis
wget wget https://download.redis.io/releases/redis-7.0.12.tar.gz
上传 redis-7.0.12.tar.gz 到三台服务器 /data/redis-7.0.12.tar.gz
118.89.112.205 主服务器
124.220.13.28 从服务器
解压到 /usr/local 目录下
tar -zxvf redis-7.0.12.tar.gz -C /usr/local/
cd /usr/local/redis-7.0.12/
编译与安装
make
make install
编辑 redis.conf
118.89.112.205
# 需要不同服务器的节点连通,就不能设置为 127.0.0.1 bind 0.0.0.0
bind 0.0.0.0
# 需要不同服务器的节点连通,这个就要设置为 no protected-mode no
# 6379 可以更改为其他的端口, 一般为了安全 不用6379端口 port 6379 daemonize yes logfile "/var/log/redis/redis.log" masterauth "ABC!!123" save 3600 1 save 300 100 save 60 10000
dir "/usr/local/redis-7.0.12"
## replicaof 118.89.112.205 6379 主节点千万不要配置这个 不然 会启动不起来 报错 这个是从节点需要的配置 requirepass "ABC!!123"
## APPEND ONLY MODE
## 开启aof 磁盘持久化
appendonly yes
124.220.13.28
# 需要不同服务器的节点连通,就不能设置为 127.0.0.1 bind 0.0.0.0
bind 0.0.0.0
# 需要不同服务器的节点连通,这个就要设置为 no
protected-mode no
# 6379 可以更改为其他的端口, 一般为了安全 不用6379端口
port 6379
daemonize yes
logfile "/var/log/redis/redis.log"
masterauth "ABC!!123"
save 3600 1
save 300 100
save 60 10000
dir "/usr/local/redis-7.0.12"
requirepass "ABC!!123"
## APPEND ONLY MODE
## 开启aof 磁盘持久化
appendonly yes
# 配置主节点
replicaof 118.89.112.205 6379
192.168.0.34
# 需要不同服务器的节点连通,就不能设置为 127.0.0.1 bind 0.0.0.0
bind 0.0.0.0
# 需要不同服务器的节点连通,这个就要设置为 no protected-mode no
# 6379 可以更改为其他的端口, 一般为了安全 不用6379端口
port 6379
daemonize yes
logfile "/var/log/redis/redis.log"
masterauth "ABC!!123"
save 3600 1 save 300 100 save 60 10000
dir "/usr/local/redis-7.0.12" requirepass "ABC!!123"
## APPEND ONLY MODE
## 开启aof 磁盘持久化
appendonly yes
# 配置主节点
replicaof 118.89.112.205 6379
编辑 vim sentinel.conf
118.89.112.205 主节点
logfile "/var/log/redis/sentinel.log"
daemonize yes
protected-mode no #关闭保护模式
sentinel announce-ip 118.89.112.205
#可以更改端口为其他端口,这个是默认的端口
sentinel announce-port 23679
sentinel monitor mymaster 118.89.112.205 6379 2
sentinel auth-pass mymaster ABC!!123
编辑 vim sentinel.conf
124.220.13.28 从节点
logfile "/var/log/redis/sentinel.log" daemonize yes
protected-mode no #关闭保护模式 sentinel announce-ip 124.220.13.28
#可以更改端口为其他端口,这个是默认的端口
sentinel announce-port 23679
sentinel monitor mymaster 118.89.112.205 6379 2
sentinel auth-pass mymaster ABC!!123
编辑 vim sentinel.conf
192.168.0.34 从节点
logfile "/var/log/redis/sentinel.log" daemonize yes
protected-mode no #关闭保护模式 sentinel announce-ip 192.168.0.34
#可以更改端口为其他端口,这个是默认的端口
sentinel announce-port 23679
sentinel monitor mymaster 118.89.112.205 6379 2
sentinel auth-pass mymaster ABC!!123
在主从服务器执行这个命令 启动 redis 以及 哨兵 sentinel (主从只需要配置 redis.conf 以及启动 redis 哨兵 需要主从复制+哨兵 最少需要三台服务器进行选举)
cd /usr/local/redis-7.0.12/src
./redis-server ../redis.conf &
./redis-sentinel ../sentinel.conf &
在主服务器 ./redis-cli
auth ABC!!123
set A 123
在从服务器 ./redis-cli
auth ABC!!123
get A 如果是 123 代表主从启动完成
可以
INFO replication 查看主从信息 master 是主服务器、 slave 是从服务器
127.0.0.1:6379> INFO replication # Replication role:master connected_slaves:1 slave0:ip=124.220.13.28,port=6379,state=online,offset=56,lag=0 master_failover_state:no-failover master_replid:0d4f57a9e6fe922dfbc2cf426efcf2e22ea8e0cd master_replid2:0000000000000000000000000000000000000000 master_repl_offset:56 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:56
127.0.0.1:6379> INFO replication # Replication role:slave master_host:118.89.112.205 master_port:6379 master_link_status:up master_last_io_seconds_ago:3 master_sync_in_progress:0 slave_read_repl_offset:42 slave_repl_offset:42 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:0d4f57a9e6fe922dfbc2cf426efcf2e22ea8e0cd master_replid2:0000000000000000000000000000000000000000 master_repl_offset:42 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:15 repl_backlog_histlen:28