KingHu88-关注互联网以及分享IT运维工作经验

当前位置:首页 - 数据库 - NOSQL - 正文

君子好学,自强不息!

redis哨兵安装

2017-03-27 | NOSQL | kinghu | 561°c
A+ A-

搭建redis+sentinel架构

     Redis部署方式采用主备的方式,通Redis自带的工具Sentinel来对Redis集群进行管理,并实现主备自动切换功能。

正常工作时,实例A为集群中master机器,由A面向Client提供服务,BCAslave节点,在正常工作期间同步A的数据信息。当实例A down掉之后,会有SentinelBC中选举出一个实例,成为新的master来提供服务,剩下的节点自动成为新masterslave节点,实现融灾备份。整个服务IP的获取通过与Sentinel交互来获得。

安装Redis 版本 redis-2.8以上,咱们使用redis3.0.3,具体见《redis-3.0.3.zipredis-3.0.3-slave.zip

 

找三台服务器安装redis。每台服务器的redis安装步骤如下:

 

1. 服务器分配

先确定三台待安装的redis 服务器,哪个是主实例master),另外2个就是备实例 slave

 

主实例A10.6.94.118  server端口:7001  sentinel端口:27001

备实例B10.6.94.119  server端口:7001  sentinel端口:27001

备实例C10.6.94.120  server端口:7001  sentinel端口:27001

 

2. 安装主实例(master

2.1. 上传安装包文件

上传redis-3.0.3.zip/opt/app目录,解压unzip redis-3.0.3.zip;赋值权限chmod -R 775 redis-3.0.3

 

2.2. 修改配置

1)修改redis.conf配置

# bind 127.0.0.1

bind 10.6.107.45    #改成 redis所在服务器的ip10.6.94.118

2)修改sentinel.conf配置

    sentinel monitor mymaster 10.6.94.118 7001 2  #改成 redis所在服务器的ip10.6.94.118

将下图红框中的ip地址改成其他2备实例 slave)的服务器IP地址:

10.6.94.119     10.6.94.120

blob.png 

2.3. 启动redis

  

1)启动redis

cd /opt/app/redis-3.0.3/src;  

  ./redis-server ../redis.conf;

2)启动reids  Sentinel

cd /opt/app/redis-3.0.3/src;

nohup ./redis-sentinel ../sentinel.conf & 

3)验证是否启动:ps -ef | grep redis   

blob.png

 

3. 安装备实例(slave

3.1. 上传安装包文件

上传redis-3.0.3-slave.zip/opt/app目录,解压unzip redis-3.0.3-slave.zip;重命名mv redis-3.0.3-slave redis-3.0.3;赋值权限chmod -R 775 redis-3.0.3

 

3.2. 修改配置

1)修改redis.conf配置

# bind 127.0.0.1

bind 10.6.107.45   # 改成 redis所在服务器的ip10.6.94.119

       

slaveof 10.6.107.45 7001   #  ip地址修改为为主实例master ip 10.6.94.118

   

2修改sentinel.conf配置

 

sentinel monitor mymaster 10.6.107.45 7001 2  #修改成 为主实例master ip 10.6.94.118

 

blob.png

 

#ip改成redis所在的服务器ip:10.6.94.119

sentinel known-slave mymaster 10.6.107.46 7001

#ip改成另外一个备实例(slaveredis所在的服务器ip:10.6.94.120

sentinel known-slave mymaster 10.6.107.47 7001

#ip改成主实例(masterredisip10.6.94.118  

sentinel known-sentinel mymaster 10.6.107.45 27001 64d12853a016e49c805efe8a87ea6363121cf81c   

#ip改成另外一个备实例(slaveredis ip10.6.94.118 

sentinel known-sentinel mymaster 10.6.107.47 27001 32e13cc7f90ceb7ffac502daf1ed6c598c73838e     

 

 

 

3.3. 启动redis

1)启动reids server

cd /opt/app/redis-3.0.3/src

./redis-server ../redis.conf

2)启动reids  Sentinel

cd /opt/app/redis-3.0.3/src

nohup ./redis-sentinel ../sentinel.conf & 

3)验证是否启动:ps -ef | grep redis

blob.png

 

4. 安装另一个备实例

  参考3里面安装备实例

 

 

 

 

redis-cli -p 【redis端口】 -a 【密码】 -h 【IP】
#实例:
redis-cli -p 7001 -a redis123 -h 10.6.94.120
10.6.94.120:7001> info  #查看redis相关信息
redis-cli -p 【redis哨兵端口】 -a 【密码】 -h 【IP】
#实例:
redis-cli -p 27001 -a redis123 -h 10.6.94.120
10.6.94.120:7001> SENTINEL get-master-addr-by-name mymaster #查看当前redis哨兵的master主机
1) "10.6.94.121"  #当前是master为121的那台服务器
2) "7001"          #当前master使用的端口为7001


本文来源:KingHu88

本文地址:http://www.kinghu.cc/index.php/post/186.html

关注我们:微信搜索“Edangerous”添加我为好友

版权声明:如无特别注明,转载请注明本文地址!

推荐阅读
发布人:
最近发表