1:环境准备
1:开源github下载
predixy官方地址-github 注:源码的编译需C++编译器11及其以上版本,linux内核版本较低的话,这个编译器安装不上。所以在案例中,我们下载并使用官方提供的编译好的源码包。
2:解压安装
#tar -zxf predixy-1.0.5-bin-amd64-linux.tar.gz -C /usr/src 解压到指定目录
3:查看github上的官方文档
2:配置文件修改
1:修改predixy.conf文件
修改predixy的服务名称和绑定端口 选择servers服务方式,cluster集群 or sentinel哨兵
2:修改sentinel哨兵配置文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/3466f8455d444d388d4897b8b2328d46.png
上文配置了3个哨兵,它可以监控一套或多套主从复制,这里让它监控两套主从复制
3:创建哨兵配置文件
cd /opt/redis5/sentinel
vi 26379.conf
配置文件内容:
port 26379
sentinel monitor myshard001 127.0.0.1 36379 2
sentinel monitor myshard002 127.0.0.1 46379 2
说明: 1.port 26379是哨兵的监听端口,要监控不同group分组的redis. 2.36379和46379redis在不同分组中的master; 其中,在第一个分组myshard001,36379是master,36380是slave 其中,在第二个分组myshard002,46379是master,46380是slave 3.最后面的2,意思是投票有2票认为master宕机,哨兵内部自动自主决策选举新的master。 4.IP和端口之间,没有冒号,需留意
3:启动哨兵
1:哨兵启动方式
redis-server /path/to/sentinel.conf --sentinel
redis-sentinel /path/to/sentinel.conf 一样可以启动哨兵服务
2:分别启动是哪个哨兵
启动哨兵26379
启动哨兵26380 启动哨兵26381
4:启动不同分组的redis-server
注:redis-server 启动时,如果不指定配置文件,则在哪个目录下启动,持久化文件(dump.rdb)默认就是所在的启动目录。
1:启动第一组主从server
redis-server --port 36379 根据端口号启动master
此时切换到窗口26379的哨兵窗口,看哨兵的控制台。 监控到36379的redis-server服务被接入。
2:启动第一组的从节点redis-server 36380(slave),并replicaof追随36379
redis-server --port 36380 --replicaof 127.0.0.1 36379 启动根据端口号为36380的redis服务,并追随36379
查看redis-server36379服务窗口,显示36280已经跟随了
2188:M 13 Nov 2021 22:50:59.239 * Background saving terminated with success 2188:M 13 Nov 2021 22:50:59.239 * Synchronization with replica 127.0.0.1:36380 succeeded
3:启动第二组redis-server主节点46379和slave46380,并让slavereplicaof46379
5:启动代理服务
1:启动predixy服务
#cd /usr/src/predixy-1.0.5/ && ls 切换到解压目录
#./bin/predixy ./conf/predixy.conf 启动代理(指定代理的配置文件)
2:新窗口启动predixy代理7617端口的redis客户端
#cd #redis-cli -p 7617 127.0.0.1:7617> set k1 aaa OK 127.0.0.1:7617> set k2 bbb OK 127.0.0.1:7617>
注:无论redis内部多复杂,对外服务只有一个客户端端口7617,实现redis对客户端不可见
|