HDInsight クラスターに空のエッジ ノードを追加する方法について説明します。 空のエッジ ノードは、ヘッド ノードの場合と同じクライアント ツールがインストールされ、構成された Linux 仮想マシンです。 ただし、Apache Hadoop サービスは実行されていません。 エッジ ノードは、クラスターへのアクセス、クライアント アプリケーションのテスト、およびクライアント アプリケーションのホストに使用できます。
空のエッジ ノードは、既存の HDInsight クラスターに追加することも、クラスターの作成時にその新しいクラスターに追加することもできます。 空のエッジ ノードを追加するには、Azure Resource Manager テンプレートを使用します。 次のサンプルでは、テンプレートを使用して行う方法を示しています。
"resources": [
{
"name": "[concat(parameters('clusterName'),'/', variables('applicationName'))]",
"type": "Microsoft.HDInsight/clusters/applications",
"apiVersion": "2015-03-01-preview",
"dependsOn": [ "[concat('Microsoft.HDInsight/clusters/',parameters('clusterName'))]" ],
"properties": {
"marketPlaceIdentifier": "EmptyNode",
"computeProfile": {
"roles": [{
"name": "edgenode",
"targetInstanceCount": 1,
"hardwareProfile": {
"vmSize": "{}"
}
}]
},
"installScriptActions": [{
"name": "[concat('emptynode','-' ,uniquestring(variables('applicationName')))]",
"uri": "[parameters('installScriptAction')]",
"roles": ["edgenode"]
}],
"uninstallScriptActions": [],
"httpsEndpoints": [],
"applicationType": "CustomApplication"
}
}
],
サンプルに示されているように、必要に応じてスクリプト アクションを呼び出して、追加の構成を行うことができます。 たとえば、エッジ ノードでの Apache Hue のインストールなどです。 このスクリプト アクションのスクリプトは、Web で公開されている必要があります。 たとえば、スクリプトが Azure Storage に格納されている場合、パブリック コンテナーまたはパブリック BLOB のいずれかを使用します。
エッジノードの仮想マシンのサイズは、HDInsight クラスター ワーカー ノードの VM サイズの要件を満たしている必要があります。 推奨されるワーカー ノードの VM サイズについては、「HDInsight で Apache Hadoop クラスターを作成する」をご覧ください。
エッジ ノードを作成した後、SSH を使用してエッジ ノードに接続し、クライアント ツールを実行して HDInsight の Hadoop クラスターにアクセスすることができます。
警告
エッジ ノードにインストールされているカスタム コンポーネントは、Microsoft からビジネス上合理的なサポートを受けることができます。 これにより、発生する問題を解決できる場合があります。 または、追加の支援を受けるために、コミュニティ リソースを参照することもできます。 コミュニティから支援を受けることができる、最もアクティブなサイトの一部を次に示します。
Apache テクノロジを使用している場合、https://apache.org にある Apache の各プロジェクト サイト (例: Apache Hadoop サイト) で支援を受けられる可能性があります。
重要
Ubuntu イメージは、公開から 3 か月以内に、新しい HDInsight クラスターの作成のために入手できるようになります。 2019 年 1 月時点で、実行中のクラスター (エッジ ノードを含む) に修正プログラムは自動適用されません。 お客様は、スクリプトによるアクションまたはその他のメカニズムを使用して、実行中のクラスターに修正プログラムを適用する必要があります。 詳細については、「HDInsight 用の OS の修正プログラム」を参照してください。
既存のクラスターにエッジ ノードを追加する
このセクションでは、Resource Manager テンプレートを使用して既存の HDInsight クラスターにエッジ ノードを追加します。 Resource Manager テンプレートは、 GitHubにあります。 Resource Manager テンプレートは、 https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.hdinsight/hdinsight-linux-add-edge-node/scripts/EmptyNodeSetup.sh にあるスクリプト アクションを呼び出します。このスクリプトではアクションは実行されません。 これは、Resource Manager テンプレートからのスクリプト アクションの呼び出しを示すためのものです。
次の画像を選択して Azure にサインインし、Azure portal で Azure Resource Manager テンプレートを開きます。
次のプロパティを構成します。
プロパティ 説明 サブスクリプション クラスターの作成に使用される Azure サブスクリプションを選択します。 Resource group 既存の HDInsight クラスターに使用されるリソース グループを選択します。 場所 既存の HDInsight クラスターの場所を選択します。 クラスター名 既存の HDInsight クラスターの名前を入力します。 [上記の使用条件に同意する] をオンにしてから [購入] を選択し、エッジ ノードを作成します。
重要
必ず、既存の HDInsight クラスター用に使用される Azure リソース グループを選択します。 正しく選択しなかった場合、"ネストされたリソースに対して要求された操作を実行できません。 親リソース '<クラスター名>' が見つかりません。" というエラー メッセージが表示されます。
クラスター作成時にエッジ ノードを追加する
このセクションでは、Resource Manager テンプレートを使用して、エッジ ノードを含む HDInsight クラスターを作成します。 Resource Manager テンプレートは Azure クイック スタート テンプレート ギャラリーにあります。 Resource Manager テンプレートは、 https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.hdinsight/hdinsight-linux-with-edge-node/scripts/EmptyNodeSetup.sh にあるスクリプト アクションを呼び出します。このスクリプトではアクションは実行されません。 これは、Resource Manager テンプレートからのスクリプト アクションの呼び出しを示すためのものです。
HDInsight クラスターがない場合は作成します。 HDInsight での Hadoop の使用に関するページをご覧ください。
次の画像を選択して Azure にサインインし、Azure portal で Azure Resource Manager テンプレートを開きます。
次のプロパティを構成します。
プロパティ 説明 サブスクリプション クラスターの作成に使用される Azure サブスクリプションを選択します。 Resource group クラスターの新しいリソース グループを作成します。 場所 リソース グループの場所を選びます。 クラスター名 新しく作成するクラスターの名前を入力します。 [Cluster Login User Name](クラスター ログイン ユーザー名) Hadoop HTTP ユーザー名を入力します。 既定の名前は adminです。 [クラスター ログイン パスワード] HTTP ユーザー パスワードを入力します。 SSH ユーザー名 SSH ユーザー名を入力します。 既定の名前は sshuserです。 SSH パスワード SSH ユーザー パスワードを入力します。 スクリプト アクションのインストール この記事では既定値のままにします。 一部のプロパティは、テンプレートにハードコーディングされています:クラスターの種類、クラスターのワーカー ノード数、エッジ ノードのサイズ、およびエッジ ノードの名前。
[上記の使用条件に同意する] をオンにしてから [購入] を選択し、エッジ ノードを使用してクラスターを作成します。
複数のエッジ ノードの追加
HDInsight クラスターには複数のエッジ ノードを追加できます。 複数エッジ ノード構成は、Azure Resource Manager テンプレートを使用することによってのみ行うことができます。 この記事の冒頭にあるテンプレート サンプルを参照してください。 作成するエッジ ノードの数を反映させるには、targetInstanceCount を更新します。
エッジ ノードにアクセスする
エッジ ノードの SSH エンドポイントは、<エッジ ノード名>.<クラスター名>-ssh.azurehdinsight.net:22 です。 たとえば、new-edgenode.myedgenode0914-ssh.azurehdinsight.net:22 のようになります。
エッジ ノードは、Azure Portal ではアプリケーションとして表示されます。 Portal には、SSH を使用してエッジ ノードにアクセスするための情報が表示されます。
エッジ ノードの SSH エンドポイントを確認するには
- Azure Portal にサインオンします。
- エッジ ノードを含む HDInsight クラスターを開きます。
- [アプリケーション] を選択します。 エッジ ノードが表示されます。 既定の名前は new-edgenodeです。
- エッジ ノードを選択します。 SSH エンドポイントが表示されます。
エッジ ノードで Hive を使用するには
SSH を使用してエッジ ノードに接続します。 詳細については、HDInsight での SSH の使用に関するページを参照してください。
SSH を使用してエッジ ノードに接続したら、次のコマンドを使用して Hive コンソールを開きます。
hive
次のコマンドを使用して、クラスター内の Hive テーブルを表示します。
show tables;
エッジ ノードを削除する
Azure Portal からエッジ ノードを削除できます。
- Azure Portal にサインオンします。
- エッジ ノードを含む HDInsight クラスターを開きます。
- [アプリケーション] を選択します。 エッジ ノードの一覧が表示されます。
- 削除するエッジ ノードを右クリックし、 [削除] を選択します。
- [はい] を選択して確定します。
次のステップ
この記事では、エッジ ノードを追加する方法とエッジ ノードにアクセスする方法について学習しました。 詳細については、以下の記事をお読みください。
- HDInsight アプリケーションをインストールする:HDInsight アプリケーションをクラスターにインストールする方法について確認します。
- カスタム HDInsight アプリケーションをインストールする: 未発行の HDInsight アプリケーションを HDInsight にデプロイする方法について確認します。
- HDInsight アプリケーションを発行する:カスタム HDInsight アプリケーションを Azure Marketplace に発行する方法について確認します。
- MSDN:HDInsight アプリケーションをインストールする:HDInsight アプリケーションを定義する方法を確認します。
- スクリプト アクションを使用して Linux ベースの HDInsight クラスターをカスタマイズする: スクリプト アクションを使用してアプリケーションを追加インストールする方法を確認します。
- Resource Manager テンプレートを使用して HDInsight で Linux ベースの Apache Hadoop クラスターを作成する: Resource Manager テンプレートを呼び出して HDInsight クラスターを作成する方法を確認します。