centos7安装redis-5.0.9及主从复制
一、 Linux安装redis
1. 版本
CentOS版本:CentOS Linux release 7.7.1908 (Core)
Redis版本:redis-5.0.9
2. 准备文件
从官网下载tar.gz的安装包
image.png
3. 配置安装
将压缩包上传到自己准备安装的目录下,我这里放在了/usr/local/下面,使用tar –zxvf redis-5.0.9.tar.gz
命令解压,解压完成后,
使用gcc -v
判断是否安装gcc 如果没有安装如下图:
image.png
安装gcc命令:yum install -y gcc gcc-c++
已安装如下图:
image.png
进入redis的目录下,使用make MALLOC=libc
命令进行编译 然后 cd src
执行 make install
image.png
image.png
Make编译结束后,修改redis.conf配置文件
使用命令vi redis.conf
打开redis配置文件
将bind 127.0.0.1
注释掉 说明:如果不注释掉,其他服务访问不到
将protected-mode yes
改为no 说明:关闭保护模式
设置密码requirepass <密码>
说明:设置密码
daemonize no
改为yes 说明:使用后台启动
改完配置保存之后就可以启动了。
使用./src/redis-server redis.conf
命令加载指定配置启动redis服务
启动成功如下图:
image.png
为了方便,我们可以使用后台启动,将redis.conf中的daemonize no改为yes 说明:使用后台启动
如果redis设置密码之后,在使用redis.cli客户端操作数据,则需要认证(认证命令:auth <密码>
),不认证直接操作执行操作数据命令会报如下图所示错误
image.png
二、 配置主从(master-slave)
1. 概述(一主两从三哨兵)
主从复制可以是服务高可用,同时如果数据访问量过大,也可以缓解读取数据压力,能达到高可用,读写分离,服务宕机数据不丢失等目的
实现redis的主从复制有多种方式,本文采用的是redis自带的sentinel哨兵机制达到服务高可用及主从复制的目的
2. 配置主从复制
根据上面Linux安装单机redis的步骤,安装三台redis;如果条件有限也可在一台服务器启动三个不同端口的redis服务
配置redis主从很简单,只需要将主机的ip和端口配置到从机的redis.conf文件最后,重启各个从节点的服务,主从复制配置就完成了
1) 配置命令:slaveof <主机ip> <端口>
例:slaveof 10.143.4.29 6379
(使用vi打开redis.conf后,使用shift+g就可以到达文件最后)
2)如果redis设置了密码,则还需要配置密码,否则主从之间数据无法同步
打开该项注释,添加主节点设置的密码 masterauth <密码>
3)设置从节点只读,从节点添加 slave-read-only yes
4)指定日志文件打印位置 logfile "/data/redis/logs/redis.log"
从机服务全部启动成功后,打开每台redis的客户端(命令:./src/redis-cli
) 如果三台redis服务使用不同端口在同一台服务器上启动的,那么启动客户端命令需要加对应的端口号(命令:./src/redis-cli –c –p 6379
)
然后可以通过info replication
命令查看主从关系
我配置的主从关系如下图:
image.png
image.png
image.png
可以使用命令测试一下,在主机上set name zs 然后在从机上get name 就可以看到数据已经同步到从机上面了;
主机具有读写权限,从机只有读的权限