CentOS7离线安装Redis以及配置哨兵

1.去官网下载Redis安装包,这里我使用的版本是redis-5.0.14.tar.gz

类型

节点1(主)

节点2(从)

节点3(从)

reids

198.98.31.1: 6379

198.98.31.2: 6379

198.98.31.3: 6379

sentinel

198.98.31.1: 26379

198.98.31.2: 26379

198.98.31.3: 26379

2.执行步骤

  • 上传reids安装包到服务器/home/laoA目录下-----注意:laoA是自己创建的文件夹,根据自己的需求安装部署到相应的文件夹,还有laoA还是用户名
  • 使用laoA用户登录解压安装包

cd /home/laoA

tar -zxvf redis-5.0.14.tar.gz

  • 指定安装路径并编译

cd redis-5.0.14

make

没报错,跳过安装gcc的步骤,继续执行下面的安装步骤11111

如果报错提示未找到gcc,则要先安装gcc再编译

下载gcc-4.8.6安装包

创建安装gcc目录

mkdir /usr/local/gcc

假如提示没权限的话就切root用户

su root

创建安装gcc目录

mkdir /usr/local/gcc

再切回laoA用户

su laoA

上传gcc-4.8.6安装包至/usr/local/gcc目录

切换到安装gcc目录

cd /usr/local/gcc

解压gcc安装包

tar -zxvf gcc.jar

进入解压后的gcc目录

cd gcc

执行安装命令

rpm -Uvh *.rpm --nodes --force

提示没权限的话切root目录

su root

继续执行

rpm -Uvh *.rpm --nodes –force

安装成功后,使用gcc -v命令查看

继续执行make,如果报错,就把解压出来的文件夹删了重新解压

cd ..

rm -rf redis-5.0.14

tar -zxvf redis-5.0.1.4.tar.gz

  • 执行安装11111

cd src && make PREFIX=/home/laoA/redis install 

  • 创建相关目录

cd /home/laoA/redis

mkdir {conf,db,logs,temp}

  • 复制配置文件

cd conf/

cp /home/laoA/redis-5.0.14/redis.conf .

cp /home/laoA/redis-5.0.14/sentinel.conf .

  • 修改配置

节点1的reids.conf文件,确保如下配置的值,IP请根据实际替换。

bind 198.98.31.1

daemonize yes

pidfile "/home/laoA/redis/redis_6379.pid"

logfile "/home/laoA/redis/logs/redis_6379.log"

dir "/home/laoA/redis/db"

masterauth passw0rd@laoA

requirepass passw0rd@laoA

配置完上面后,再检查一下此redis.conf文件有没有replica-read-only yes 这一句,没有的话就不用管它,有的话就需要把replica-read-only yes这一句改成replica-read-only no,否则待会测试三台redis有没有打通设置值set test_id abcd EX 300的时候会有如下报错

 

节点1 的sentinel.conf文件内容如下,IP请根据实际替换

protected-mode no

port 26379

pidfile "/home/laoA/redis/redis_26379.pid"

dir "/home/laoA/redis/temp"

logfile "/home/laoA/redis/logs/redis_26379.log"

sentinel monitor eidmaster 198.98.31.1 6379 2

sentinel down-after-milliseconds eidmaster 10000

sentinel failover-timeout eidmaster 60000

sentinel auth-pass eidmaster passw0rd@eid

sentinel parallel-syncs eidmaster 1

节点2的reids.conf文件,确保如下配置的值,IP请根据实际替换。

bind 198.98.31.2

daemonize yes

pidfile "/home/laoA/redis/redis_6379.pid"

logfile "/home/laoA/redis/logs/redis_6379.log"

dir "/home/laoA/redis/db"

masterauth passw0rd@laoA

requirepass passw0rd@laoA

slaveof 198.98.31.1 6379

slave-priority 90

 配置完上面后,再检查一下此redis.conf文件有没有replica-read-only yes 这一句,没有的话就不用管它,有的话就需要把replica-read-only yes这一句改成replica-read-only no,否则待会测试三台redis有没有打通设置值set test_id abcd EX 300的时候会有如下报错

节点2 的sentinel.conf文件内容如下,IP请根据实际替换

protected-mode no

port 26379

pidfile "/home/laoA/redis/redis_26379.pid"

dir "/home/laoA/redis/temp"

logfile "/home/laoA/redis/logs/redis_26379.log"

sentinel monitor eidmaster 198.98.31.1 6379 2

sentinel down-after-milliseconds eidmaster 10000

sentinel failover-timeout eidmaster 60000

sentinel auth-pass eidmaster passw0rd@eid

sentinel parallel-syncs eidmaster 1

节点3的reids.conf文件,确保如下配置的值,IP请根据实际替换。

bind 198.98.31.3

daemonize yes

pidfile "/home/laoA/redis/redis_6379.pid"

logfile "/home/laoA/redis/logs/redis_6379.log"

dir "/home/laoA/redis/db"

masterauth passw0rd@eid

requirepass passw0rd@eid

slaveof 198.98.31.1 6379

slave-priority 90

 配置完上面后,再检查一下此redis.conf文件有没有replica-read-only yes 这一句,没有的话就不用管它,有的话就需要把replica-read-only yes这一句改成replica-read-only no,否则待会测试三台redis有没有打通设置值set test_id abcd EX 300的时候会有如下报错

节点3 的sentinel.conf文件内容如下,IP请根据实际替换

protected-mode no

port 26379

pidfile "/home/laoA/redis/redis_26379.pid"

dir "/home/laoA/redis/temp"

logfile "/home/laoA/redis/logs/redis_26379.log"

sentinel monitor eidmaster 198.98.31.1 6379 2

sentinel down-after-milliseconds eidmaster 10000

sentinel failover-timeout eidmaster 60000

sentinel auth-pass eidmaster passw0rd@laoA

sentinel parallel-syncs eidmaster 1

  • 切换到laoA用户,依次启动redis节点1、节点2、节点3

su – laoA

cd /home/laoA/redis/bin

./redis-server ../conf/redis.conf

  • 依次启动哨兵节点1、节点2、节点3

cd /home/laoA/redis/bin

./redis-sentinel ../conf/sentinel.conf &

 验证

  •  连接主redis

./redis-cli -h 198.98.31.1 -p 6379

auth "passw0rd@laoA

  • 设置测试值----设置abcd值,有效时间为60秒,为了测试从节点有没有跟主节点打通

set test_id abcd EX 60

  • 连接从reids---到各自的服务器连接从redis

./redis-cli -h 198.98.31.2 -p 6379

auth "passw0rd@laoA

get test_id

./redis-cli -h 198.98.31.3 -p 6379

auth "passw0rd@laoA

get test_id

执行完命令后看看能不能获取到刚刚在主节点中设置的值abcd,看到了证明哨兵配置成功。假如出现nil或其他的错误,说明未配置成功,此时回去检查刚刚配置的所有节点的redis.conf和sentinel.conf,修改配置文件之前,先把刚刚启动的所有redis节点和sentinel节点先停掉,否则你会发现修改的配置文件不生效。

先停掉redis服务查看redis是否在运行

ps aux | grep redis

然后使用终极武器

kill -9 端口

然后再修改配置文件才会生效

修改完后继续重复一遍上述步骤依次启动redis节点1、节点2、节点3,依次启动哨兵节点1、节点2、节点3,连接主redis,设置测试值----设置abcd值,有效时间为60秒,为了测试从节点有没有跟主节点打通,连接从reids---到各自的服务器连接从redis,能拿到另一台服务器设置的值abcd表示哨兵搭建成功!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值