redis主从复制到哨兵

Redis安装、哨兵模式学习

redis安装

1、首先下载Linux版本的Redis,下载地址:http://download.redis.io/releases/,选择对应的版本下载即可。

本文选择最新版:http://download.redis.io/releases/redis-6.2.5.tar.gz,建议选择比较稳定的版本,例如redis-5.0.8.tar.gz

也可以使用wget命令在Linux服务器上直接下:wget http://download.redis.io/releases/redis-5.0.8.tar.gz

如果没有安装wget命令就先执行:yum -y install wget,顺便把gcc也安装了。

安装gccyum -y install gcc automake autoconf libtool make。此处就不截图展示了,安装可能比较慢。

2、解压redis安装包到/usr/local/路径下:tar -zxvf redis-6.2.5.tar.gz -C /usr/local/

3、进入到redis解压目录,先执行make命令。

4、安装redis到当前目录,安装前目录结构没有bin目录,安装后生产bin目录。

5、执行命令:make PREFIX=/usr/local/redis-6.2.5 install安装redis到解压目录,也可以自定义安装目录。

6、启动redis,有两种方式,直接执行bin目录下的redis-server [--port=6379]文件;使用配置文件启动。

redis启动(配置文件)

使用配置文件启动redis,需要配置参数,redis.conf文件在redis的根目录下存在。

  1. daemonize:是否后台启动,默认为no,需要在后台启动修改为yes。
  2. bind:远程访问绑定的地址,默认为127.0.0.1,建议修改为局域网地址,如果修改为0.0.0.0代表都可以访问(不安全)。
  3. port:端口号,默认为6379。
  4. dir:数据文件存放路径,默认为配置文件所在的当前路径,即./,建议修改到redis根目录的data文件夹下。
  5. logfile:日志文件名称,默认没有日志,配置好后会将日志文件保存到data目录下。
  6. 执行bin目录下的redis-server ../conf/redis.conf启动redis

redis主从搭建

  1. 先准备好环境,如果条件允许,建议在多台机器上搭建集群。可以选择多台计算机或者多个虚拟机。此处在一台机器上搭建伪集群。

  2. 选择在一台虚拟机上搭建多个redis集群,因为ip地址一致,所以端口号不能一致。此处选择一主二从的模式搭建主从节点。

  3. 准备好配置文件,先确定每台redis服务器的端口号:6379,6380,6381。选择端口号6379的服务器作为主节点(master)。对配置文件中需要修改的参数进行配置。主要参数有下面几个:

    1. bind:指定Redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中为了安全最好设置该项。

      protected-mode :保护模式,默认为yes;需要设置密码使用。为了方便学习,直接配置为no

      port:端口号,默认6379。

      daemonize:是否后台启动,默认为no,需要修改为yes,否则启动redis服务会占用当前线程。

      pidfile :当Redis 在后台运行的时候,Redis 默认会把pid 文件放在/var/run/redis.pid,你可以配置到其他地址。当在一台机器上运行多个redis 服务时,需要指定不同的pid 文件和端口。

      logfile:日志保存文件,建议填写日志文件的全路径,不然日志文件在根目录下也会存在一个个,文件内容为空,默认日志文件存放在数据文件目录下。建议在redis根目录创建logs文件夹专门存放日志。

      dir:数据文件存放目录,建议创建在根目录下创建一个data目录存放数据文件。

      dbfilename:快照文件名称,默认和数据文件存放在一块,即上述的data目录下。

      replicaof:数据同步的节点(master节点),配置ip port,从节点才需要配置。

      timeout:设置客户端连接时的超时时间,单位为秒,默认为0,代表无限时长。当客户端在这段时间内没有发出任何指令,那么关闭该连接。

      tcp-keepalive:指定TCP连接是否为长连接,"侦探"信号有server端维护。0表示禁用。

redis主从复制到哨兵_第1张图片

  1. 复制三个文件,修改好对应的配置。主要有端口号,日志文件名称,dbfilenamepidfile等参数。

  2. 分别启动三台redis服务。使用客户端连接任意一台服务,使用info replication命令即可查看主从节点信息。

redis哨兵模式

redis哨兵模式搭建基于主从模式搭建,主从集群中,如果主节点“挂了”(宕机),那么redis集群将不能提供写数据的操作,集群中就没有主节点,从而导致集群不可用;而哨兵模式,就是为了解决该问题,如果主节点挂了,那么在哨兵模式中,redis会在丛节点中选举一个节点作为新的主节点。

redis哨兵也需要使用集群模式,redis哨兵和redis服务集群是相互独立的。哨兵之间的选择与zookeeper的选举机制几乎一致。

准备好哨兵集群的配置文件,先启动redis服务集群,再启动哨兵集群。

哨兵启动命令为:redis-sentinel ../conf/sentienl.conf,执行bin目录下的哨兵服务,并指定配置文件启动。

sentinel.conf配置文件存在于redis根目录下,拷贝到conf目录下修改对应的参数即可。
redis主从复制到哨兵_第2张图片

redis主从复制到哨兵_第3张图片

redis集群(高可用)

你可能感兴趣的:(中间件,redis,数据库,linux)