Install redis sentinel on linux

Installation Environment

One server:

  • Server IP: 172.169.3.251
  • Master and slave ports: 6379, 6380, 6381
  • Sentry ports, 26379, 26380, 26381
  • Installation directory: /usr/local/redis
  • Configuration file directory: /usr/loca/redis/conf

redis installation

1. Download redis

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

2. Unzip redis

tar -zxvf redis-6.2.7.tar.gz
mv redis-6.2.7 /usr/local/redis

3. Compile and install

cd /usr/local/redis
make
make install PREFIX=/usr/local/redis

Configure master-slave and sentry

Create the following files under the directory /usr/loca/redis/conf

  1. redis1.conf
  2. redis2.conf
  3. redis3.conf
  4. sentinel1.conf
  5. sentinel2.conf
  6. sentinel3.conf

redis1.conf

bind 0.0.0.0
port 6379
daemonize yes
protected-mode no
slave-read-only no
masterauth 1234
requirepass 1234

redis2.conf

The replicaof is changed to the ip and port of redis1

bind 0.0.0.0
port 6380
daemonize yes
protected-mode no
slave-read-only no
masterauth 1234
requirepass 1234
replicaof 172.169.3.251 6379

redis3.conf

The replicaof is changed to the ip and port of redis1

bind 0.0.0.0
port 6381
daemonize yes
protected-mode no
slave-read-only no
masterauth 1234
requirepass 1234
replicaof 172.169.3.251 6379

sentinel1.conf

The ip and port behind myaster are changed to the ip and port of redis1

port 26379
dir /tmp
protected-mode no
daemonize yes
sentinel monitor mymaster 172.169.3.251 6379 2
sentinel auth-pass mymaster 1234
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 10000
sentinel deny-scripts-reconfig yes

sentinel2.conf

The ip and port behind myaster are changed to the ip and port of redis1

port 26380
dir /tmp
protected-mode no
daemonize yes
sentinel monitor mymaster 172.169.3.251 6379 2
sentinel auth-pass mymaster 1234
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 10000
sentinel deny-scripts-reconfig yes

sentinel3.conf

The ip and port behind myaster are changed to the ip and port of redis1

port 26381
dir /tmp
protected-mode no
daemonize yes
sentinel monitor mymaster 172.169.3.251 6379 2
sentinel auth-pass mymaster 1234
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 10000
sentinel deny-scripts-reconfig yes

start service

start_all.sh

#bin/bash
REDIS_HOME=/usr/local/redis
CONFIG_HOME=/usr/loca/redis/conf
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/redis1.conf &
sleep 1s
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/redis2.conf &
sleep 1s
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/redis3.conf &
sleep 1s
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/sentinel1.conf --sentinel &
sleep 1s
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/sentinel2.conf --sentinel &
sleep 1s
$REDIS_HOME/bin/redis-server $CONFIG_HOME/conf/sentinel3.conf --sentinel &
chmod 777 start_all.sh
./start_all.sh 

view service

ps -ef|grep redis

insert image description here

View cluster status

./redis-cli -p 6379 -a 1234
info replication

insert image description here

application configuration

# 哨兵的IP和端口
spring.redis.sentinel.nodes=172.169.3.186:26379,172.169.3.186:26380,172.169.3.186:26381
# sentinel monitor mymaster 172.169.3.251 6379 2 与 这里的 mymaster 一致
spring.redis.sentinel.master=mymaster
# 哨兵是否需要密码,如果未配置,则不需要
spring.redis.sentinel.password=
# redis主从的密码,配置的为1234,故需要配置
spring.redis.password=1234

Guess you like

Origin blog.csdn.net/qq_17522211/article/details/128188389