Apache IoTDBチュートリアルシリーズ5:一般的な問題の概要(1)

過去に使ってみて、皆さんからたくさんのフィードバックをいただきましたが、本日は一般的な問題をいくつか挙げて、参考にさせていただきます。交換グループのQRコードをスキャンして、グループに入ることができます。

テキストは1974語で、予想される読み上げ時間は5分です。

よくある問題

概要:起動の問題、接続の問題、過度の負荷、パス名の問題、構文によるグループ化、精度の低下、および空のメタデータ。

起動の問題

通常、ウィンドウで発生します。パスにスペースがあるかどうか、パスが長すぎるかどうかなどを確認できます。

クライアントがサーバーに接続できません

例外ログは、リサイクル、欠落フィールドなどに関連しています。これらはすべてバージョンの不一致です。クライアントとサーバーが同じメジャーバージョン(0.9.xや0.10.xなど)であることを確認する必要があります。

特定の参照:

https://blog.csdn.net/qiaojialin/article/details/106258371

システムの負荷が高すぎる

IoTDBシステムの負荷が大きすぎます。enable_parameter_adapterパラメーターをオフにできることを確認するメッセージが表示されます。このパラメーターをオフにすると、メモリが爆発する危険性があり、パラメーターを手動で調整する必要があります。簡単な調整方法:

memtable_size_threshold = tsfile_size_threshold

=割り当て可能なメモリ* 50%/ストレージグループの数/ 4(データの順序が狂っている)

=割り当て可能なメモリ* 50%/ストレージグループの数/ 2(順不同データなし)

0.10.0構成ファイルには、enable_parameter_adapterパラメーターのパラメーター調整ガイドがあり、参照できます。

パス名の問題

0.8、0.9パス名のサポートにはさまざまなレベルがありますが、最も一般的な命名規則は、命名規則が文字とアンダースコアで始まり、文字、数字、アンダースコアで構成されるというものです。¥#&-などの他の特殊文字は、0.10.0でのみサポートされています。最後のレイヤーについては、以前に引用符ソリューションを考え出しましたが、これを0.10.0に書き込んでも問題ありませんが、クエリによって返されるヘッダーが均一ではない場合があります。これは0.11.0または0.10.1で完全に解決されます。その時に別記事紹介を書いていきます。

構文によるグループ化が正しくない

0.9と0.10より前のバージョンでは、グループごとの構文が異なります。IoTDBのバージョンに注意する必要があります。

0.9の構文はgroup by(1d、2017-11-03 00:00:00、[2017-11-01 00:00:00、2017-11-07 23:00:00]);

0.10の構文はgroup by([2017-11-01 00:00:00、2017-11-07 23:00:00)、3h、1d);です。

詳細については、前の記事「基本的なSQL構文」を参照してください。

ピアによって接続がリセットされました

接続が不安定です。再接続メカニズムを持つSessionPoolを使用できます。

接続を取得するためのタイムアウト

SessionPoolでクエリした結果セットを閉じることを忘れないでください。閉じるのを忘れた場合、接続は常に占有されます。閉じる方法は、sessionPool.close(SessionDataSetWrapper)です。

MQTT関連の問題

java mqttクライアントの例に加えて、他のmqttクライアントはクライアントIDを設定する必要があります。これにより、バージョン0.11.0で空のclientIDを使用できるようになります。

0.10.0以前のバージョンでは匿名アクセスが可能ですが、バージョン0.11.0-SNAPSHOTで修正されています。

データの正確性の喪失

FloatおよびDoubleでRLEおよびTS_2DIFFを使用すると、精度が失われます。小数点以下2桁はデフォルトで予約され、3番目の桁に従って丸められます。これは、パラメーターfloat_precisionで制御できます。

ゴリラエンコーディングは、ロスレスの浮動小数点数に推奨されます。

バージョン0.9バーストメモリ

merge_interval_secを0に設定する必要があります。

再起動後にメタデータが空になる

この問題は0.9.2以前のバージョンで発生し、メタデータは失われませんが、再起動時にエラーログが発生した後にメモリが空になります。0.9.3または0.10.0にアップグレードでき、再起動することで解決できます。

問題が発生する4つのステップ

最初の一歩

新しいバージョンを試してみてください。新しいバージョンで問題ないかもしれません(以前は、ソフトウェアをダウンロードするときに使用する古いバージョンを常に見つけたいと思っています。今は、ソフトウェアの作成を開始した後、最新バージョンを使用したいだけです。

第二段階

クライアントを介して操作を実行します。例外が発生した場合、エラーコードは例外に含まれます。getStatusCodeを使用してエラーコードを取得し、次のリンクを確認できます。

http://iotdb.apache.org/zh/UserGuide/V0.10.x/Client/Status%20Codes.html

この方法は、文法上の問題、バージョンの問題などを特定するのに役立ちます。

第三段階

Githubの問題リストで検索します。ない場合は作成できます。特定の操作と問題を明確に説明してください。エラーログがある場合は、投稿できます。

https://github.com/apache/incubator-iotdb/issues

githubで出された質問は、基本的に1〜2日以内にフィードバックが返されます。解決した後、ソリューションについてフィードバックを提供し、他の人に参照を提供するのが最善であることに注意してください。

第四段階

私たちに連絡するには、著者に連絡して、公式アカウントの下部にあるWeChatに私を追加することができます。

総括する

ソフトウェアが使用されます。フィードバックが多ければ多いほど、IoTDBは使いやすくなります。IoTDBの急成長段階にいるユーザーに感謝します。次の記事では、チューニングを紹介します。

スターへようこそ:https://github.com/apache/incubator-iotdb

おすすめ

転載: blog.csdn.net/qiaojialin/article/details/107171511