Hortonworks接続パラメーターの定義 - 7.2

Sparkバッチ

Version
7.2
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Sparkバッチ

ジョブの[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、Hortonworks接続設定を完成させます。この構成は、ジョブごとに有効です。

このセクションの情報は、Talend Data Fabric またはビッグデータ対応のTalend製品のいずれかにサブスクライブしているユーザーだけを対象とします。また、Talend Open Studio for Big Dataユーザーは対象外です。

手順

  1. Hortonworksの基本的な接続情報を入力します。

    Yarn client (Yarnクライアント)

    StudioはSparkドライバーを実行してジョブの実行方法をプロセス制御し、特定のHadoopクラスターのYarnサービスにそのプロセス制御を送信して、そのYarnサービスのリソースマネージャーが適宜実行リソースを要求できるようにします。

    Yarnクライアントモードを使用している場合は、対応するフィールドに次のパラメーターを設定します(サービスのチェックボックスをオフにすると、使用するHadoopクラスターのこのパラメーターに関する設定がランタイム時に無視されます)。

    • [Resource manager] (リソースマネージャー)のデータノード使用フィールドに、使用するHadoopクラスターのResourceManagerサービスのアドレスを入力します。

    • [Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスの設定)チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。

    • [Set jobhistory address] (ジョブ履歴アドレスの設定)チェックボックスをオンにして、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。

    • [Set staging directory] (ステージングディレクトリーの設定)チェックボックスをオンにして、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションのyarn-site.xmlmapred-site.xmlなどの設定ファイル内にあるyarn.app.mapreduce.am.staging-dirプロパティの下にあります。

    • Kerberosセキュリティを実行しているHadoopクラスターにアクセスする場合は、このチェックボックスをオンにし、表示されたフィールドにResourceManagerサービスおよびJobHistoryサービスとしてKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。これらのプリンシパルは、yarn-site.xmlmapred-site.xmlなど、ディストリビューションの設定ファイル内にあります。

      ログインにKerberosのkeytabファイルが必要な場合は、[Use a keytab to authenticate] (認証にkeytabを使用)チェックボックスをオンにします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このkeytabファイルは、ジョブが実際に実行されているマシン、たとえば、Talend Jobserverに保存する必要があります。

      keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば、user1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するkeytabファイルの読み取り権限があることをご確認ください。

    • [User name] (ユーザー名)フィールドは、認証にKeroberosを使っていない場合に使用できます。[User name] (ユーザー名)フィールドに、ディストリビューションにログインするためのユーザー名を入力します。このフィールドを空白のままにすると、Studioをホストするマシンのユーザー名が使用されます。

    • ジョブが起動されたマシンをSparkクラスターが認識できない場合は、この[Define the driver hostname or IP address] (ドライバーホスト名またはIPアドレスを指定)チェックボックスをオンにして、このマシンのホスト名またはIPアドレスを入力します。この設定により、Sparkマスターとそのワーカーはこのマシンを認識して、ジョブとそのドライバーを見つけることができます。

      このような場合、このマシンの名前とIPアドレスもそのホストファイルに追加する必要があります。

    Yarn cluster (Yarnクラスター)

    ジョブの実行方法はYarnクラスターで実行されるSparkドライバーにより調整されます。

    Yarnクラスターモードを使用している場合は、対応するフィールドに次のパラメーターを定義する必要があります(サービスのチェックボックスをオフにしたままにすると、このパラメーターに関する設定は、ランタイム時に使用されるHadoopクラスターで無視されます):

    • [Resource manager] (リソースマネージャー)のデータノード使用フィールドに、使用するHadoopクラスターのResourceManagerサービスのアドレスを入力します。

    • [Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスの設定)チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。

    • [Set jobhistory address] (ジョブ履歴アドレスの設定)チェックボックスをオンにして、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。

    • [Set staging directory] (ステージングディレクトリーの設定)チェックボックスをオンにして、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションのyarn-site.xmlmapred-site.xmlなどの設定ファイル内にあるyarn.app.mapreduce.am.staging-dirプロパティの下にあります。

    • Kerberosセキュリティを実行しているHadoopクラスターにアクセスする場合は、このチェックボックスをオンにし、表示されたフィールドにResourceManagerサービスおよびJobHistoryサービスとしてKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。これらのプリンシパルは、yarn-site.xmlmapred-site.xmlなど、ディストリビューションの設定ファイル内にあります。

      ログインにKerberosのkeytabファイルが必要な場合は、[Use a keytab to authenticate] (認証にkeytabを使用)チェックボックスをオンにします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このkeytabファイルは、ジョブが実際に実行されているマシン、たとえば、Talend Jobserverに保存する必要があります。

      keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば、user1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するkeytabファイルの読み取り権限があることをご確認ください。

    • [User name] (ユーザー名)フィールドは、認証にKeroberosを使っていない場合に使用できます。[User name] (ユーザー名)フィールドに、ディストリビューションにログインするためのユーザー名を入力します。このフィールドを空白のままにすると、Studioをホストするマシンのユーザー名が使用されます。

    • [Wait for the Job to complete] (ジョブの終了を待機)チェックボックスをオンにしてStudio、またはTalendジョブサーバーを使用している場合はジョブJVMで、ジョブの実行完了までジョブの監視を続けます。このチェックボックスをオンにすると、spark.yarn.submit.waitAppCompletionプロパティをtrueに設定したことになります。通常はSpark Batchジョブの実行時にこのチェックボックスをオンにすると便利ですが、Spark Streamingジョブを実行する場合はチェックボックスをオフにしたほうが賢明です。

    YARNクライアントモードのユーザー名は、SparkにHDFS接続情報を提供するために使われるコンポーネント、tHDFSConfigurationに入力したユーザー名と同じにする必要があります。

  2. [Yarn client] (Yarnクライアント)モードでは、[Property type] (プロパティタイプ)リストが表示されるため、[Repository] (リポジトリー)でHadoop接続を既に作成してある場合は、その確立済みのHadoop接続を[Repository] (リポジトリー)から選択できます。接続の選択後、Studioによってこのジョブの接続情報のセットが再使用されます。
  3. Windowsから起動する必要がある場合は、使用するwinutils.exeプログラムの保存場所を指定することを推奨します。
    • 使用するwinutils.exeファイルの保管場所がわかっている場合、[Define the Hadoop home directory] (Hadoopホームディレクトリーの指定)チェックボックスをオンにし、winutils.exeが保存されているディレクトリーを入力します。

    • 逆に、このチェックボックスをオフにすると、Studioによってディレクトリーが作成され、このジョブで自動的に使用されます。

  4. [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドで、転送するjarファイルなどの一時ファイルをStudioがローカルシステムに保存するディレクトリーを入力します。Windowsでジョブを起動する場合、デフォルトのディスクはC:です。このフィールドを/tmpのままにすると、このディレクトリーはC:/tmpになります。
  5. ジョブの実行時にhdp.version is not foundという問題が発生した場合は、[Set hdp.version] (hdp.versionの設定)チェックボックスをオンにして、ジョブとクラスターでhdp.version変数を定義します。

タスクの結果

  • 接続の設定後、必須ではありませんがSparkのパフォーマンスを調整できます。調整する場合は、以下に記載のプロセスに従います。
  • 問題が発生した場合にSparkジョブのデバッグや再開ができるよう、[Run] (実行)ビューの[Spark configuration] (Spark設定)タブでロギングとチェックポインティングを有効にしておくことをお勧めします:
  • MapReduceまたはSpark Batchジョブの実行にHortonworksデータプラットフォームV2.4以上を使用しており、HortonworksクラスターにApache Atlasがインストールされている場合は、Atlasを活用して特定のデータフローの来歴を追跡し、ジョブによりこのデータがどのように生成されたかを調べることができます。