Redis3.2.0 两套主从三哨兵单机环境搭建
Redis3.2.0两主三从单机部署
-
安装
- server1:10.18.27.15 端口:6379
- server2:10.18.27.15 端口:6380
- server3:10.18.27.15 端口:6381
- server4:10.18.27.15 端口:6382
- sentinel1:10.18.27.15 端口:26381
- sentinel2:10.18.27.15 端口:26382
- sentinel3:10.18.27.15 端口:26383
第一步,在要安装redis的主机上(10.18.27.15)启用哨兵监控,上传源码包redis-3.2.0.tar.g、依赖zlib、ruby、redis3.3.0.gem工具到主机的redis目录。
第二步,解压源码包
tar xf redis-3.2.0.tar.gz && tar xf ruby-2.6.3.tar.gz && tar xf zlib-1.2.11.tar.gz
第三步,分别进入redis-3.2.0、ruby-2.6.3、zlib-1.2.11目录,源码编译。
cd redis-3.2.0 && ./configure make && make install
cd ruby-2.6.3 && ./configure make && make install
cd zlib-1.2.11 && ./cofigure make && make install
编译安装过程(略)
第四步,拷贝编译生成的可执行程序到安装目录
cd ./src/redis-3.2.0
ls redis-*
cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /root/redis-3.2.0/bin/
第五步,拷贝配置文件到目录
Cd /root/redis-3.2.0/
Mkdir conf1 && cp /usr/local/src/redis-3.2.0/redis.conf /root/redis-3.2.0/conf1
Mkdir conf2 && cp /usr/local/src/redis-3.2.0/redis.conf /root/redis-3.2.0/conf2
Mkdir conf3 && cp /usr/local/src/redis-3.2.0/redis.conf /root/redis-3.2.0/conf3
Mkdir conf4 && cp /usr/local/src/redis-3.2.0/redis.conf /root/redis-3.2.0/conf4
Mkdir logs data script tmp
到此Redis 源码安装已经完成,下面对配置文件进行配置。
-
配置
cd /root/redis-3.2.0 && ls
注:
Conf1 : 配置文件存放目录
logs : 运行日志存放目录
data : 持久化数据文件存放目录
bin : 可执行程序存放目录
tmp:哨兵日志存放目录
配置conf1 redis.conf
vim ./conf1/redis.conf bind 10.18.25.15 protected-mode yes port 6379 pidfile "/root/redis-3.2.0/data/redis-6379.pid" logfile "/root/redis-3.2.0/logs/redis-6379.log" dir "/root/redis-3.2.0/data" slave-priority 25 |
配置conf2 redis.conf
vim ./conf2/redis.conf bind 10.18.25.15 protected-mode yes port 6380 pidfile "/root/redis-3.2.0/data/redis-6380.pid" logfile "/root/redis-3.2.0/logs/redis-6380.log" dir "/root/redis-3.2.0/data" slave-priority 100 slaveof 10.18.25.15 6379 |
注意: slaveof 参数中地址配置master主机地址,即master跟slave不同的端口。
配置conf2 sentinel.conf
vim ./conf2/sentinel.conf bind 10.18.25.15 daemonize yes port 26381 dir "/root/redis-3.2.0/tmp" pidfile "/root/redis-3.2.0/data/sentinel-26381.pid" logfile "sentinel-26381.log" protected-mode no sentinel monitor redisCommon 10.18.25.15 6379 2 sentinel monitor redisBiz 10.18.25.15 6381 2 |
配置conf3 redis.conf
vim ./conf3/redis.conf bind 10.18.25.15 protected-mode yes port 6381 pidfile "/root/redis-3.2.0/data/redis-6381.pid" logfile "/root/redis-3.2.0/logs/redis-6381.log" dir "/root/redis-3.2.0/data" dir "/root/redis-3.2.0/data" slave-priority 25
|
注:slave-priority 优先级和conf1的master保持一致。
配置conf3 sentinel和conf4 sentinel
sentinel配置与conf2中sentinel.conf一样,只区分sentinel的端口号,在此不做重复。
配置conf4 redis.conf
vim ./conf4/redis.conf bind 10.18.25.15 protected-mode yes port 6382 pidfile "/root/redis-3.2.0/data/redis-6382.pid" logfile "/root/redis-3.2.0/logs/redis-6382.log" dir "/root/redis-3.2.0/data" slave-priority 100 slaveof 10.18.25.15 6381 |
配置环境变量
cd ~
vi .bash_profile
export PATH=$HOME/redis/bin:$PATH
执行: source .bash_profile 使配置生效。
到此一台主机上的redis两主从三哨兵模式已经搭建完成。
-
启停
cd /root/redis-3.2.0 && ls
启动redis
./bin/redis-server ./conf1/redis.conf ./bin/redis-server ./conf2/redis.conf ./bin/redis-server ./conf3/redis.conf ./bin/redis-server ./conf4/redis.conf |
启动哨兵监控
./bin/redis-sentinel ./conf2/sentinel ./bin/redis-sentinel ./conf3/sentinel ./bin/redis-sentinel ./conf4/sentinel |