2021-07-22

Redis哨兵模式搭建(llinux环境)

1、linux搭建redis哨兵模式

192.168.114.128 (主机) 端口:6379
192.168.114.129 (从机) 端口:6379
192.168.114.130 (从机) 端口:6379
192.168.114.131 (哨兵) 端口:26379

2、安装Redis(单机版)然后通过vmware复制多台即可

在每台Liunx服务器上安装好redis,并测试能够成功启动。

1、运行wget下载redis的安装包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
建议迅雷直接下载,使用wget下载速度实在是太慢了,根本连接不上

2、解压安装包
tar -zxvf redis-5.0.5.tar.gz

3、进入到解压文件中
cd redis-5.0.5

4、这个时候先不要先立即安装redis
先安装一个gcc,不然程序运行时报错
yum install -y gcc

5、安装LIBC
安装libc,不然会出现致命错误:jemalloc/jemalloc.h:没有那个文件或目录
记住,一定要在 先cd redis-5.0.5命令,并在改目录下目录下安装libc
make MALLOC=libc

6、在redis-5.0.5目录下使用命令
make

7、进入src目录进行安装
cd src
进行安装,并指定安装目录至/usr/local/redis
make install PREFIX=/usr/local/redis

8、创建etc文件夹
进入安装后的redis目录
cd /usr/local/redis
在改目录下创建一个文件夹
mkdir etc

9、复制配置文件
在刚刚解压的安装包内,获取redis的配置文件,然后将这个文件放到/usr/local/redis/etc中
cp /home/redis-5.0.5/redis.conf /usr/local/redis/etc/

10、修改redis配置文件
第一步:修改redis为后台启动(如果不修改,那么界面上就都是redis执行界面了)
cd /usr/local/redis/etc/
vim redis.conf

找到daemonize no 
可以linux 在编辑页面舒服/ 直接输入查找命令
/daemonize

将daemonize no改为daemonize yes

第二步:设置redis密码
输入查找命令 /requirepass foobared
然后去除#号,foobared替换成你的密码。
当然了也可以直接在空白行设置密码
例如:requirepass 123456    (每一台机器都要配置一样的密码,不然会出现主节点和子节点不能互通)

第三步:开启外网访问
通过查找命令找到bind 127.0.0.1,注释掉它
/bind 127.0.0.1
记住,如果是第一次安装它一定是开启的。
我们需要将它注释掉
在改行最前面加上#即可

第四步:对所有redis服务机配置相关文件地址(如果不配置,则会使用系统默认配置,此步骤可以跳过)
在redis.conf中搜索pidfile,配置pid文件,将路径修改为:
pidfile /usr/local/redis/run/redis_6379.pid
继续搜索logfile,配置日志文件(如果时第一次安装,显示的是logfile “”),
logfile "/usr/local/redis/logs/redis.log"
继续搜索dir,配置数据文件路径,找到dir ./,修改为
dir /usr/local/redis/dbcache/
保存并退出

第五步:创建日志文件,pid文件,数据文件夹(如果第四步选择跳过,该步骤不需要执行)
创建日志文件
mkdir /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log
创建pid文件
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis_6379.pid
创建数据文件夹
mkdir /usr/local/redis/dbcache

11、启动redis
进入redis目录
cd /usr/local/redis/bin
输入启动命令,并指定配置文件
./redis-server /usr/local/redis/etc/redis.conf
进入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis启动时的端口号(该项在配置文件中也可配置)
123456:代表你刚刚在redis配置文件中设置的密码

12、关于Linux的警告
启动后会提示你,在Linux界面上输入密码是不安全的
不过这个没关系,咱们不管他。

13、检验redis是否启动成功
输入命令 ping
ping
如果返回的是pong,则启动成功

14、测试输入数据类型
set ceshi “123456”
使用get命令如果能成功获取到 123456时,则成功

15、关闭redis
首先退出redis控制台
Ctrl+c
输入命令,关闭redis
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a “123456” shutdown
使用ps命令检查后台进程
或者不退出控制台,直接shutdown
ps -ef | grep redis
发现,没有正在运行的redis,那么表示关闭成功

16、其他说明
如果需要被其他IP所访问,需关闭防火墙,或者开启与redis相同的端口
临时关闭防火墙命令
systemctl stop firewalld

开启6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
更新防火墙规则
firewall-cmd --complete-reload
查看当前所开放的端口
firewall-cmd --zone=public --list-ports

3、主从复制搭建

1、完成redis安装后可以开始搭建主从复制

2、修改从Redis的配置文件
vim /usr/local/redis/etc/redis.conf
使用搜索命令搜索replicaof
/replicaof
增加参数 replicaof [redis主机地址] [redis主机端口]
replicaof 192.168.114.128 6379
使用搜索命令搜索**masterauth **
/masterauth
添加从机访问redis主机访问密码
masterauth 123456

3、对所有redis服务机配置相关文件地址(如果不配置,则会使用系统默认配置,此步骤可以跳过)
在redis.conf中搜索pidfile,配置pid文件,将路径修改为:
pidfile /usr/local/redis/run/redis_6379.pid
继续搜索logfile,配置日志文件(如果时第一次安装,显示的是logfile “”),
logfile “/usr/local/redis/logs/redis.log”
继续搜索dir,配置数据文件路径,找到dir ./,修改为
dir /usr/local/redis/dbcache/
保存并退出

4、创建日志文件,pid文件,数据文件夹
如果第四步选择跳过,改步骤不需要执行
创建日志文件
mkdir /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log
创建pid文件
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis_6379.pid
创建数据文件夹
mkdir /usr/local/redis/dbcache

5、启动redis
进入redis目录
cd /usr/local/redis/bin
输入启动命令,并指定配置文件
./redis-server /usr/local/redis/etc/redis.conf
进入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis启动时的端口号(该项在配置文件中也可配置)
123456:代表你刚刚在redis配置文件中设置的密码

6、往redis主机中插入数据
在redis主机中插入数据
然后在redis从机中查找刚刚所插入的数据
如果能够成功查到,那证明主从复制搭建成功
注:从机中是无法成功插入数据的,如果你搭建的从机可以插入数据,那证明搭建失败。

7、关闭redis
退出redis控制台
Ctrl+c
输入命令,关闭redis
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a “123456” shutdown

或者不退出控制台,直接shutdown
使用ps命令检查后台进程
ps -ef | grep redis
发现,没有正在运行的redis,那么表示关闭成功

4、复制虚拟机(把上面搭建好的虚拟机克隆三份)

1右击虚拟机,选择管理,选择克隆、选择完整克隆

2克隆成功后,进入命令窗口输入 ifconfig 查看id然后根据id命名虚拟机

5、搭建哨兵并测试

1、Redis哨兵模式配置文件修改
此处只需要正对哨兵的那台机子上的redis的sentinel.conf文件做改动即可,其他主机与从机无须配置哨兵配置文件。我这里也就是只需要对192.168.114.131这台机子配置哨兵配置文件即可
进入redis压缩包文件解压处,我的位置在/home/redis-5.0.5
cd /home/redis-5.0.5
复制配置文件sentinel.conf
cp /home/redis-5.0.5/sentinel.conf /usr/local/redis/etc
进入redis安装目录
cd /usr/local/redis/etc
编辑sentinel.conf
vim sentinel.conf

2、修改从机配置文件sentinel.conf
搜索daemonize,将daemonize的值从no设置为yes(设置哨兵模式为后台启动)
daemonize yes
搜索pidfile(pid文件),设置值
pidfile /usr/local/redis/run/redis-sentinel.pid
搜索logfile(日志文件),设置值
logfile "/usr/local/redis/logs/redis-sentinel.log"
搜索dir(工作目录),设置值
dir /usr/local/redis/tmp
搜索sentinel monitor mymaster,设置主机IP地址
[redis主机IP地址],[端口号],[选举次数]
sentinel monitor mymaster 192.168.114.128 6379 1
搜索 auth-pass,设置redis主机访问密码
sentinel auth-pass mymaster 123456
搜索down-after-milliseconds,心跳检测8000毫秒,如果主机8秒内没有相应,就会在从机开始选举
sentinel down-after-milliseconds mymaster 8000
搜索parallel-syncs,在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长。
sentinel parallel-syncs mymaster 1

3、创建与配置文件所关联的文件及目录
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis-sentinel.pid
touch /usr/local/redis/logs/redis-sentinel.log
mkdir /usr/local/redis/tmp

4、修改主机中的配置文件
在主机的redis.conf配置masterauth密码,因为当主机挂了后,再次重启会变成从机,无法直接变为主机。
然后,有个建意,将所有的主机与从机密码设置最好是一致,不然密码不一致的情况下可能会无法成功访问到主机。
masterauth 123456

5、启动redis主机与从机
进入redis目录
cd /usr/local/redis/bin
输入启动命令,并指定配置文件
./redis-server /usr/local/redis/etc/redis.conf
进入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis启动时的端口号(该项在配置文件中也可配置)
123456:代表你刚刚在redis配置文件中设置的密码

6、启动redis哨兵模式
进入redis目录
cd /usr/local/redis/bin
输入启动命令,并指定配置文件
./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
此时控制台会出现一个进程号,我们使用命令查看redis进程
查看进行是否已成功运行
ps -ef|grep redis
如果此时,存在相同的redis进程说明哨兵模式启动成功。
也可以通过将哨兵配置文件中的daemonize值设h为no,可以直接查看哨兵模式是否启动成功

7、查看redis信息
在IP为192.168.114.128的机器中中输入info,查看redis主从信息(记得先输入密码  auth 密码)
info
这个时候我们找到Replication
发现当前机器的角色为 master(主机)
从机分别为 192.168.114.129:6379与192.168.114.130:6379

8、展示选举策略
此时我们将192.168.114.128:6379这台服务器中的redis服务关闭
shutdown
稍等8秒至10秒
我们去 192.168.114.129:6379这台服务器上再次查询redis主从信息
这个时候我们找到Replication
我们发现现在的master为192.168.114.130:6379
此时证明我们的哨兵模式搭建成功

9、启动刚刚关闭的redis服务器
开启刚刚关闭的192.168.114.128:6379服务器
稍等一会后,然后我们往192.168.114.130:6379再次查看,redis主从信息
这个时候我们找到Replication
此时我们发现这个时候的主机依旧是192.168.114.130:6379,所以当redis主机宕机后,再次重启原先的主机是不会直接变为主redis的

10、关闭哨兵模式
./redis-cli -h 127.0.0.1 -p 26379 shutdown

11、其他说明
如果需要被其他IP所访问,需关闭防火墙,或者开启与redis相同的端口
临时关闭防火墙命令
systemctl stop firewalld

开启26379端口
firewall-cmd --zone=public --add-port=26379/tcp --permanent
更新防火墙规则
firewall-cmd --complete-reload
查看当前所开放的端口
firewall-cmd --zone=public --list-ports

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值