最近、Spark を使用して TDengine データベースの読み書きをしているときに、次のような問題が発生しました。
JDBCDriver がダイナミック リンク ライブラリを見つけることができません (java.library.path に taos がありません)
ローカルは正常ですが、サーバーに書き込むとすぐにこのエラーが報告されます。長い間問題を確認していませんでした。その後、何度も問い合わせた結果、問題の原因がわかりました。
原因分析:
以前は、TDengine の JDBC ドライバーはローカルの動的ライブラリ (Linux では libtaos.so、Windows では taos.dll) に依存していたため、開発者は最初にクライアントをローカルにインストールする必要がありました。それ以外の場合、アプリケーションはエラーを報告します。
java.library.path に taos がありません
TDengine は現在、Linux および Windows オペレーティング システムのクライアント インストール パッケージのみをサポートしており、ソース コードを他のオペレーティング システムでコンパイルすることはできません。macOS を使用するユーザーの場合、最初に macOS 上でコードを作成してから、そのコードをデバッグのために Linux サーバーにデプロイするか、リモート コード開発をサポートできる VS コードなどの IDE ツールを使用する必要があります。これらすべてにより、 TDengine. 開発コスト。これが、私たちが JDBC-RESTful を開発した理由です。JDBC-RESTful を使用した後は、クライアントをインストールする必要はありません。リモート コード開発に IDE ツールを使用する必要はありません。MacBook 上で開発を行うこともできます。
ローカルでエラーを報告しなかった理由は、テスト中に taos クライアントをダウンロードしましたが、サーバー Linux がこれをダウンロードしてインストールしなかったため、書き込みが失敗したためです。
問題を解く:
taos クライアントをダウンロードしてインストールし、サーバーにインストールします。
ダウンロードリンク:
インストール パッケージを今すぐ開始 | TDengine ドキュメント | Taosi データ
クライアントとサーバーのバージョン番号は正確に同じである必要があります。そうでない場合、クライアントの接続時に「接続を確立できません」というエラーが表示されます。
適切なバージョンを見つけてダウンロードしてインストールすると、問題は解決します。
taos 経由で接続する場合、ユーザー名とパスワードは指定されません。ユーザーが認証情報を指定しない場合、TDengine はデフォルトで root になり、taosdata になります。
https://z.itpub.net/article/detail/AC435984D3153D4A885E70D3F8CE9402
https://blog.csdn.net/MinggeQingchun/article/details/124553960