よくある問題
-
より長いTable作成文では、不完全な構文エラープロンプトが発生する可能性があります。手動トラブルシューティングのための可能な構文エラーは以下の通りです:
- 構文構造エラー。HELP CREATE TABLEを注意深く読み、関連する構文構造を確認してください。
- 予約語。ユーザー定義名が予約語と重複する場合、バッククォート``で囲む必要があります。すべてのカスタム名にこの記号を使用することを推奨します。
- 中国語文字または全角文字。UTF8エンコードされていない中国語文字や隠れた全角文字(スペース、句読点など)は構文エラーを引き起こす可能性があります。不可視文字を表示するテキストエディタを使用して検査することを推奨します。
-
Failed to create partition [xxx]. Timeout
Dorisはパーティション粒度に基づいてTableを順次作成します。パーティションの作成が失敗すると、このエラーが発生する可能性があります。パーティションを使用しない場合でも、Table作成に問題がある場合、
Failed to create partitionが報告される可能性があります。これは前述の通り、Dorisが指定されたパーティションのないTableに対して変更不可能なデフォルトパーティションを作成するためです。このエラーに遭遇した場合、通常はBEがデータタブレットを作成する際に問題が発生したことが原因です。以下の手順でトラブルシューティングできます:
- fe.logで、対応するタイムスタンプの
Failed to create partitionログエントリを検索してください。このログエントリでは、{10001-10010}のような一連の数字ペアが見つかる可能性があります。ペアの最初の数字はBackend IDを表し、2番目の数字はTablet IDを表します。例えば、この数字ペアはBackend ID 10001でのTablet ID 10010の作成が失敗したことを示しています。 - 対応するBackendのbe.INFOログに移動し、対応する期間内でTablet ID関連のログを検索してエラーメッセージを見つけてください。
- タブレット作成失敗の一般的なエラーは以下のようなものがありますが、これらに限定されません:
- BEが関連するタスクを受信しなかった。この場合、be.INFOでTablet ID関連のログを見つけることができないか、BEが成功を報告するが実際には失敗している。これらの問題については、インストールとデプロイのセクションを参照してFEとBE間の接続性を確認してください。
- 事前割り当てメモリの失敗。これはTable内の行のバイト長が100KBを超えているためかもしれません。
Too many open files。開いているファイルハンドルの数がLinuxシステムの制限を超えています。Linuxシステムのハンドル制限を変更する必要があります。
- fe.logで、対応するタイムスタンプの
- データタブレット作成時にタイムアウトが発生する場合、fe.confファイルで
tablet_create_timeout_second=xxxとmax_create_table_timeout_second=xxxを設定してタイムアウトを延長することもできます。デフォルトでは、tablet_create_timeout_secondは1秒に設定され、max_create_table_timeout_secondは60秒に設定されています。全体的なタイムアウトはmin(tablet_create_timeout_second * replication_num, max_create_table_timeout_second)として計算されます。具体的なパラメータ設定については、FE設定のセクションを参照してください。
- Table作成コマンドが長時間結果を返さない。
- DorisのTable作成コマンドは同期コマンドです。このコマンドのタイムアウトは現在(tablet num * replication num)秒として単純に設定されています。多くのデータタブレットが作成され、その一部の作成が失敗した場合、エラーが返されるまで長時間待機することになる可能性があります。
- 通常の状況では、Table作成文は数秒から数十秒以内に返されるはずです。1分を超える場合は、直接操作をキャンセルし、FEまたはBEログで関連するエラーを確認することを推奨します。
その他のヘルプ
データパーティション分割に関するより詳細な情報については、CREATE TABLEコマンドマニュアルを参照するか、MySQLクライアントでHELP CREATE TABLE;を入力してより多くのヘルプ情報を取得できます。