redis6.0.6哨兵模式搭建文档
- 1.准备工作
- 1.1 ip规划
- 安装依赖(三台机器都操作)
- 1.3 gcc升级(三台机器都操作)
- 2.安装redis(三台机器都操作)
- 2.1 获取安装包
- 2.2 解压
- 2.3 编译
- 2.4 验证上一步是否正确
- 2.5 安装
- 2.6 拷贝配置文件到安装目录
- 2.7 修改配置文件
- 2.8 修改slave1和slave2的配置文件(注:只在只读节点执行)
- 2.9 启动redis(三台全启动,先启动master)
- 2.10 验证主从模式
- 3.部署哨兵(三台操作)
- 3.1 创建哨兵工作目录
- 3.2 修改哨兵配置文件
- 3.3 启动哨兵(三台都执行)
- 4.设置开机自启动(三台都执行)
)
1.准备工作
本次搭建使用一主二从三哨兵,哨兵模式在主从复制的基础上,引入了主节点的自动故障转移
1.1 ip规划
主机 | ip |
---|---|
master | 192.168.19.111 |
slave1 | 192.168.19.200 |
slave2 | 192.168.19.201 |
安装依赖(三台机器都操作)
yum install -y gcc-c++ automake autoconf libtool make tcl
1.3 gcc升级(三台机器都操作)
因为redis6版本对gcc编译的版本要求较高,需要升级gcc版本
#安装gcc编译器
yum -y install gcc
#升级gcc版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
2.安装redis(三台机器都操作)
2.1 获取安装包
cd /root
wget https://download.redis.io/releases/redis-6.0.6.tar.gz
2.2 解压
tar fx redis-6.0.6.tar.gz
2.3 编译
cd redis-6.0.6
make
2.4 验证上一步是否正确
结果是0就是正确的,不是的话按照报错解决
echo $?
2.5 安装
make install PREFIX=/usr/local/redis
2.6 拷贝配置文件到安装目录
cp -r redis.conf /usr/local/redis/bin/
2.7 修改配置文件
cd /usr/local/redis/bin/
sed -i 's/^bind 127.0.0.1/# bind 127.0.0.1/g' redis.conf
sed -i 's/^daemonize no$/daemonize yes/g' redis.conf
sed -i 's/^protected-mode yes$/protected-mode no/' redis.conf
sed -i 's#^logfile ""$#logfile "/usr/local/redis/redis.log"#g' redis.conf
2.8 修改slave1和slave2的配置文件(注:只在只读节点执行)
# 修改如下 注意请根据master的ip和端口填写
sed -i 's%# replicaof <masterip> <masterport>%replicaof 192.168.19.111 6379%g' redis.conf
2.9 启动redis(三台全启动,先启动master)
./redis-server redis.conf
2.10 验证主从模式
./redis-cli
# 然后在redis命令行执行
info replication
结果如下就对了
3.部署哨兵(三台操作)
3.1 创建哨兵工作目录
mkdir /usr/local/sentinel
cp -r /usr/local/redis/bin/* /usr/local/sentinel
cp -r /root/redis-6.0.6/sentinel.conf /usr/local/sentinel/
cd /usr/local/sentinel
3.2 修改哨兵配置文件
sed -i 's/^daemonize no$/daemonize yes/g' sentinel.conf
sed -i 's#^logfile ""$#logfile "/usr/local/sentinel/26379.log"#g' sentinel.conf
sed -i 's/^sentinel monitor mymaster 127.0.0.1 6379 2$/sentinel monitor mymaster 192.168.19.111 6379 2/g' sentinel.conf
3.3 启动哨兵(三台都执行)
cd /usr/local/sentinel
./redis-sentinel sentinel.conf
4.设置开机自启动(三台都执行)
echo "/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf" >> /etc/rc.d/rc.local
echo "/usr/local/sentinel/redis-sentinel /usr/local/sentinel/sentinel.conf" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local