いくつかのハイブ クエリを実行したいので、hdfs バイトの読み取り/書き込みなどのさまざまなメトリックを収集する必要があります。このために、私はJavaコードを書きました。しかし、コードを実行する前に、hive、impala、yarn などの cloudera サービスが実行されているかどうかを確認したいだけです。実行中の場合、コードを実行する必要があります。それ以外の場合は終了します。Javaコードでサービスのステータスを確認する方法はありますか?
1 に答える
0
Sampson S は正解を出しましたが、実装するのは簡単ではありません。この情報は、Cloudera が提供する Cloudera Manager (CM) ツールの REST API を介して入手できます。Java プログラムで CM に対して Web GET 要求を行い、JSON の結果を解析して、それを使用して決定を下します。または、API の背後にあるコードを調べて、より直接的なクエリを作成することもできます。
でも、「なぜ?」と聞くべきだと思います。何を達成しようとしていますか?CM によってすでに提供されている機能を複製していますか? ここで SO について質問するときは、何らかのコンテキストを提供することが常に役に立ちます。あなたはこの環境に不慣れなようです。おそらく、それはすでにあなたが望むことをしています。
于 2016-05-21T23:24:58.160 に答える