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
也安装了。
安装gcc
:yum -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
的根目录下存在。
daemonize
:是否后台启动,默认为no,需要在后台启动修改为yes。bind
:远程访问绑定的地址,默认为127.0.0.1,建议修改为局域网地址,如果修改为0.0.0.0代表都可以访问(不安全)。port
:端口号,默认为6379。dir
:数据文件存放路径,默认为配置文件所在的当前路径,即./
,建议修改到redis
根目录的data
文件夹下。logfile
:日志文件名称,默认没有日志,配置好后会将日志文件保存到data
目录下。- 执行
bin
目录下的redis-server ../conf/redis.conf
启动redis
redis
主从搭建
-
先准备好环境,如果条件允许,建议在多台机器上搭建集群。可以选择多台计算机或者多个虚拟机。此处在一台机器上搭建伪集群。
-
选择在一台虚拟机上搭建多个
redis
集群,因为ip
地址一致,所以端口号不能一致。此处选择一主二从的模式搭建主从节点。 -
准备好配置文件,先确定每台
redis
服务器的端口号:6379,6380,6381。选择端口号6379的服务器作为主节点(master)。对配置文件中需要修改的参数进行配置。主要参数有下面几个:-
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表示禁用。
-
-
复制三个文件,修改好对应的配置。主要有端口号,日志文件名称,
dbfilename
,pidfile
等参数。 -
分别启动三台
redis
服务。使用客户端连接任意一台服务,使用info replication
命令即可查看主从节点信息。
redis
哨兵模式
redis
哨兵模式搭建基于主从模式搭建,主从集群中,如果主节点“挂了”(宕机),那么redis
集群将不能提供写数据的操作,集群中就没有主节点,从而导致集群不可用;而哨兵模式,就是为了解决该问题,如果主节点挂了,那么在哨兵模式中,redis
会在丛节点中选举一个节点作为新的主节点。
redis
哨兵也需要使用集群模式,redis
哨兵和redis
服务集群是相互独立的。哨兵之间的选择与zookeeper
的选举机制几乎一致。
准备好哨兵集群的配置文件,先启动redis
服务集群,再启动哨兵集群。
哨兵启动命令为:redis-sentinel ../conf/sentienl.conf
,执行bin
目录下的哨兵服务,并指定配置文件启动。
sentinel.conf
配置文件存在于redis
根目录下,拷贝到conf
目录下修改对应的参数即可。