CENTOS7下安装REDIS.docx
- 文档编号:25432769
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:15
- 大小:2MB
CENTOS7下安装REDIS.docx
《CENTOS7下安装REDIS.docx》由会员分享,可在线阅读,更多相关《CENTOS7下安装REDIS.docx(15页珍藏版)》请在冰豆网上搜索。
CENTOS7下安装REDIS
CENTOS7下安装REDIS主从服务
1、单机版安装redis
安装
若没有vim环境,可以通过yum安装:
yuminstallvim
第一步:
下载redis安装包
redis-3.2.11.tar.gz
第二步:
上传安装包,并解压压缩包
tar-zxvfredis-3.2.11.tar.gz
[root@localhostlocal]#tar-zxvfredis-3.2.11.tar.gz
第三步:
yum安装gcc依赖
yuminstallgcc
[root@localhostlocal]#yuminstallgcc
遇到选择,输入y即可
第四步:
跳转到redis解压目录下
cdredis-3.2.11
[root@localhostlocal]#cdredis-3.2.11
第五步:
编译安装
makeMALLOC=libc
[root@localhostredis-3.2.11]#makeMALLOC=libc
将/root/redis-3.2.11/src目录下的文件加到/usr/local/bin目录
cp-r/root/redis-3.2.11/src//usr/local/bin/
cdsrc&&makeinstall
[root@localhostredis-3.2.11]#cdsrc&&makeinstall
第六步:
测试是否安装成功
先切换到redissrc目录下
[root@localhostredis-3.2.11]#cdsrc
配置
1、直接启动redis
./redis-server
[root@localhostsrc]#./redis-server
如上图:
redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。
按ctrl+c可以关闭窗口。
2、以后台进程方式启动redis
第一步:
修改redis.conf文件
vim/etc/redis/6379.conf
将
daemonizeno
修改为
daemonizeyes
关闭保护模式,注释掉ip绑定
bind127.0.0.1
protected-modeyes
修改为
#bind127.0.0.1
protected-modeno
第二步:
指定redis.conf文件启动
./redis-server/usr/local/redis-3.2.11/redis.conf
[root@localhostsrc]#./redis-server/usr/local/redis-3.2.11/redis.conf
18713:
C13Dec13:
07:
41.109#oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO0Oo
18713:
C13Dec13:
07:
41.109#Redisversion=4.0.6,bits=64,commit=00000000,modified=0,pid=18713,juststarted
18713:
C13Dec13:
07:
41.109#Configurationloaded
第三步:
关闭redis进程
首先使用ps-aux|grepredis查看redis进程
[root@localhostsrc]#ps-aux|grepredis
root 18714 0.0 0.1141752 2008?
Ssl 13:
07 0:
00./redis-server127.0.0.1:
6379
root 18719 0.0 0.0112644 968pts/0 R+ 13:
09 0:
00grep--color=autoredis
使用kill命令杀死进程
[root@localhostsrc]#kill-918714
3、设置redis开机自启动
1、在/etc目录下新建redis目录
mkdir/etc/redis
[root@localhostetc]#mkdir/etc/redis
2、将/root/redis-3.2.11/redis.conf文件复制一份到/etc/redis目录下,并命名为6379.conf
[root@localhostredis]#cp/root/redis-3.2.11/redis.conf/etc/redis/6379.conf
3、将redis的启动脚本复制一份放到/etc/init.d目录下
cp/root/redis-3.2.11/utils/redis_init_script/etc/init.d/redisd
4、设置redis开机自启动
先切换到/etc/init.d目录下
然后执行自启命令
[root@localhostinit.d]#chkconfigredisdon
serviceredisddoesnotsupportchkconfig
看结果是redisd不支持chkconfig
解决方法:
使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出
vim/etc/init.d/redisd
#chkconfig:
23459010
#description:
Redisisapersistentkey-valuedatabase
注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是1
再次执行开机自启命令,成功
[root@localhostinit.d]#chkconfigredisdon
4、redis启动和关闭
启动:
serviceredisdstart
[root@localhost~]#serviceredisdstart
StartingRedisserver...
2288:
C13Dec13:
51:
38.087#oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO0Oo
2288:
C13Dec13:
51:
38.087#Redisversion=4.0.6,bits=64,commit=00000000,modified=0,pid=2288,juststarted
2288:
C13Dec13:
51:
38.087#Configurationloaded
关闭:
serviceredisdstop
[root@localhost~]#serviceredisdstop
Stopping...
Redisstopped
2、安装redis主从
1.主从架构
1.1Redis主从架构拓扑图结构
2主从结构搭建
需先安装单机版Redis,参考1单机安装redis。
1.2.1在安装好单机版的前提下,分别修改每台设备配置文件设置主从
在Redis中设置主从有2种方式:
1.在redis.conf中设置slaveof
a)slaveof
2、使用redis-cli客户端连接到redis服务,执行slaveof命令
a)slaveof
第二种方式在重启后将失去主从复制关系。
我们这里使用第一种方式设置主从,比如以192.168.2.203做主服务器,则在其他设备上配置所属主服务器地址:
:
vim/etc/redis/6379.conf
增加slaveof192.168.2.2036379
1.2.5查看Redis主从关系
使用Redis客户端连接上主库6379端口
#redis-cli-h192.168.2.30-p6379
查看Redis主从关系如下图所示
192.168.29.128:
6379>inforeplication
role:
角色信息
slaveX:
从库信息
connected_slaves:
从库数量
1.2.6测试
在主库写入数据
在从库读取数据
3.从库只读
默认情况下redis数据库充当slave角色时是只读的不能进行写操作
可以在配置文件中开启非只读:
slave-read-onlyno
4.主从复制的过程原理
1.当从库和主库建立MS关系后,会向主数据库发送SYNC命令
2.主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来
3.当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis
4.从Redis接收到后,会载入快照文件并且执行收到的缓存的命令
5.之后,主Redis每当接收到写命令时就会将命令发送从Redis,从而保证数据的一致
3、安装redis哨兵
1、Sentinel的作用:
A、Master状态监测
B、如果Master异常,则会进行Master-slave转换,将其中一个Slave作为Master,将之前的Master作为Slave
C、Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换
2、Sentinel的工作方式:
1):
每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他Sentinel实例发送一个PING命令
2):
如果一个实例(instance)距离最后一次有效回复PING命令的时间超过down-after-milliseconds选项所指定的值,则这个实例会被Sentinel标记为主观下线。
3):
如果一个Master被标记为主观下线,则正在监视这个Master的所有Sentinel要以每秒一次的频率确认Master的确进入了主观下线状态。
4):
当有足够数量的Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态,则Master会被标记为客观下线
5):
在一般情况下,每个Sentinel会以每10秒一次的频率向它已知的所有Master,Slave发送INFO命令
6):
当Master被Sentinel标记为客观下线时,Sentinel向下线的Master的所有Slave发送INFO命令的频率会从10秒一次改为每秒一次
7):
若没有足够数量的Sentinel同意Master已经下线,Master的客观下线状态就会被移除。
若Master重新向Sentinel的PING命令返回有效回复,Master的主观下线状态就会被移除。
3、Sentinel配置
修改配置文件,配置主redis地址、端口、投票数目,增加后台启动daemonizeyes
注意:
三个redis服务器同时修改配置文件sentinel.conf
vim/root/redis-3.2.11/sentinel.conf
#初次配置时的状态,这个sentinel会自动更新
sentinelmonitormymaster192.168.2.3063791
daemonizeyes
logfile"./sentinel_log.log"
1)如果redis实例没有配置
protected-modeyes
bind192.168.98.136
则在sentinel配置文件加上
protected-modeno
即可
2)如果redis实例有配置
protected-modeyes
bind192.168.98.136
则在sentinel配置文件加上
protected-modeyes
bind192.168.98.136
所有服务器修改完后,再次重启redis所有的服务端
4、sentinel启动
serviceredisdstop
serviceredisdstart
进入redis安装目录
cd/root/redis-3.2.11/
执行启动命令
redis-serversentinel.conf--sentinel&
查看已启动redis进程会有2个:
关闭服务:
pkillredis-server//这个会关掉Redis服务器和Sentinel(哨兵)进程
kill进程号//可以关掉指定进程号的进程
5、测试
我们手动关闭Master之后,sentinel在监听master确实是断线了之后,将会开始计算权值,然后重新分配主服务器;
登录slaver服务器查看状态
我们可以看到当前slave已经升级为master
我们次启动原来master服务,我们可以看到原master成为了slave
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CENTOS7 安装 REDIS