Hortonworks Data Platform の Docker デプロイを使用して Azure Lab Services でビッグ データ分析用のラボを設定する

Note

この記事では、ラボ アカウントに代わり導入されたラボ プランで使用できる機能について説明します。

この記事では、ビッグ データ分析クラスを教えるためのラボを設定する方法について説明します。 ビッグ データ分析クラスでは、大量のデータを処理する方法をユーザーに説明します。 また、機械および統計学習アルゴリズムを適用して、データの分析情報を導き出す方法も教えます。 重要な目的は、Apache Hadoop のオープンソース ソフトウェア パッケージなどのデータ分析ツールを使用する方法を学習することです。 このソフトウェア パッケージには、ビッグ データを格納、管理、処理するためのツールが用意されています。

このラボでは、ラボ ユーザーは、Hortonworks Data Platform (HDP) と呼ばれる Cloudera によって提供される一般的な商用バージョンの Hadoop を操作します。 具体的には、ラボ ユーザーは、プラットフォームの簡略化された使いやすいバージョンである HDP Sandbox 3.0.1 を使用します。 また、HDP Sandbox 3.0.1 は無料であり、学習と実験の目的で使用できます。 ただし、このクラスでは、HDP Sandbox をデプロイした Windows または Linux の仮想マシン (VM) を使うことができます。 この記事では、Windows の使用方法について説明します。

もう 1 つの興味深い点は、Docker コンテナーを使用してラボ VM に HDP サンドボックスをデプロイすることです。 各 Docker コンテナーには、ソフトウェア アプリケーションを内部で実行するための独自の分離環境が用意されています。 概念的には、Docker コンテナーは入れ子になった VM のようなもので、Docker Hub で提供されているコンテナー イメージに基づいて、さまざまなソフトウェア アプリケーションを簡単にデプロイして実行するために使用することができます。 HDP Sandbox 用の Cloudera の配置スクリプトは、Docker Hub から HDP Sandbox 3.0.1 Docker イメージを自動的に取得し、次の 2 つの Docker コンテナーを実行します。

  • sandbox-hdp
  • sandbox-proxy

前提条件

このラボを設定するには、Azure サブスクリプションにアクセスする必要があります。 組織の管理者に相談して、既存の Azure サブスクリプションにアクセスできるかどうかを確認してください。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

ラボの構成

ラボ計画の設定

Azure サブスクリプションを取得したら、Azure Lab Services でラボ プランを作成できます。 新しいラボ プランの作成の詳細については、「クイックスタート: ラボを作成するためのリソースの設定」を参照してください。 既存のラボ計画を使用することもできます。

このラボでは、基本 VM イメージとして Windows 10 Pro Azure Marketplace イメージを使用します。 最初に、ラボ プランでこのイメージを有効にする必要があります。 これにより、ラボ作成者は、ラボの基本イメージとしてこのイメージを選択できます。

ラボ作成者が使用できる Azure Marketplace イメージを有効にするには、次の手順に従います。 Windows 10 Azure Marketplace イメージのいずれかを選択します。

ラボの設定

ラボ プランのラボを作成します。 ラボを作成する方法については、チュートリアル: ラボの設定に関するページを参照してください。 ラボの作成時には、次の設定を使用します。

ラボの設定 値/説明
仮想マシン サイズ 中 (入れ子になった仮想化)。 この VM サイズは、リレーショナル データベース、メモリ内キャッシュ、および分析に最適です。 このサイズは、入れ子になった仮想化もサポートします。
仮想マシン イメージ Windows 10 Pro

Note

Docker を使用する HDP サンドボックスには、入れ子になった仮想化と少なくとも 10 GB の RAM を備えた Windows Hyper-V が必要であるため、Medium (入れ子になった仮想化) の VM サイズを使用します。

テンプレート マシンの構成

テンプレート マシンを設定するには、次の操作を行います。

  1. Docker をインストールする
  2. HDP Sandbox をデプロイする
  3. PowerShell と Windows タスク スケジューラを使用して Docker コンテナーを自動的に開始する

Docker をインストールする

このセクションの手順は、Docker コンテナーを使用してをデプロイするための Cloudera の手順に基づいています。

Docker コンテナーを使用するには、まずテンプレート VM に Docker Desktop をインストールする必要があります。

  1. 前提条件に関するセクションの手順に従い Docker for Windows をインストールします。

    重要

    [Use Windows containers instead of Linux containers]\(Linux コンテナーの代わりに Windows コンテナーを使用する\) 構成オプションがオフのままになっていることを確認します。

  2. [Windows Containers and Hyper-V features]\(Windows コンテナーと Hyper-V 機能\) がオンになっていることを確認します。

    Windows の機能の有効化または無効化を行っています。

  3. Windows のメモリに関するセクションの手順に従って、Docker のメモリ構成を設定します。

    警告

    Docker のインストール時に、[Use Windows containers instead of Linux containers]\(Linux コンテナーの代わりに Windows コンテナーを使用する\) オプションを誤ってオンにした場合、メモリ構成の設定は表示されません。 これを修正するには、Windows システム トレイの Docker アイコンをクリックして、Linux コンテナーの使用に切り替えることができます。Docker Desktop メニューが開いたら、[Switch to Linux containers]\(Linux コンテナーに切り替える\) を選択します。

HDP Sandbox をデプロイする

次に、HDP サンドボックスをデプロイし、ブラウザーを使用して HDP サンドボックスにアクセスします。

  1. このガイドの「前提条件」セクションに記載されているように、Git Bash がインストールされていることを確認します。 次の手順を完了することをお勧めします。

  2. Cloudera の Docker のデプロイおよびインストール ガイドを使用して、次のセクションの手順を実行します。

    • HDP Sandbox をデプロイする
    • HDP Sandbox を検証する

    警告

    HDP の最新の .zip ファイルをダウンロードするときは、空白を含むディレクトリ パスに .zip ファイルを保存しないようにしてください。

    Note

    デプロイ中にドライブが共有されていないことを示す例外が発生した場合は、HDP の Linux コンテナーがローカルの Windows ファイルにアクセスできるように、C ドライブを Docker と共有する必要があります。 これを修正するには、Windows システム トレイ の Docker アイコンをクリックして Docker デスクトップ メニューを開き、[設定] を選択します。 [Docker 設定] ダイアログが開いたら、[リソース] > [ファイル共有] を選択し、C ドライブにチェックを入れます。 その後、HDP Sandbox をデプロイする手順を繰り返すことができます。

  3. HDP Sandbox 用 Docker コンテナーをデプロイし、実行している場合は、ブラウザーを起動してこの環境にアクセスできます。 Cloudera の指示に従って Sandbox の [Welcome Page]\(ようこそページ\) を開き、HDP Dashboard を起動します。

    Note

    この手順では、サンドボックス環境のローカル IP アドレスを、テンプレート VM 上のホストファイルの sandbox-hdp.hortonworks.com にあらかじめマップしていることを前提としています。 このマッピングを行わない場合、http://localhost:8080 に移動して、Sandbox のウェルカム ページにアクセスできます。

ラボ ユーザーがサインインしたときに Docker コンテナーを自動的に起動する

ラボ ユーザーに使いやすいエクスペリエンスを提供するために、次のことを自動的に行う PowerShell スクリプトを作成します。

  1. ラボ ユーザーがラボ VM を起動し、ラボ VM に接続したときに、HDP サンドボックス Docker コンテナーを起動します。
  2. ブラウザーを起動し、サンドボックスの [ようこそ] ページに移動します。

Windows タスク スケジューラを使用して、ラボ ユーザーが VM にログインしたときにこのスクリプトを自動的に実行します。 タスク スケジューラを設定するには、ビッグ データ分析スクリプトに関するページの手順を実行します。

コストの見積もり

このセクションでは、25 人のラボ ユーザーを対象にこのクラスを実行する場合のコストの見積もりを示します。 予定された授業時間は 20 時間です。 また、各ユーザーには、予定された授業時間外に宿題や課題を行うための 10 時間の割り当てが与えられます。 選択した仮想マシンのサイズは Medium (入れ子になった仮想化)で、55 ラボ ユニットです。

  • 25人の ラボ ユーザー × (スケジュールされた 20 時間 + 10 クォータ時間) × 55 ラボ ユニット

重要

このコスト見積もりは、例を示すためだけのものです。 現在の価格の詳細については、「Azure Lab Services の価格」を参照してください。

まとめ

この記事では、ビッグ データ分析クラスでラボを作成するために必要な手順について説明しました。 ビッグ データ分析クラスでは、Docker を使ってデプロイされた Hortonworks Data Platform を使います。 このクラスの種類のセットアップは、同様のデータ分析クラスに使用できます。 このセットアップは、デプロイに Docker を使用する他の種類のクラスにも適用できます。

次のステップ

テンプレート イメージをラボに発行できるようになります。 詳細については、「テンプレート VM の発行」を参照してください。

ラボを設定するときは、次の記事を参照してください。