BE ブラックリストの管理
このトピックでは、BE ブラックリストの管理方法について説明します。
バージョン v3.3.0 以降、StarRocks は BE ブラックリスト機能をサポートしています。この機能により、特定の BE ノードの クエリ実行での使用を禁止することができ、BE ノードへの接続が失敗することによる頻繁なクエリの失敗やその他の予期しない動作を回避できます。
デフォルトでは、StarRocks は BE ブラックリストを自動的に管理し、接続が失われた BE ノードをブラックリストに追加し、接続が再確立されたときにブラックリストから削除します。ただし、手動でブラックリストに追加された BE ノードは、StarRocks によってブラックリストから削除されません。
注記
- SYSTEM レベルの BLACKLIST 権限を持つユーザーのみがこの機能を使用できます。
- 各 FE ノードは独自の BE ブラックリストを保持し、他の FE ノードと共有しません。
BE をブラックリストに追加する
ADD BACKEND BLACKLIST を使用して、BE ノードを手動で BE ブラックリストに追加できます。このステートメントでは、ブラックリストに追加する BE ノードの ID を指定する必要があります。SHOW BACKENDS を実行して BE ID を取得できます。
例:
-- BE ID を取得します。
SHOW BACKENDS\G
*************************** 1. row ***************************
BackendId: 10001
IP: xxx.xx.xx.xxx
...
-- BE をブラックリストに追加します。
ADD BACKEND BLACKLIST 10001;
ブラックリストから BE を削除する
DELETE BACKEND BLACKLIST を使用して、BE ノードを手動で BE ブラックリストから削除できます。このステートメントでも、BE ノードの ID を指定する必要があります。
例:
DELETE BACKEND BLACKLIST 10001;
BE ブラックリストを表示する
SHOW BACKEND BLACKLIST を使用して、BE ブラックリストにある BE ノードを表示できます。
例:
SHOW BACKEND BLACKLIST;
+-----------+------------------+---------------------+------------------------------+--------------------+
| BackendId | AddBlackListType | LostConnectionTime | LostConnectionNumberInPeriod | CheckTimePeriod(s) |
+-----------+------------------+---------------------+------------------------------+--------------------+
| 10001 | MANUAL | 2024-04-28 11:52:09 | 0 | 5 |
+-----------+------------------+---------------------+------------------------------+--------------------+
次のフィールドが返されます:
AddBlackListType: BE ノードがブラックリストに追加された方法を示します。MANUALはユーザーによって手動でブラックリストに追加されたことを示し、AUTOは StarRocks によって自動的にブラックリストに追加されたことを示します。LostConnectionTime:MANUALタイプの場合、BE ノードが手動でブラックリストに追加された時間を示します。AUTOタイプの場合、最後に成功した接続が確立された時間を示します。
LostConnectionNumberInPeriod:CheckTimePeriod(s)内で検出された切断の数であり、StarRocks がブラックリストにある BE ノードの接続状態を確認する間隔です。CheckTimePeriod(s): ブラックリストにある BE ノードの接続状態を StarRocks が確認する間隔です。この値は FE 設定項目black_host_history_secに指定された値に評価されます。単位: 秒。