HDInsight Hadoop クラスターに Hue をインストールして使用する
HDInsight クラスターに Hue をインストールし、トンネリングを利用して Hue に要求を送信する方法について学習します。
注意
Hue は HDInsight 4.0 以降ではサポートされていません。
Hue とは
Hue は Apache Hadoop クラスターとの情報のやりとりに使用される一連の Web アプリケーションです。 Hue を使用すると、Hadoop クラスターに関連付けられているストレージ (HDInsight クラスターでは WASB) を参照したり、Hive ジョブや Pig スクリプトを実行したりすることができます。 HDInsight Hadoop クラスターにインストールした Hue では次のコンポーネントが利用可能です。
- Beeswax Hive エディター
- Apache Pig
- メタストア マネージャー
- Apache Oozie
- FileBrowser (WASB の既定のコンテナーと通信)
- ジョブ ブラウザー
警告
HDInsight クラスターに用意されているコンポーネントは全面的にサポートされており、これらのコンポーネントに関連する問題の分離と解決については、Microsoft サポートが支援します。
カスタム コンポーネントについては、問題のトラブルシューティングを進めるための支援として、商業的に妥当な範囲のサポートを受けることができます。 これにより問題が解決する場合もあれば、オープン ソース テクノロジに関して、深い専門知識が入手できる場所への参加をお願いすることになる場合もあります。 たとえば、HDInsight についての Microsoft Q&A の質問ページ (https://stackoverflow.com) などの数多くのコミュニティ サイトを利用できます。 また、Apache プロジェクトには、https://apache.org に、Hadoop などのプロジェクト サイトもあります。
スクリプト アクションを使用した Hue のインストール
スクリプト アクションについては、次の表の情報を参照してください。 スクリプト アクションの使用手順については、「Script Action を使って HDInsight クラスターをカスタマイズする」を参照してください。
注意
HDInsight クラスターに Hue をインストールするには、A4 (8 コア、14 GB メモリ) 以上のヘッドノード サイズが推奨されます。
プロパティ | 値 |
---|---|
スクリプトの種類: | - Custom |
名前 | Hue のインストール |
Bash スクリプト URI | https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh |
ノードの種類: | Head |
Hive クエリを実行する
Hue ポータルから、 [クエリ エディター] を選択し、 [Hive] を選択して Hive エディターを開きます。
[支援] タブの [データベース] に hivesampletable が表示されるはずです。 これは HDInsight のすべての Hadoop クラスターに含まれるサンプル テーブルです。 右ペインでサンプル クエリを入力します。スクリーン キャプチャに示すように、下のペインの [結果] タブに出力が表示されます。
[グラフ] タブを使用し、結果を視覚的に表示することもできます。
クラスター ストレージを参照する
Hue ポータルから、メニュー バーの右上隅にある [ファイル ブラウザー] を選択します。
既定では、ファイル ブラウザーは /user/myuser ディレクトリで起動します。 パスのユーザー ディレクトリの直前の斜線を選択し、クラスターに関連付けられている Azure ストレージ コンテナーのルートに移動します。
ファイルまたはフォルダーを右クリックし、利用可能な操作を表示します。 現在のディレクトリにファイルをアップロードするには、右隅にある [アップロード] ボタンを使用します。 新しいファイルやディレクトリを作成するには、 [新規] ボタンを使用します。
注意
Hue ファイル ブラウザーは HDInsight クラスターに関連付けられている既定のコンテナーのコンテンツのみを表示できます。 追加のストレージ アカウント/コンテナーがクラスターに関連付けられている場合、ファイル ブラウザーではアクセスできません。 ただし、Hive ジョブの場合、クラスターに関連付けられている追加のコンテナーに常にアクセスできます。 たとえば、Hive エディターに dfs -ls wasbs://newcontainer@mystore.blob.core.windows.net
コマンドを入力すると、追加コンテナーのコンテンツを表示できます。 このコマンドで、 newcontainer はクラスターに関連付けられている既定のコンテナーではありません。
重要な考慮事項
Hue のインストールに使用されるスクリプトは、クラスターのプライマリ ヘッドノードにのみ Hue をインストールします。
インストール中、複数の Hadoop サービス (HDFS、YARN、MR2、Oozie) が再起動し、構成を更新します。 スクリプトが Hue のインストールを完了した後、他の Hadoop サービスが起動するまで少し時間がかかる場合があります。 最初はこれが Hue のパフォーマンスに影響を与えることがあります。 すべてのサービスが起動すると、Hue が完全に機能します。
Hue は、Hive の現在の既定値である Apache Tez ジョブを認識しません。 Hive 実行エンジンとして MapReduce を使用する場合、スクリプトで次のコマンドを使用するようにスクリプトを更新します。
set hive.execution.engine=mr;
Linux クラスターの場合、サービスをプライマリ ヘッドノードで実行し、Resource Manager をセカンダリ ヘッドノードで実行するシナリオがありえます。 そのようなシナリオの場合、Hue を利用してクラスターで「実行中」のジョブの詳細を表示するとき、エラーが発生する可能性があります (下の画像を参照)。 ただし、ジョブが完了したときにジョブの詳細を表示できます。
これは既知の問題によるものです。 この問題を回避するには、アクティブな Resource Manager もプライマリ ヘッドノードで実行されるように Ambari を変更します。
HDInsight クラスターが
wasbs://
で Azure Storage を使用するとき、Hue は WebHDFS を認識します。 そのため、スクリプト アクションで使用されるカスタム スクリプトは WebWasb をインストールします。これは WASB と通信するための WebHDFS 互換サービスです。 そのため、Hue ポータルに HDFS と表示されている場合でも (ファイル ブラウザーの上にマウスを移動したときなど)、WASB として解釈するべきです。