linux安装配置Redis主从和Sentinel(哨兵)

在linux上安装和配置Redis

Redis是一个开源的内存中的数据结构存储,。Redis具有内置事务,持久化,复制和对各种数据结构(如字符串,哈希,列表,集合等)的支持。使用Redis Sentinel可以使Redis高度可用。

安装Redis

添加EPEL存储库,并更新YUM以确认您的更改:

yum install epel-release

yum update

安装Redis:

yum install redis

启动Redis:

systemctl start redis

可选:要在启动时自动启动Redis:

systemctl enable redis

验证安装

确认Redis正在运行redis-cli:

redis-cli ping

如果Redis正在运行,它将返回:

PONG

Redis持久化

Redis为磁盘持久性提供了两个选项redis两种持久化有各自的优缺点。

RDB是默认的方式,所以您只需要设置AOF持久性:

1.在/etc/redis.conf中设置appendonly和appendfsync两个值:

appendonly yes

appendfsync everysec

重新启动Redis:

systemctl restart redis

优化

要提高Redis性能,请将Linux内核过度使用内存设置为1:

sysctl vm.overcommit_memory=1

在/etc/sysctl.conf设置重启生效

vm.overcommit_memory=1

设置Redis主/从复制

可以通过redis Sentinel来配置和监控主/从实例,如果主节点挂了,会选一个从节点当主节点,而其他所有从节点将被配置为使用新的主节点。

建议使用Redis V3.0及以上版本。

在主redis的机器上的/etc/redis.conf中绑定主ip:

bind127.0.0.1 192.168.1.8

重新启动Redis以保存更改:

 systemctl restart redis

在从redis的机器上的/etc/redis.conf中配置从redis:

slaveof 192.168.1.8 6379

该slaveof指令有两个参数:第一个是主节点的IP地址; 第二个是主配置中指定的Redis端口。

重新启动Redis以保存更改:

 systemctl restart redis

测试主从

主:

redis-cli127.0.0.1:6379> set ‘a’ 1OK

从:

redis-cli127.0.0.1:6379> set ‘a’ 1OK

redis Sentinel

Redis Sentinel是一个分布式系统(  集群):

Sentinel可以启动多个。具有多个Sentinel进程协作的优势如下:

1.当多个 Sentinel判断主redis不可用时才进行故障转移, 降低了误报的可能性

2.避免单点故障


配置Sentinel

Redis的源码中有一个sentinel.conf 默认在etc/redis/sentinel.conf,它是Sentinel的配置文件:

sentinel monitor mymaster 192.168.1.8 6379 2

sentinel down-after-milliseconds mymaster 60000

sentinel failover-timeout mymaster 180000

sentinel parallel-syncs mymaster 1

重点解释下这个:

sentinel monitor redis-master 192.168.1.8 6379 2

Sentinel去监视一个名为redis-master的主服务器,这个主服务器的IP地址为192.168.1.8 ,端口号为6379。将这个主服务器判断为失效至少需要2个Sentinel同意,一般设置为N/2+1(N为Sentinel总数)。只要同意Sentinel的数量不达标,自动故障迁移就不会执行。如果你设置的小于半数,Sentinel也会默认最小值就是半数。

配置文件只配置master就行,从库会自动发现。

运行Sentinel

运行 有两种方式:

第一种

redis-sentinel /etc/redis/sentinel.conf

第二种

redis-server /path/to/sentinel.conf –sentinel

启动sentinel时配置文件的必须的,没有文件启动不成功。sentinel运行端口26379

配置完Redis和Sentinel之后,按顺序启动各个角色。启动顺序如下:Master->Slave->Sentinel,要确保按照这个顺序依次启动。

测试Sentinel

启动成功后可以通过redis客户端工具查看当前Sentinel的信息,终端输入:

redis-cli -p 26379 -h 192.168.1.8 INFO Sentinel

sentinel_masters:1

sentinel_tilt:0

sentinel_running_scripts:2

sentinel_scripts_queue_length:1

master0:name=redis-master,status=ok,address=192.168.1.8:6379,slaves=2,sentinels=1

    原文作者:yiteng595
    原文地址: https://www.jianshu.com/p/6278d7ebfa86
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞