Redis集群和哨兵搭建阐明_亲测胜利
1.运行环境阐明
- 1.1 服务器零碎
支流Linux零碎
- 1.2 Redis版本
Redis-5.0.3
redis从3.0开始反对集群
2. Redis装置
1 新建一个软件保留目录如:/data/software/
cd /data/software/wget http://download.redis.io/releases/redis-5.0.3.tar.gztar -zxvf redis-5.0.3.tar.gz
2 新建一个利用目录如:/data/apps
mv redis-5.0.3 /data/appscd /data/apps/redis-5.0.3make
3.集群搭建
- 3.1 机器筹备
筹备三台机器,别离装置redis
192.168.1.51 主-从
192.168.1.52 主-从
192.168.1.53 主-从
- 3.1.1 在51机器上执行
cd /data/apps/redis-5.0.3mkdir 7000mkdir 7001cp redis.conf 7000/redis.conf批改配置vim 7000/redis.conf#bind 127.0.0.1 #能够近程拜访protected-mode no #保护模式敞开daemonize yes #后盾启动port 7000pidfile /var/run/redis_7000.pidlogfile "/data/apps/redis-5.0.3/7000/7000.log"dbfilename dump.rdbdir /data/apps/redis-5.0.3/7000/cluster-enabled yes #开启集群cluster-config-file nodes_7000.conf #集群的配置文件cluster-node-timeout 5000 #申请超时 设置5秒够了appendonly yes #aof日志开启 有须要就开启,它会每次写操作都记录一条日志appendfilename "appendonly7000.aof"设置集群明码 在配置文件外面减少明码选项,肯定要加上masterauth,不然Redirected的时候会失败masterauth abcd_123requirepass abcd_123cp 7000/redis.conf 7001/#批改7001目录下redis.conf的对应配置,7000改为7001
3.1.2 在52机器上执行
与下面51机器配置相似, 把对应配置改成7002和7003。
mkdir 7002mkdir 70037002/redis.conf7003/redis.conf
3.1.3 在53机器上执行
与下面51机器配置相似, 把对应配置改成7004和7005。
mkdir 7004mkdir 70057004/redis.conf7005/redis.conf
- 3.1.4 别离启动6台Redis
cd /data/apps/redis-5.0.3/src/redis-server 7000/redis.conf src/redis-server 7001/redis.conf src/redis-server 7002/redis.conf src/redis-server 7003/redis.conf src/redis-server 7004/redis.confsrc/redis-server 7005/redis.conf ps -ef | grep redis 查看启动状况
- 3.1.5 在某一台上执行退出集群
三主三从./redis-cli --cluster create 192.168.1.51:7000 192.168.1.52:7002 192.168.1.53:7004 192.168.1.51:7001 192.168.1.52:7003 192.168.1.53:7005 --cluster-replicas 1 -a abcd_123
留神: 输出yes确认之前, 先看好哪几台是主,哪几台是从 (如果只有3台机器,确定是穿插主从后输出yes创立)
如果是外网拜访:须要凋谢端口7000 17000 ...等所对应端口
- 3.1.6测试集群
客户端连贯测试:
./redis-cli -h 192.168.1.51 -c -p 7000 -a abcd_123
4. 哨兵搭建
- 4.1机器筹备
筹备三台机器,别离装置redis
192.168.1.51 主
192.168.1.52 从
192.168.1.53 从
- 4.1.1 在51主机器上执行
cd /data/apps/redis-5.0.3mkdir 8000cp redis.conf 8000/redis.conf
批改配置
vim 8000/redis.conf#bind 127.0.0.1 #能够近程拜访protected-mode no #保护模式敞开daemonize yes #后盾启动port 8000pidfile /var/run/redis_8000.pidlogfile "/data/apps/redis-5.0.3/8000/8000.log"dbfilename dump.rdbdir /data/apps/redis-5.0.3/8000/appendonly yes #aof日志开启 有须要就开启,它会每次写操作都记录一条日志appendfilename "appendonly8000.aof"masterauth abcd_123requirepass abcd_123关上redis的key过期监听揭示notify-keyspace-events Ex正文#notify-keyspace-events ""
- 4.1.2 在52从机器上执行
cd /data/apps/redis-5.0.3mkdir 8001cp redis.conf 8001/redis.conf
批改配置
vim 8001/redis.conf#bind 127.0.0.1 #能够近程拜访protected-mode no #保护模式敞开daemonize yes #后盾启动port 8001pidfile /var/run/redis_8001.pidlogfile "/data/apps/redis-5.0.3/8001/8001.log"dbfilename dump.rdbdir /data/apps/redis-5.0.3/8001/appendonly yes #aof日志开启 有须要就开启,它会每次写操作都记录一条日志appendfilename "appendonly8001.aof"replicaof 192.168.1.51 8000 # 主服务这句话正文,从服务配置的两台须要开启。配置主服务的ip和port masterauth abcd_123requirepass abcd_123关上redis的key过期监听揭示notify-keyspace-events Ex正文#notify-keyspace-events ""
- 4.1.3 在53从机器上执行
与下面52从机器配置相似, 把对应配置改成8002。
- 4.1.4 别离启动3台Redis
cd /data/apps/redis-5.0.3/src/redis-server 8000/redis.confsrc/redis-server 8001/redis.confsrc/redis-server 8002/redis.confps -ef | grep redis 查看启动状况
- 4.1.5 哨兵配置51机器
cp redis-5.0.3/sentinel.conf 8000/
批改配置
vim 8000/sentinel.conf protected-mode noport 28000daemonize yespidfile /var/run/redis-sentinel28000.pidlogfile "/data/apps/redis-5.0.3/8000/28000.log"dir /data/apps/redis-5.0.3/8000sentinel monitor mymaster 192.168.1.51 8000 2sentinel auth-pass mymaster abcd_123sentinel down-after-milliseconds mymaster 30000sentinel parallel-syncs mymaster 1sentinel failover-timeout mymaster 180000sentinel deny-scripts-reconfig yes
- 4.1.6 哨兵配置52机器
与下面51哨兵配置相似, 把对应配置改成28001。
- 4.1.7 哨兵配置53机器
与下面51哨兵配置相似, 把对应配置改成28002。
- 4.1.8别离启动3台哨兵过程
cd /data/apps/redis-5.0.3/src/redis-sentinel 8000/sentinel.conf src/redis-sentinel 8001/sentinel.conf src/redis-sentinel 8002/sentinel.conf ps -ef | grep redis 查看启动状况
- 4.1.9测试哨兵
./redis-cli -h 192.168.1.51 -p 8000 -a abcd_123 info replication