Apache Doris IP变更问题详解

简介: Apache Doris IP变更问题详解

一、背景

因为有多网卡的存在,或因为安装过 docker 等环境导致的虚拟网卡的存在,同一个主机可能存在多个不同的 ip。当前 Apache Doris 并不能自动识别可用 IP。所以当遇到部署主机上有多个 IP 时,必须通过 priority_networks 配置项来强制指定正确的 IP。

priority_networks 是 FE 和 BE 都有的一个配置,配置项需写在 fe.conf 和 be.conf 中。该配置项用于在 FE 或 BE 启动时,告诉进程应该绑定哪个IP。示例如下:

priority_networks=10.1.3.0/24

这是一种 CIDR 的表示方法。FE 或 BE 会根据这个配置项来寻找匹配的IP,作为自己的 localIP。

CIDR采用斜线记法,表示为:IP地址/网络ID的位数。

具体换算方法可以看下面两个例子。

  1. 192.168.0.0/16,换算为32位二进制地址:11000000.10101000.00000000.00000000。其中/16表示16位网络ID,即32位二进制地址中前16位是固定不变的,对应网段为:11000000.10101000.00000000.00000000~11000000.10101000.11111111.11111111。
  2. 192.168.1.2/24,换算为32位二进制地址:11000000.10101000.00000001.00000000。其中/24表示32位二进制地址中前24位是固定不变的,对应网段为:11000000.10101000.00000001.00000000~11000000.10101000.00000001.11111111

当出现如下场景时,ip会变更,从而导致fe/be异常无法正常启动运作

  1. 集群迁移导致ip网段变更
  2. 虚拟环境中动态地址导致ip变更
  3. 重启fe/be前未正常配置priority_networks导致重启后获取的ip与元数据中的不一致

二、环境

硬件信息

  1. CPU :1C
  2. CPU型号:ARM64
  3. 内存 :2GB
  4. 硬盘 :36GB SSD

软件信息

  1. VM镜像版本 :CentOS-7
  2. Apahce Doris版本 :1.2.4.1
  3. 集群规模:1FE * 3BE

三、FE恢复

3.1 异常日志

查看fe.out会报如下异常,此时fe进程是无法启动的;

操作前注意备份所有fe的元数据停止上游读写动作

3.2 获取当前ip

ip addr

3.3 重置ip信息

重置ip信息后还是会报如上异常

# 修改fe.conf的priority_networks
priority_networks = 192.168.0.0/16
# 或者
priority_networks = 192.168.31.78/16

3.4 重置元数据记录

重置元数据记录后fe进程虽然能够启动,但是不可用

# 注释掉fe元数据中之前记录的老ip
vim doris-meta/image/ROLE

3.5 元数据模式恢复

# 在fe.conf中新增metadata_failure_recovery=true启用恢复模式重启fe
vim fe.conf
metadata_failure_recovery=true
# 此时进入http://192.168.31.78:8030/login 可以打开fe web ui说明可以正常启动fe了

3.6 重置fe集群节点

虽然使用元数据恢复模式fe目前能够启动,但是还没完全恢复,因为当前fe元数据中记录的集群节点中并没有刚刚修改的ip节点

# 在mysql客户端或者web ui的Playground执行如下sql更新fe元数据中记录的fe节点
# 移除老ip节点
ALTER SYSTEM DROP FOLLOWER "192.168.31.81:9010";
# 新增新ip节点
ALTER SYSTEM ADD FOLLOWER "192.168.31.78:9010";

老ip节点如下

新ip节点如下

3.7 关闭元数据模式重启fe

# 在fe.conf中注释metadata_failure_recovery=true关闭恢复模式重启fe
vim fe.conf
#metadata_failure_recovery=true
# 此时进入http://192.168.31.78:8030/login 可以打开fe web ui说明fe完全恢复了

四、BE恢复

4.1 获取当前ip

ip addr

4.2 重置ip信息

# 修改be.conf的priority_networks
priority_networks = 192.168.0.0/16
# 或者
priority_networks = 192.168.31.136/16
# 设置完成后重启be即可恢复

4.3 重置be集群节点

虽然当前be已经能够启动,但是还没完全恢复,因为当前fe元数据中记录的be集群节点中并没有刚刚修改的be节点

# 在mysql客户端或者web ui的Playground执行如下sql更新fe元数据中记录的be节点
# 移除老ip节点
ALTER SYSTEM DROPP FOLLOWER "192.168.31.81:9010";
ALTER SYSTEM DROPP FOLLOWER "192.168.31.72:9010";
ALTER SYSTEM DROPP FOLLOWER "192.168.31.133:9010";
# 新增新ip节点
ALTER SYSTEM ADD FOLLOWER "192.168.31.78:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.31.71:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.31.136:9010";

3台be都重置后完全恢复如下

Apache Doris 因为IP变更导致的集群异常问题至此已处理恢复完成,查阅过程中若遇到问题欢迎留言交流

相关文章
|
2月前
|
存储 自然语言处理 BI
|
2月前
|
Apache Java 数据库连接
Apache Doris 2.0.15 版本发布
Apache Doris 2.0.15 版本已于 2024 年 9 月 30 日正式与大家见面,该版本提交了 157 个改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验。
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
3月前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
2天前
|
SQL 存储 数据处理
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
21 1
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
|
27天前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
17天前
|
SQL 存储 Apache
Apache Doris 3.0.3 版本正式发布
亲爱的社区小伙伴们,Apache Doris 3.0.3 版本已于 2024 年 12 月 02 日正式发布。该版本进一步提升了系统的性能及稳定性,欢迎大家下载体验。
|
1月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
1月前
|
SQL 存储 数据处理
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
Apache Doris 物化视图进行了支持。**早期版本中,Doris 支持同步物化视图;从 2.1 版本开始,正式引入异步物化视图,[并在 3.0 版本中完善了这一功能](https://www.selectdb.com/blog/1058)。**
|
1月前
|
SQL 存储 Java
Apache Doris 2.1.7 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。**2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。

推荐镜像

更多