首先准备两台虚拟机172.25.79.1和172.25.79.2
安装的软件包:
yum install gcc gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip git -y
下载redis源码包并安装: http://download.redis.io/releases
tar -zxvf redis-3.2.3.tar.gz
cd redis-3.2.3
make && make install
将redis目录转移至/usr/loacl/redis下:
创建redis目录:
cd /usr/local
mkdir -p redis/bin
mkdir -p redis/etc
将源码包下面的reids.conf 复制到新建的etc下,将源码包下面的src目录中的redis-server redis-cli redis-check-aof redis-benchmark mkreleasehdr.sh 文件复制到新建的bin目录下:
cd /usr/local/redis
cp /root/redis-3.2.3/redis.conf etc/
cd /root/redis-3.2.3/src/
cp redis-server redis-cli redis-check-aof redis-benchmark mkreleasehdr.sh /usr/local/redis/bin/
配置redis主从复制:
在主机172.25.79.1(主)的配置:
在备机172.25.79.2(从)上的配置:
分别进入/usr/local/redis启动
bin/redis-server etc/redis.conf
此时的redis启动直接占据控制台,我们可以将其修改为后台启动,ctrl+c关闭redis,编辑etc目录下的redis.cnf文件将daemonize no改为daemonize yes,重新启动即可
使用命令查看主从复制状态:
显示
bin/redis-cli -h 172.25.79.1 -p 6379 -a pwd@123 info replication
bin/redis-cli -h 172.25.79.2 -p 6379 -a pwd@123 info replication
指定在执行故障转移时,最多可以有多少个Slave同时对新的Master进行同步。这个数字设置为1,虽然完成故障转移所需的时间会变长,但是可以保证每次只有1个Slave处于不能处理命令请求的状态。
状态为:172.25.79.1为master,172.25.79.2为slave