Linux从0开始安装Redis并设置为开机启动以及Linux安装redis集群哨兵模式

9 篇文章 0 订阅

系统环境:Centos7
Redis安装包版本:redis-5.0.5.tar.gz

一、安装Redis

在线下载redis包 使用以下命令

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

下载完毕之后解压 此处我们解压到/usr/local/路径

 tar -xvf /opt/redis-5.0.5.tar.gz /usr/local

如果以上命令出现这种情况
tar: /usr/local:归档中找不到
tar: 由于前次错误,将以上次的错误状态退出
在原有的命令中加-C
tar -xvf /opt/redis-5.0.5.tar.gz -C /usr/local

使用yum 安装gcc依赖,一路y同意过去即可

yum install gcc

cd进redis安装目录下
在这里插入图片描述
在此目录下编译安装

make MALLOC=libc 

在这里插入图片描述
将/usr/local/redis-5.0.5/src目录下的文件加到/usr/local/bin目录

cp /usr/local/redis-5.0.5/src /usr/local/bin

下一步进行安装
cd src && make install
在这里插入图片描述
至此我们的redis已经安装成功了,接下来就是将redis改为默认开机启动。

二、Redis启动方式

Redis有三种启动方式

1、直接启动

切换到redis-5.0.5/src文件夹下

cd src

启动redis

./redis-server

在这里插入图片描述
出现这个图形表示启动成功!
按ctrl+c可以退出

2、以后台进程方式启动

修改redis-5.0.5/redis.conf文件

vim redis.conf

将daemonize no改为 daemonize yes

指定redis.conf文件启动

./redis-server /usr/local/redis-5.0.5/redis.conf

在这里插入图片描述
出现这样则启动成功

关闭redis进程

 ps -aux | grep redis

 kill -9  此处写端口号

在这里插入图片描述

3、设置Redis开机自启动

cd到/etc目录下新建redis目录

mkdir redis

将/usr/local/redis-5.0.5/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf

cp /usr/local/redis-5.0.5/redis.conf /etc/redis/6379.conf

将redis的启动脚本复制一份放到/etc/init.d目录下

 cp /usr/local/redis-5.0.5/utils/redis_init_script /etc/init.d/redisd

cd到/etc/init.d目录下

cd /etc/init.d/

然后执行自启命令

chkconfig redisd on

如果执行chkconfig redisd on命令报错
service redisd does not support chkconfig
使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
再次执行开机自启 chkconfig redisd on 命令,成功。

启动:

service redisd start

Starting Redis server…
2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started
2288:C 13 Dec 13:51:38.087 # Configuration loaded

如果启动出现以下问题
/var/run/redis_6379.pid exists, process is already running or crashed

shutdown -r now

软重启让系统自动恢复下就行了

关闭:

service redisd stop

在这里插入图片描述

三、安装redis集群哨兵模式

1、整体哨兵模式规划

redis节点规划:6381 (master), 6382 (slave),6383 (slave),6384 (slave)
sentinel模式节点规划:26381 , 26382

2、Redis主从安装步骤

在/usr/local/目录下创建 redis-sentinel文件夹
在这里插入图片描述
进入/usr/local/redis-sentinel目录下,创建文件夹 master-6381 ,slave-6382 ,slave-6383 ,slave-6384 ,sentinel-26381 ,sentinel-26382

 mkdir master-6381 slave-6382 slave-6383 slave-6384 sentinel-26381 sentinel-26382

把刚刚安装目录redis-5.0.5下redis.conf拷贝到目录下 master-6381 slave-6382 slave-6383 slave-6384

cp /usr/local/redis-5.0.5/redis.conf master-6381
cp /usr/local/redis-5.0.5/redis.conf master-6382
cp /usr/local/redis-5.0.5/redis.conf master-6383
cp /usr/local/redis-5.0.5/redis.conf master-6384

把刚刚安装目录redis-5.0.5下sentinel.conf 拷贝到 sentinel-26381 ,sentinel-26382

cp /usr/local/redis-5.0.5/sentinel.conf sentinel-26381
cp /usr/local/redis-5.0.5/sentinel.conf sentinel-26382

接下来我们配置主从服务器
主服务器修改/usr/local/redis-sentinel/master-6381/目录下 redis.conf 配置文件
6382端口服务器修改 /usr/local/redis-sentinel/master-6382/目录下 redis.conf 配置文件
6383端口服务器修改 /usr/local/redis-sentinel/master-6383/目录下 redis.conf 配置文件
6384端口服务器修改 /usr/local/redis-sentinel/master-6384/目录下 redis.conf 配置文件

配置项主服务器6381从服务器 6382、6383、6384备注
bind127.0.0.1 (本机地址)127.0.0.1(本机地址)
port6381 (主服务器端口号)6382、6383、6384 (从服务器端口号)
daemonizeyes (后台启动)yes
pidfile/var/run/redis_6381.pid (redis 后台启动的时候,会在/var/run/默认生成一个pid文件)pidfile /var/run/redis-6382.pid、pidfile /var/run/redis-6383.pid、pidfile /var/run/redis-6384.pid
protected-modeno (保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式))no
dir/usr/local/redis-sentinel/master-6381/data (数据保存目录)dir /usr/local/redis-sentinel/slave-6382/data、dir /usr/local/redis-sentinel/slave-6383/data、dir /usr/local/redis-sentinel/slave-6384/data
slaveof127.0.0.1 6381主服务器的IP 主服务器端口号,只有从服务器设置。

接下来需要在上面表格中填写的相应的几个路径下创建data文件夹

当创建完data文件夹后使用以下命令

 /usr/local/redis-5.0.5/bin/redis-server /usr/local/redis-sentinel/master-6381/redis.conf 
/usr/local/redis-5.0.5/src/redis-server /usr/local/redis-sentinel/master-6382/redis.conf 
 /usr/local/redis-5.0.5/bin/redis-server /usr/local/redis-sentinel/master-6383/redis.conf 
/usr/local/redis-5.0.5/src/redis-server /usr/local/redis-sentinel/master-6384/redis.conf 

查看进程是否启动成功

 ps -aux | grep redis

在这里插入图片描述
启动完成后添加哨兵监控主节点

3、添加哨兵监控主节点

修改/usr/local/redis-sentinel/sentinel-26381目录下的sentinel.conf
修改/usr/local/redis-sentinel/sentinel-26382目录下的sentinel.conf

配置项sentinel-26381sentinel-26381备注
port26381 (指定sentinel端口号)26382
daemonizeyes (后台启动)yes
• logfile/usr/local/redis-sentinel/sentinel-26381/sentinel-26381.log(日志文件存储位置)/usr/local/redis-sentinel/sentinel-26381/sentinel-26382.log
protected-modeno (保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式))no
dir/usr/local/redis-sentinel/sentinel-26381/data (数据保存目录)/usr/local/redis-sentinel/sentinel-26382/data
sentinel monitor mymaster127.0.0.1 6381 2127.0.0.1 6381 2[主服务器节点IP] [主服务器节点port] [几个哨兵检测到主节点失联数量] (至少有几个哨兵检测到主服务器故障了,才进行故障迁移)

记得在上面表格中的写的位置创建data文件夹

启动哨兵,并查看哨兵日志

 /usr/local/redis-5.0.5/src/redis-sentinel /usr/local/redis-sentinel/sentinel-26381/sentinel.conf 
  /usr/local/redis-5.0.5/src/redis-sentinel /usr/local/redis-sentinel/sentinel-26382/sentinel.conf 

查看是否启动成功

ps -ef | grep sen

在这里插入图片描述

最后我们测试下主从服务器能否同步数据

登录从服务器

/usr/local/redis-5.0.5/src/redis-cli -h 127.0.0.1 -p 6382

查看数据大小

dbsize

获取name的value

get name

在这里插入图片描述
最后退出

quit

然后我们登录主服务器

/usr/local/redis-5.0.5/src/redis-cli -h 127.0.0.1 -p 6381

查看主服务器信息

info replication

在这里插入图片描述
获取name的value

get name

在这里插入图片描述
给name赋值

set name jijiji

在这里插入图片描述
退出,登录从服务器,获取name的value

 /usr/local/redis-5.0.5/src/redis-cli -h 127.0.0.1 -p 6382
 get name

在这里插入图片描述
至此主从服务器可以同步数据。

测试哨兵

先查看哨兵日志
在这里插入图片描述
这时显示主服务器为6381
直接把master节点进程kill掉,再次观看哨兵日志
在这里插入图片描述
此时主服务器转换为6383,成功!

博客参考大佬教程 https://www.cnblogs.com/zuidongfeng/p/8032505.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值