【Redis】Redis7新特性测试:通过主机名暴露集群节点信息


自公司中间件逐渐容器化之后,太过依赖K8S,以至于快忘了怎么手动搭建一个集群,本文主要记录一下手动搭建一个3主3从集群的过程(3个master,每个master一个副本),redis版本为目前最新的redis7.0.0,顺便测试下redis7的新特性: Cluster: Support for hostnames, instead of IP addresses only

准备工作

准备三台虚拟机,每台机器上启动两个实例,总共6个实例:

iphostname集群端口分配
172.24.30.192XXGL-T-TJSYZ-REDIS-015100、5101
172.24.30.193XXGL-T-TJSYZ-REDIS-025102、5103
172.24.30.194XXGL-T-TJSYZ-REDIS-035104、5105

下载源码包:https://redis.io/download/

分别上传源码包至三台机器,创建redis-data目录,用于存放数据,test-cluster目录,用于存放集群配置文件

三台机器同时执行解压操作:

tar -zxvf redis-7.0.0.tar.gz

集群部署

编译

make && make install

进入到src目录,可以看到相关的工具,包括启动脚本都生成了(我记得之前的版本是默认编译到/usr/local/redis目录下了,新版本不一样了?)

修改配置文件

这里只列出其中一个节点的配置,其他的只需要复制,然后稍作修改即可。

示例:5100.conf

# 节点端口号
port 5100
# 设置为守护进程,配置 redis 后台运行
daemonize yes
# pid 文件,会自动创建的,直接指定目录
pidfile /var/run/redis_5100.pid
# 相关数据保存位置
dir /neworiental/redis7/redis-data/5100
# 关闭保护模式
protected-mode no
# 开启集群
cluster-enabled yes
# 集群配置文件,不需要我们维护,首次启动的时候会自动生成
cluster-config-file nodes_5100.conf
# 开启 AOF 日志
appendonly yes

#以下为redis7新的配置项,也是本次测试的核心,如果是低版本的,删除这两行即可
cluster-preferred-endpoint-type hostname
cluster-announce-hostname XXGL-T-TJSYZ-REDIS-01

启动

以上每台机器上的源码都编译完、6个配置文件都修改完之后,就可以依次启动redis了,每台机器上,可以使用相同的启动程序,不同的配置文件。

注意:所以文件夹需要提前创建好,不然启动会报错:

创建完成之后,启动成功!

/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5100.conf 
/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5101.conf

其他两台机器也按上面的操作执行一遍:

/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5102.conf 
/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5103.conf

/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5104.conf 
/neworiental/redis7/redis-7.0.0/src/redis-server /neworiental/redis7/test-cluster/5105.conf

创建集群

在三台机器上其中一台上执行:

/neworiental/redis7/redis-7.0.0/src/redis-cli --cluster create 172.24.30.192:5100 172.24.30.192:5101 172.24.30.193:5102 172.24.30.193:5103 172.24.30.194:5104 172.24.30.194:5105 --cluster-replicas 1 

以上集群就算创建完毕了,可以通过redis-cli工具查看集群信息:

可以看到cluster nodes命令返回了配置的hostname

集群信息也正常,可正常使用

对于支持hostname暴露集群节点信息这个新特性,客户端需要提前配置host,集群内部的redirect等操作也是基于hostname,是否有更多的实用意义,还需要探究,后续会做补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值