CentOS 安装 Redis (高可用)

本文详细介绍了在CentOS系统中安装Redis单机版的方法,并提供了配置Redis Sentinel实现主从复制和故障转移的步骤。通过设置1个Master、2个Slave和3个Sentinel节点,构建了一个高可用的Redis集群。

原文:https://www.sunjianhua.cn/archives/centos-redis.html

 

下载地址: http://download.redis.io/releases/

官方文档: https://redis.io/documentation

一、Redis单机版安装

$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz
$ tar xzf redis-4.0.11.tar.gz
$ cd redis-4.0.11 $ make 

二、Redis Sentine主从复制

方案: 1 master,2 slave,3 sentinel

注:在以下配置为单机伪集群搭建,生产建议多台机器搭建.
redis-sentinel.png

redis-sentinel-app.png

2.1配置master

a.将安装好的单机版,移动到/usr/local/ 下
$ mv redis-4.0.11 /usr/local/redis

b.编辑master配置文件,主要修改以下内容
$ vi /usr/local/redis/redis.conf bind 192.168.20.250 # dir "/usr/local/redis/" pidfile /var/run/redis_6379.pid logfile "/usr/local/redis/redis.log" databases 51 masterauth redis1234 requirepass redis1234 c.启动master服务 $ /usr/local/redis/src/redis-server /usr/local/redis/redis.conf & d.查看日志 $ tail -f /usr/local/redis/redis.log 

2.2配置两个slave

a. 创建目录
$ mkdir /usr/local/redis_slave1  /usr/local/redis_slave2

b.复制server,cli,conf等文件    
$ cp /usr/local/redis/src/redis-server /usr/local/redis_slave1 $ cp /usr/local/redis/src/redis-server /usr/local/redis_slave2  $ cp /usr/local/redis/src/redis-cli /usr/local/redis_slave1 $ cp /usr/local/redis/src/redis-cli /usr/local/redis_slave2  $ cp /usr/local/redis/redis.conf /usr/local/redis_slave1 $ cp /usr/local/redis/redis.conf /usr/local/redis_slave2 c.编辑slave配置文件,主要修改以下内容 $ vi /usr/local/redis_slave1/redis.conf port 6380 bind 127.0.0.1 daemonize no pidfile "/var/run/redis_6380.pid" logfile "/usr/local/redis_slave1/redis_slave1.log" databases 51 dir "/usr/local/redis_slave1" masterauth "redis1234" requirepass "redis1234" slaveof 127.0.0.1 6379  $ vi /usr/local/redis_slave2/redis.conf port 6381 bind 127.0.0.1 daemonize no pidfile "/var/run/redis_6381.pid" logfile "/usr/local/redis_slave2/redis_slave2.log" databases 51 dir "/usr/local/redis_slave2" masterauth "redis1234" requirepass "redis1234" slaveof 127.0.0.1 6379 d.启动两个slave $ /usr/local/redis_slave1/redis-server /usr/local/redis_slave1/redis.conf & $ /usr/local/redis_slave2/redis-server /usr/local/redis_slave2/redis.conf & e.查看两个slave日志 $ tail -f /usr/local/redis_slave1/redis_slave1.log $ tail -f /usr/local/redis_slave2/redis_slave2.log 

2.3配置三个sentinel

a.创建三个sentinel目录
$ mkdir /usr/local/redis_sentinel1 /usr/local/redis_sentinel2 /usr/local/redis_sentinel3 b.拷贝sentinel,conf等文件 $ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel1 $ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel2 $ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel3  $ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel1 $ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel2 $ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel3 c.编辑sentinel配置文件,主要一下配置 $ vi /usr/local/redis_sentinel1/sentinel.conf port 26379 protected-mode no dir "/usr/local/redis_sentinel1" logfile "/usr/local/redis_sentinel1/redis_sentinel1.log" sentinel auth-pass mymaster redis sentinel monitor mymaster 127.0.0.1 6379 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000  $ vi /usr/local/redis_sentinel2/sentinel.conf port 26380 protected-mode no dir "/usr/local/redis_sentinel2" logfile "/usr/local/redis_sentinel2/redis_sentinel2.log" sentinel auth-pass mymaster redis1234 sentinel monitor mymaster 127.0.0.1 6379 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000  $ vi /usr/local/redis_sentinel3/sentinel.conf port 26381 protected-mode no dir "/usr/local/redis_sentinel3" logfile "/usr/local/redis_sentinel3/redis_sentinel3.log" sentinel auth-pass mymaster redis1234 sentinel monitor mymaster 127.0.0.1 6379 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000 

2.4测试master和slave

a.启动master和2个slave服务!
查看上述启动方法

b.用master或者slave中的任意cli连接master节点进行操作
$ /usr/local/redis_slave1/redis-cli -p 6379
$ auth redis1234 $ select 2 $ set name sunjianhua $ info Replication 

redis-slave-setvalue.jpg
redis-slave-setvalue1.jpg
redis-slave-setvalue2.jpg

c.连接slave节点查询数据是否存在
$ /usr/local/redis_slave1/redis-cli -p 6381
$ auth redis1234 $ select 2 $ select name 

redis-slave-getvalue.jpg

2.5测试sentinel

a.先启动主从,后启动sentinel服务
主从启动看上面
$ /usr/local/redis_sentinel1/redis-sentinel  /usr/local/redis_sentinel1/sentinel.conf &
$ /usr/local/redis_sentinel2/redis-sentinel /usr/local/redis_sentinel2/sentinel.conf & $ /usr/local/redis_sentinel3/redis-sentinel /usr/local/redis_sentinel3/sentinel.conf & b.查看sentinel日志 $ tail -f /usr/local/redis_sentinel1/redis-sentinel1.log 

redis-sentinel-test.png

c.关闭master,查看sentinel控制台

redis-sentinel-test1.png
redis-sentinel-test2.png

d.连接之前的slave服务,查看info replication,两个slave 节点之一变为了master

redis-sentinel-test3.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值