NoSQL数据库

Redis哨兵服务(高可用服务)

2023-03-24  本文已影响0人  技术老男孩

一、概念:

二、环境准备:

主机名 IP地址 端口 角色
Host54 192.168.88.54 6379 主服务器
Host55 192.168.88.55 6379 从服务器
Host57 192.168.88.57 6379 管理(哨兵)
服务器

三、实现步骤:

  1. 配置Redis主从结构
  2. 配置哨兵服务
  3. 测试配置

四、实操:

第一步:配置Redis主从结构:

[root@host54 ~]# yum -y install gcc 
[root@host54 ~]# tar -xf redis-4.0.8.tar.gz 
[root@host54 ~]# cd redis-4.0.8/
[root@host54 ~]# make && make install
[root@host54 ~]# ./utils/install_server.sh  遇到提示就回车
[root@host54 ~]# /etc/init.d/redis_6379  stop
[root@host54 ~]# vim /etc/redis/6379.conf 
bind 192.168.88.54 
[root@host54 ~]# /etc/init.d/redis_6379  start
[root@host55 ~]# yum -y install gcc 
[root@host55 ~]# tar -xf redis-4.0.8.tar.gz 
[root@host55 ~]# cd redis-4.0.8/
[root@host55 ~]# make && make install
[root@host55 ~]# ./utils/install_server.sh  遇到提示就回车
[root@host55 ~]# /etc/init.d/redis_6379  stop
[root@host55 ~]# vim /etc/redis/6379.conf 
bind 192.168.88.55 
[root@host55 ~]# /etc/init.d/redis_6379  start
[root@host55 ~]# redis-cli  -h 192.168.88.55
192.168.88.55:6379> slaveof  192.168.88.54 6379
OK
192.168.88.55:6379> config rewrite
OK

第二步:配置哨兵服务(192.168.88.57):

[root@redis57 ~ ]# yum -y install gcc 
[root@redis57 ~ ]# tar -zxf redis-4.0.8.tar.gz
[root@redis57 redis]# cd redis-4.0.8/
[root@redis1 redis-4.0.8]# make
[root@redis1 redis-4.0.8]# make install         
# 源码包里有哨兵服务配置文件的模板sentinel.conf
# sentinel.conf主要是定义哨兵服务的运行参数
[root@host57 ~]# vim  /etc/sentinel.conf
bind  192.168.88.57 # 指定哨兵服务的ip地址
port  26379 # 哨兵服务器的端口
sentinel monitor redis_server 192.168.88.54 6379 1
# sentinel monitor:指的是哨兵服务器监视各项参数
# redis_server:监视的主服务器名称(可以随便起,一般是redis_server)
# 192.168.88.54 6379:监视的主服务器的ip地址和端口号
# 1:指的是哨兵监视服务器台数(有几台就写几)

# 如果主服务器有连接密码 还要指定主服务器密码 (写法如下)  
# # sentinel auth-pass redis_server 123456 
[root@mgm57 ~]# nohup redis-sentinel  /etc/sentinel.conf  &
[root@mgm57 ~]# nohup: 忽略输入并把输出追加到"nohup.out"   回车即可
# 查看端口
[root@mgm57 ~]# netstat –utnlp  | grep 26379

第三步:测试配置:

[root@host54 ~]# redis-cli  -h 192.168.88.54  shutdown
[root@host55 ~]# redis-cli -h 192.168.88.55  
192.168.88.55:6379> info replication   
# Replication
role:master
connected_slaves:0
192.168.88.55:6379> mset  v1  101  v2  102  存储数据
OK
[root@host57 ~]# cat /etc/sentinel.conf 
.....
sentinel monitor redis_server 192.168.88.55 6379 1
.....
sentinel known-slave redis_server 192.168.88.54 6379
[root@host54 ~]# /etc/init.d/redis_6379 start
Starting Redis server...
[root@host54 ~]# redis-cli  -h 192.168.88.54 
192.168.88.54:6379> info replication
# Replication
role:slave
master_host:192.168.88.55
master_port:6379
master_link_status:up 
192.168.88.55:6379> info replication
# Replication
role:master
connected_slaves:1  有1个从服务器
slave0:ip=192.168.88.55,port=6379,state=online,offset=231667,lag=0
上一篇下一篇

猜你喜欢

热点阅读