在Redis官网下载redis的安装包
在安装redis之前需要确认gcc是否已经安装
yum install gcc
解压缩执行如下指令:
tar -zxvf redis-xx.tar.gz -C ./
mv redis-xx redis
进入到redis目录,如下图所示:
执行make指令,make 是用来编译的,它从Makefile中读取指令,然后编译。
执行make install指令,make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
此时,进入到redis下的src目录,发现存在redis-server、redis-cli。
在VMware中创建3个虚拟Linux系统,如下:
Master主:192.168.0.200
Slave从:192.168.0.201 、192.168.0.202
使用下列指令修改hostname
vi /etc/sysconfig/network 修改其中HOSTNAME的值为redis_cluster_1_200
hostname redis_cluster_1_200
分别修改3个虚拟系统的hostname如下:
redis_cluster_1_200
redis_cluster_2_201、redis_cluster_3_202
下面,修改两个从服务器的redis.conf,指定master
#指定master
slaveof 192.168.0.200 6379
在/usr/local/bin也存在redis-cli、redis-server
cd /usr/local/bin
分别启动3台虚拟Linux系统上的redis服务
/usr/local/bin/redis-server /usr/local/localsoftware/redis/redis.conf
并使用redis-cli登录到对应的服务器上,执行info指令
Master:
Slave:
在Master上可以进行读写操作,在Slave上只能进行读操作
Master:
Slave:
在本文中所说的一个Master二个Slave的情况,如果主节点挂掉,那么这个集群将不能对外提供写服务。为了对
主、从服务器进行监控,在2.8版本后提供了哨兵功能的稳定版本。哨兵可以监控Redis系统中主数据库和从数据库运行是
否正常。在主数据库出现故障的时候,可以自动推选某个从数据库升级为主数据库,进行自动切换,实现高可用,不
存在单点的问题。
哨兵功能可以是Master、Slave以外的单独一个节点服务器,也可以将哨兵放到Master或者Slave上。需要使用并修改
Redis安装包解压后的sentinel.conf。本文中在redis_cluster_3_202上部署哨兵程序,提供哨兵服务。
1.哨兵使用的端口是26379。
2.把和Redis相关的日志、数据文件等内容放置到dir 指定的目
3.修改sentinel monitor
4.修改sentinel down-after-milliseconds
认为是Master宕机,默认30秒
5.修改sentinel parallel-syncs
同步的Slave数量,因本文中存在2个Slave,所有设置为2
哨兵也可以部署多台机器,形成哨兵集群,避免单点的问题,保证系统的高可用。
在3台服务器上分别启动Redis服务,并使用ps -aux|grep 6379 查看服务是否启动
在redis_cluster_3_202上启动哨兵服务,并添加&设置为后台进程
./redis-server ../etc/sentinel.conf --sentinel &
在Master、Slave服务器上都可以查看哨兵相关信息
./redis-cli -h 192.168.0.202 -p 26379 info Sentinel
关闭Master主节点上的Redis,查看各Redis节点相关信息。
redis_cluster_3_202上终端显示信息如下:在192.168.0.200上的Master主节点已挂掉,经过推举最后192.168.0.202
成为新的Master,192.168.0.200由Master转换为Slave。
查看192.168.0.202中redis-cli客户端执行info信息
然后,将192.168.0.200上的Redis启动,并使用redis-cli执行info指令,查看相关信息
同时,在192.168.0.202上显示slave 200已经加入到集群中
查看192.168.0.202中redis的info指令执行的结果,202仍然为Master
查看哨兵监控信息