引言:在我的上一边关于分布式缓存的文章分布式缓存利器之Redis中简单介绍了一下Redis这种分布式的缓存服务器。今天我将带大家一起安装和配置一下Redis(主从复制和哨兵模式,集群模式由于比较复杂,将在下一篇文章展开)
1.下载
2.安装
1.把下载好的redis-3.2.8.tar.gz放到/usr/local/文件夹下
2.解压
tar -zxvf redis-3.2.8.tar.gz
3.进入到redis-3.2.8目录下,进行编译,make
4.进入到src目录下,进行安装 make install (验证:ll查看src目录下,有redis-server,redis-cli即可)
5.建立两个文件夹存放redis的命令和配置文件
mkdir -p /usr/local/redis/etc (-p 表示递归创建目录)
mkdir -p /usr/local/redis/bin
6.把redis-3.2.8下的redis.conf移动到/usr/local/redis/etc/下
7.把redis-3.2.8/src里的mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server 文件移动到bin下,命令:
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
8.启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以要修改redis.conf里的9 daemonize 改为yes
9.验证启动是否成功
ps -ef|grep redis 查看是否有redis的服务 或者查看端口 netstat -tunpl|grep redis
进入redis客户端:./redis-cli 退出客户端 quit
退出redis服务:
方法1.pkill redis-server
方法2.kill 进程号
方法3./usr/local/redis/bin/redis-cli shutdown
3.配置
3.1 主从复制模式
3.1.1 特点
a.master可以拥有多个slave
b.多个slave可以连接同一个master外,还可以连接到其他的slave
c.主从复制不会阻塞master在同步数据时,master可以继续处理client请求
d.提供系统的伸缩性
e.主节点可读可写,从节点只读
3.1.2 主从复制过程
a.slave与master建立连接,发送sync同步命令
b.master会开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存
c.后台完成保存后,就将文件发送给slave
d.slave将此文件保存到硬盘上
3.1.3 主从复制配置
clone出一台服务器之后,修改slave的ip地址
修改配置文件:/usr/local/redis-3.2.8/redis.conf
a.redis基本配置
b.slaveof <masterip><masterport>
c.masterauth <master-password>
安装完成,使用Info查看role角色即可知道是主服务器还是从服务器
3.2 哨兵模式
3.2.1 概念
在主从复制的基础上,要对主从服务器进行监控,那么在redis2.6以后提供了一个“哨兵”的机制。(哨兵模式在2.8以后的版本才稳定起来)作用就是监控redis系统的运行状况
3.2.2 特点
1.监控主数据库和从数据库是否正常运行
2.主数据库出现故障时,可以自动将从数据库转换为主数据库,实现自动切换
3.2.3 实现步骤
在其中一台服务器配置sentinel.conf(如192.168.56.201) (可以在多个节点上同时部署哨兵)
a.修改配置文件:
sentinel monitor mymaster 192.168.56.200 6379 1 (#名称 #ip #端口 #投票选举次数)
sentinel down-after-milliseconds mymaster 5000 #默认1s检测一次,这里配置超时5000毫秒为宕机
sentinel failover-timeout mymaster 60000 #失败超时时间
sentinel parallel-syncs mymaster 1 #从节点同步个数
b.启动sentinel哨兵
/usr/local/bin/redis-server /usr/local/redis-3.2.8/sentinel.conf --sentinel
我是一名奋斗在二线城市,每天挤公交上班写代码的程序猿!励志在有限的时间能够贡献出自己最大的能量!请持续关注!我在简书等你!

网友评论