最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Doris報(bào)錯(cuò):failed?to?send?brpc?when?exchange的解決過程

 更新時(shí)間:2025年11月06日 09:24:30   作者:fzip  
Doris中出現(xiàn)"failedtosendbrpcwhenexchange"錯(cuò)誤通常是由于BRPC通信異常導(dǎo)致的,可能的原因包括網(wǎng)絡(luò)問題、BRPC配置不合理、節(jié)點(diǎn)負(fù)載過高、數(shù)據(jù)傾斜、節(jié)點(diǎn)狀態(tài)異常和版本兼容性問題,通過排查網(wǎng)絡(luò)、調(diào)整BRPC參數(shù)、優(yōu)化SQL和表結(jié)構(gòu)等方法可以解決該問題

Doris 中出現(xiàn) “failed to send brpc when exchange” 錯(cuò)誤,通常與 Doris 的分布式執(zhí)行框架中 BRPC 通信異常相關(guān),主要發(fā)生在查詢執(zhí)行過程中不同節(jié)點(diǎn)(FE/BE 或 BE 之間)通過 Exchange 算子傳遞數(shù)據(jù)時(shí)。

可能的原因及解決方案

1. 網(wǎng)絡(luò)問題

節(jié)點(diǎn)間網(wǎng)絡(luò)不通或延遲過高

  • 檢查 BE 節(jié)點(diǎn)之間的網(wǎng)絡(luò)連通性(使用 pingtelnet 等工具)。
  • 查看網(wǎng)絡(luò)是否存在丟包(mtrtraceroute 命令),高延遲或丟包會(huì)導(dǎo)致 BRPC 通信超時(shí)。
  • 確保節(jié)點(diǎn)間防火墻規(guī)則允許 Doris 通信端口(默認(rèn)的 BRPC 端口等)。

結(jié)果

  • ping是通的,telnet也是通的,防火墻沒有開

2. BRPC 配置不合理

  • 超時(shí)時(shí)間過短

be.conf 中適當(dāng)調(diào)大 BRPC 相關(guān)超時(shí)參數(shù):

brpc_arrow_flight_work_pool_max_queue_size=-1
brpc_arrow_flight_work_pool_threads=-1
brpc_connection_check_timeout_ms=10000
brpc_heavy_work_pool_max_queue_size=-1
brpc_heavy_work_pool_threads=-1
brpc_idle_timeout_sec=-1
brpc_light_work_pool_max_queue_size=-1
brpc_light_work_pool_threads=-1
brpc_max_body_size=3147483648
brpc_num_threads=256
brpc_port=8060
brpc_socket_max_unwritten_bytes=-1
brpc_streaming_client_batch_bytes=262144
  • 連接數(shù)限制

檢查是否因連接數(shù)過多導(dǎo)致失敗,可調(diào)整 grpc_threadmgr_threads_nums 4096 等參數(shù)。

結(jié)果

3. 節(jié)點(diǎn)負(fù)載過高

BE 節(jié)點(diǎn)內(nèi)存/CPU 耗盡

  • 查看 BE 節(jié)點(diǎn)的資源使用情況(top、free 命令),若內(nèi)存不足可能導(dǎo)致 BRPC 線程無法正常工作。
  • 臨時(shí)減輕負(fù)載: kill 大查詢?nèi)蝿?wù),避免資源競爭。
  • 長期優(yōu)化:增加 BE 節(jié)點(diǎn)數(shù)量,或調(diào)整查詢并發(fā)度(max_concurrent_queries)。

結(jié)果

  • 內(nèi)存正常、cpu正常、磁盤IO異常(使用iotop可以看到有很多BaseCompaction)

4. 數(shù)據(jù)傾斜或查詢計(jì)劃不合理

Exchange 算子處理數(shù)據(jù)量過大

  • 某些查詢可能因數(shù)據(jù)傾斜導(dǎo)致單個(gè) Exchange 節(jié)點(diǎn)需要處理遠(yuǎn)超預(yù)期的數(shù)據(jù)量,引發(fā)通信失敗。
  • 優(yōu)化 SQL:檢查是否有大表 Join 未指定合理的分桶鍵,或聚合操作未做預(yù)聚合。
  • 查看查詢計(jì)劃:通過 EXPLAIN 分析 Exchange 算子的分布情況,調(diào)整分桶策略或 SQL 寫法。

結(jié)果

  • 大表分桶數(shù)量設(shè)置不合理

5. 節(jié)點(diǎn)狀態(tài)異常

BE 節(jié)點(diǎn)心跳異?;蛞严戮€

  • 檢查 FE 控制臺(tái)(http://fe_host:8030)的 “Backends” 頁面,確認(rèn)所有 BE 節(jié)點(diǎn)狀態(tài)正常(Alive)。
  • 若節(jié)點(diǎn)異常,嘗試重啟 BE 服務(wù):sh bin/stop_be.sh && sh bin/start_be.sh。
  • 檢查 BE 日志(log/be.INFO),搜索 “brpc” 相關(guān)錯(cuò)誤信息,定位具體故障節(jié)點(diǎn)。

結(jié)果

  • 節(jié)點(diǎn)都正常

6. 版本兼容性問題

若近期升級(jí)過 Doris 版本,可能存在 BRPC 協(xié)議不兼容的情況,建議:

  • 確認(rèn)所有節(jié)點(diǎn)(FE/BE)版本一致。
  • 參考官方升級(jí)文檔,檢查是否遺漏了某些配置項(xiàng)的更新。

結(jié)果

  • 不存在版本兼容問題

排查步驟建議

  1. 查看 FE 日志(log/fe.INFO)和對(duì)應(yīng) BE 節(jié)點(diǎn)的日志(log/be.INFO),定位具體是哪個(gè)節(jié)點(diǎn)間的通信失敗。
  2. 檢查涉事節(jié)點(diǎn)的網(wǎng)絡(luò)和資源狀態(tài)。
  3. 針對(duì)頻繁出現(xiàn)該錯(cuò)誤的查詢,優(yōu)化其 SQL 或表結(jié)構(gòu)。
  4. 逐步調(diào)整 BRPC 相關(guān)參數(shù),觀察是否改善。
  5. 通過be.INFO查看每個(gè)query的實(shí)例數(shù)量:

cat ./be.INFO |grep "total fragment num on current host"|awk '{print $1"-"$2,$6,$16,$23}'|awk -F '[ ,]' '$4>100 {print $0}'

上千的特別大概率都是不合理的。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

申扎县| 辉县市| 宝应县| 闽侯县| 双牌县| 十堰市| 牟定县| 监利县| 梅河口市| 长泰县| 华安县| 海林市| 安新县| 永登县| 兴文县| 东海县| 司法| 沐川县| 怀化市| 藁城市| 聂拉木县| 巴南区| 兴和县| 蒙自县| 南陵县| 碌曲县| 乐业县| 黔西县| 来安县| 株洲市| 苍南县| 京山县| 万全县| 通州市| 涪陵区| 横山县| 乌兰浩特市| 满洲里市| 宁武县| 广昌县| 尼勒克县|