redisalready

Redis集群和哨兵搭建说明_亲测成功

2022-06-15  本文已影响0人  beyond阿亮

Redis集群和哨兵搭建说明_亲测成功

1.运行环境说明

主流Linux系统

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.gz
tar -zxvf redis-5.0.3.tar.gz

2 新建一个应用目录如:/data/apps

mv redis-5.0.3 /data/apps
cd /data/apps/redis-5.0.3
make

3.集群搭建

准备三台机器,分别安装redis

192.168.1.51 主-从
192.168.1.52 主-从
192.168.1.53 主-从

cd /data/apps/redis-5.0.3
mkdir 7000
mkdir 7001
cp redis.conf 7000/redis.conf
修改配置
vim 7000/redis.conf
#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 7000
pidfile /var/run/redis_7000.pid
logfile "/data/apps/redis-5.0.3/7000/7000.log"
dbfilename dump.rdb
dir /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_123
requirepass abcd_123
cp 7000/redis.conf 7001/
#修改7001目录下redis.conf的对应配置,7000改为7001

与上面51机器配置类似, 把对应配置改成7002和7003。

mkdir 7002
mkdir 7003
7002/redis.conf
7003/redis.conf

与上面51机器配置类似, 把对应配置改成7004和7005。

mkdir 7004
mkdir 7005
7004/redis.conf
7005/redis.conf
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.conf
src/redis-server 7005/redis.conf  

ps -ef | grep redis 查看启动情况
三主三从
./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 ...等所对应端口

客户端连接测试:

./redis-cli -h 192.168.1.51 -c -p 7000 -a abcd_123

4. 哨兵搭建

准备三台机器,分别安装redis

192.168.1.51 主
192.168.1.52 从
192.168.1.53 从

cd /data/apps/redis-5.0.3
mkdir 8000
cp redis.conf 8000/redis.conf

修改配置

vim 8000/redis.conf
#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8000
pidfile /var/run/redis_8000.pid
logfile "/data/apps/redis-5.0.3/8000/8000.log"
dbfilename dump.rdb
dir /data/apps/redis-5.0.3/8000/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8000.aof"
masterauth abcd_123
requirepass abcd_123
打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""
cd /data/apps/redis-5.0.3
mkdir 8001
cp redis.conf 8001/redis.conf

修改配置

vim 8001/redis.conf
#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8001
pidfile /var/run/redis_8001.pid
logfile "/data/apps/redis-5.0.3/8001/8001.log"
dbfilename dump.rdb
dir /data/apps/redis-5.0.3/8001/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8001.aof"
replicaof 192.168.1.51 8000 # 主服务这句话注释,从服务配置的两台需要开启。配置主服务的ip和port 
masterauth abcd_123
requirepass abcd_123
打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""

与上面52从机器配置类似, 把对应配置改成8002。

cd /data/apps/redis-5.0.3/
src/redis-server 8000/redis.conf
src/redis-server 8001/redis.conf
src/redis-server 8002/redis.conf

ps -ef | grep redis 查看启动情况
cp redis-5.0.3/sentinel.conf 8000/

修改配置

vim 8000/sentinel.conf 
protected-mode no
port 28000
daemonize yes
pidfile /var/run/redis-sentinel28000.pid
logfile "/data/apps/redis-5.0.3/8000/28000.log"
dir /data/apps/redis-5.0.3/8000
sentinel monitor mymaster 192.168.1.51 8000 2
sentinel auth-pass mymaster abcd_123
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

与上面51哨兵配置类似, 把对应配置改成28001。

与上面51哨兵配置类似, 把对应配置改成28002。

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 查看启动情况
./redis-cli -h 192.168.1.51 -p 8000 -a abcd_123 
info replication
上一篇下一篇

猜你喜欢

热点阅读