linux环境下,redis主从复制,哨兵搭建经验分享

减少了对数据库的读操作,数据库的压力降低 ,加快了响应速度 缓存机制可谓是做到了完美一绝,下面我就centos7环境下的redis-5.0.12版本主从复制,哨兵搭建做个分享,请多多提出宝贵意见!

配置编译环境:

sudo yum install gcc-c++

官网下载redis-5.0.12版本,上传到linux环境下http://download.redis.io/releases/

这里直接通过命令去操作wget http://download.redis.io/releases/redis-5.0.12.tar.gz

下载后解压至当前目录   

tar -zxvf redis-5.0.12.tar.gz 

进入解压后的目录,进行初始化

cd redis-5.0.12/

执行make编译Redis:执行命令

make MALLOC=libc

然后初始化,redis

执行命令

make install 

好,操作到这里,redis安装的差不多了,我们现在去修改配置文件redis.conf,修改前为了保持文件原整性,我们这里copy它

cp redis.conf redis_16379.conf 

这里简要说明下, redis默认端口是6379,哨兵默认端口是26379,我们这里搭建的主从复制,那么我们简单定义

主端口16379,两个从端口分别是16380,16381

哨兵是集群模式,这里搭建三台,端口分别定义为26379,26380,26381;这里只是个人习惯,让他你可以定义为其他端口也是可以的

好,继续,

为了规范,这里创建一个文件夹,后续日志、pid等信息都放到这个目录下:mkdir sentinel

开始修改conf,vim redis_16379.conf 

这个文件里面主要修改以下配置

ip,protected-mode保护模式,port(端口),daemonize运行模式,pidfile地址,logfile日志路径,dir数据目录,

protected-mode关闭保护模式

port,6379改为16379

daemonize运行模式,no改为yes

pidfile地址

logfile日志路径

dir数据目录

修改配置文件,保存退出:wq

这里我们启动试试,看看配置的是不是有问题哈

src/redis-server redis_16379.conf 

ps -ef|grep redis

看着没啥问题,端口已经启动,

我们用自己的客户端工具连接下试试

远程连接成功,好到这里我们主从复制才做好第一步,搭建一个redis实例,

接下来,我们开始搭建主从模式模式,16379端口为主,16380和16381端口为从节点

操作:

1、复制一份redis.conf文件

2、将相关配置修改为如下值: port 16380

pidfile /root/redis-5.0.12/sentinel/redis_16380.pid # 把pid进程号写入pidfile配置的文件

logfile "16380.log"

dir /usr/local/redis-5.0.3/data/16380 # 指定数据存放目录

3、配置主从复制

replicaof 127.0.0.1 16379 # 从本机16379的redis实例复制数据,

replica-read-only yes # 配置从节点只读

4、启动从节点 redis-server redis.conf 5、连接从节点 redis-cli -p 6380 6、测试在6379实例上写数据,6380实例是否能及时同步新修改数据 7、可以自己再配置一个6381的从节点

开干,复制文件
cp redis_16379.conf redis_16380.conf 

修改配置,

端口

pidfile 和logfile

配置主从复制

好,保存退出,启动

src/redis-server redis_16380.conf ,

创建16381端,复制redis_16380.conf,

cp redis_16380.conf redis_16381.conf

然后将文件里面的所有16380,都改为16381,这里不在操作,及其简单,和配置16380一样,只是把16380改为16381而已,

然后启动16381端口

src/redis-server redis_16381.conf 

ps -ef| grep redis

三个端口都已经启动,好这里验证下,主从复制是不是好使,

进入16379,看看他的info

src/redis-cli -h 127.0.0.1 -p 16379

好主从复制搭建成功,这里你可以自己验证下, 在16379里面set内容,看看16380,和16381里面是不是已经同步了,这里不在演示,我们开始搭建哨兵集群

哨兵集群最少是三台,我们这就按照三台搭建,端口分别是26379,26380,26381,

1、复制一份sentinel.conf文件 cp sentinel.conf sentinel_26379.conf

2、将相关配置修改为如下值:

port 26379

daemonize yes

pidfile "/root/redis-5.0.12/sentinel/redis-sentinel-26379.pid"

logfile "/root/redis-5.0.12/sentinel26379.log"

dir "/root/redis-5.0.12/sentinel"

sentinel monitor mymaster 192.168.0.60 6379 2 # mymaster这个名字随便取,客户端访问时会用到

3、启动sentinel哨兵实例 src/redis-sentinel sentinel-26379.conf 

开干,复制文件

cp sentinel.conf sentinel_26379.conf

修改文件

找到sentinel monitor mymaster,6379修改为16379

好退出保存,并且复制sentinel_26379.conf,

将sentinel_26380里面所有的26379改为sentinel_26380,

将sentinel_26381里面所有的26379改为sentinel_26381,这里不在演示

配置好后,启动哨兵

src/redis-sentinel sentinel_26379.conf 

src/redis-sentinel sentinel_26380.conf 

src/redis-sentinel sentinel_26381.conf 

启动完毕,我们看看哨兵里面的info

src/redis-cli -h 127.0.0.1 -p 26379

info

哨兵搭建成功,

我们验证下,我们找到16379,16380,16381这个几个redis实例哪个是主节点

发下16379是主节点,

那我们将这个节点给kill掉,看看哨兵会不会选举出来新的节点,

我们再次进入26379里面,看看现在主节点是谁

大概10s左右,看监控主节点端口已经改变,

此时我们在将16379启动起来,看看16379是什么角色

src/redis-server redis_16379.conf

src/redis-cli -h 127.0.0.1 -p 16379

 

好,到这里,哨兵搭建完毕。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux搭建Redis主从复制,需要按照以下步骤进行操作: 1. 安装Redis:在Linux上安装Redis,可以使用apt-get或yum命令进行安装。 2. 配置Redis主服务器:在Redis主服务器上,需要修改redis.conf配置文件,将bind参数设置为主服务器的IP地址,将protected-mode参数设置为no,将slave-read-only参数设置为no,将requirepass参数设置为一个密码,以保证安全性。 3. 启动Redis主服务器:启动Redis主服务器,使用redis-server命令即可。 4. 配置Redis从服务器:在Redis从服务器上,需要修改redis.conf配置文件,将bind参数设置为从服务器的IP地址,将protected-mode参数设置为no,将slave-read-only参数设置为yes,将masterauth参数设置为主服务器的密码。 5. 启动Redis从服务器:启动Redis从服务器,使用redis-server命令即可。 6. 连接Redis主从服务器:在Redis从服务器上,使用redis-cli命令连接Redis主服务器,使用slaveof命令将从服务器设置为主服务器的从服务器。 7. 测试Redis主从复制:在Redis主服务器上,使用set命令设置一个键值对,然后在Redis从服务器上使用get命令获取该键值对,如果能够获取到,则说明Redis主从复制已经成功搭建。 以上就是在Linux搭建Redis主从复制的步骤,需要注意的是,在配置Redis主从服务器时,需要根据实际情况进行修改,以保证配置的正确性。 ### 回答2: Redis是一种开源的key-value数据库,它可以通过主从复制机制提供可靠性和性能增强。在主从复制模型中,有一个主节点和多个从节点,主节点负责处理所有写操作,从节点则复制主节点的数据以实现高可靠性和高可用性。 搭建Redis主从复制可以带来以下好处: 1. 数据冗余:主节点将数据同时推送到不同的从节点上,一旦主节点宕机,从节点可以立即接管服务,保证数据不丢失; 2. 负载均衡:主节点负责写操作,从节点只负责读操作,可以极大程度上减轻主节点的负载,提高系统性能; 3. 读取速度:多个从节点可以并行读取数据,提高读取速度。 下面是Linux搭建Redis主从复制的步骤: 1. 安装Redis:使用yum命令在CentOS Linux上安装Redis。 ``` yum install redis ``` 2. 准备Redis主从复制的配置文件,创建快照目录 ``` mkdir /etc/redis cp /etc/redis.conf /etc/redis/redis-master.conf cp /etc/redis.conf /etc/redis/redis-slave.conf mkdir /var/redis/redis-master mkdir /var/redis/redis-slave ``` 3. 编辑redis-master.conf文件,设置Redis主节点的ip地址、端口、快照目录和持久化策略 ``` bind 127.0.0.1 port 6379 dir /var/redis/redis-master save 900 1 save 300 10 save 60 10000 ``` 4. 编辑redis-slave.conf文件,设置Redis从节点的ip地址、端口、快照目录,以及主从复制的参数 ``` bind 127.0.0.1 port 6380 dir /var/redis/redis-slave slaveof 127.0.0.1 6379 ``` 5. 启动Redis主节点 ``` redis-server /etc/redis/redis-master.conf ``` 6. 启动Redis从节点 ``` redis-server /etc/redis/redis-slave.conf ``` 在实际应用中,主从复制可以大大增强Redis数据库的可靠性和可用性,使得系统更加健壮和高效。需要注意的是,为了保证整个主从复制的过程正确无误,用户需要根据Redis版本和特定目录等不同因素进行相应的调整。 ### 回答3: Redis是一个高性能的key-value存储系统,常用于缓存、队列等场景。为了提高Redis的可用性和稳定性,通常需要搭建Redis主从复制,实现数据的自动备份和高可用。在Linux操作系统上搭建Redis主从复制,可以按照以下步骤操作: 1.安装Redis:在Linux上安装Redis非常简单,可以在终端中输入命令sudo yum install redis,即可安装Redis软件包。 2.配置Redis主服务器:打开Redis主服务器的配置文件/etc/redis.conf,找到bind,将其注释掉;找到requirepass,输入密码并保存配置文件;找到daemonize,将其改为yes。启动Redis主服务器。 3.配置Redis从服务器:打开Redis从服务器的配置文件/etc/redis.conf,找到bind,将其注释掉;找到requirepass,输入主服务器密码并保存配置文件;找到daemonize,将其改为yes;找到slaveof,输入主服务器IP和端口号,并保存配置文件。启动Redis从服务器。 4.测试:在主服务器上通过redis-cli命令行输入的set命令设置一个键值对,在从服务器上通过redis-cli命令行输入的get命令获取键值对,如果返回相同的值,说明Redis主从复制搭建成功。 通过以上步骤可实现Redis主从复制搭建,实现数据的自动备份和高可用。同时,也需要注意Redis主从服务器的配置和运维,保证Redis服务的稳定性和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值