MapR接続パラメーターを定義 - Cloud - 8.0

Spark Streaming

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Spark Streaming
Last publication date
2024-02-28

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

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

手順

  1. 基本的な設定情報を入力します:
    [Use local timezone] (ローカルタイムゾーンを使用) このチェックボックスをオンにすると、Sparkはシステムで指定されているローカルタイムゾーンを使用します。
    注:
    • このチェックボックスをオフにすると、SparkはUTCタイムゾーンを使用します。
    • コンポーネントによっては[Use local timezone for date] (日付にローカルタイムゾーンを使用)チェックボックスもあります。コンポーネントのチェックボックスをオフにすると、Spark設定からのタイムゾーンが継承されます。
    [Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用) このチェックボックスを選択し、コンポーネントにResilient Distribued Dataset (RDD) APIの代わりにDataset (DS) APIを使用させます:
    • チェックボックスを選択する場合は、ジョブ内のコンポーネントは、DSで実行されて、パフォーマンスが向上します。
    • チェックボックスをオフにする場合は、ジョブ内のコンポーネントはRDDで実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。

    このチェックボックスはデフォルトで選択されていますが、7.3以降のジョブをインポートした場合、これらのジョブはRDDで実行されるため、チェックボックスはクリアされます。

    重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。
    [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。
    注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampjava.sql.Dateが使われます。
  2. 接続する必要のあるSparkクラスターのタイプを選択します。

    [Standalone] (スタンドアロン)

    Talend StudioはSparkが有効になったクラスターに接続し、そのクラスターからジョブを実行します。

    [Standalone] (スタンドアロン)モードを使用している場合は、次のパラメーターを設定する必要があります。

    • [Spark host] (Sparkホスト)フィールドに、使用するHadoopクラスターのSpark MasterのURIを入力します。

    • [Spark home] (Sparkホーム)フィールドに、使用するHadoopクラスターにインストールされたSpark実行プログラムのロケーションを入力します。

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

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

    [Yarn client] (Yarnクライアント)

    Talend 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クラスターにアクセスする場合は、このチェックボックスをオンにし、表示されたフィールドのリソースマネージャーサービスとジョブ履歴サービスにKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。これらのプリンシパルは、yarn-site.xmlmapred-site.xmlなど、ディストリビューションの設定ファイル内にあります。

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

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

    • [User name] (ユーザー名)フィールドは、認証にKeroberosを使っていない場合に利用できます。[User name] (ユーザー名)フィールドに、ディストリビューションにログインするためのユーザー名を入力します。このフィールドを空白のままにすると、Talend 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プロパティの下にあります。

    • Set path to custom Hadoop configuration JAR (パスをカスタムHadoop設定JARに設定): [Repository] (リポジトリー)で定義した接続を使ってClouderaやHortonworksのクラスターに接続している場合は、[Repository] (リポジトリー)ウィザードでこのチェックボックスをオンにし、表示されるフィールドで、Hadoop環境の接続パラメーターが含まれているJARファイルへのパスを指定します。このファイルはジョブの起動元であるマシンからアクセス可能であることが必要です。

      この種類のHadoop設定JARファイルは、Talend Studioでビッグデータジョブをビルドする時に自動生成されます。このJARファイルの名前には、デフォルトで次のパターンが適用されます。
      hadoop-conf-[name_of_the_metadata_in_the_repository]_[name_of_the_context].jar
      また、自分のクラスターのWebコンソールからこのJARファイルをダウンロードしたり、自分のJARファイルのルートに設定ファイルを置くことでJARファイルを作成したりすることもできます。例:
      hdfs-sidt.xml
      core-site.xml

      自分のカスタムJARファイルからのパラメーターによって、[Spark configuration] (Sparck設定)フィールドに置いたパラメーターが上書きされます。前者のパラメーターはまた、関連するストレージシステム(HDFS、HBase、Hive)がHadoopに対してネイティブである場合は、tHDFSConfigurationtHBaseConfigurationといった設定コンポーネントで行った設定も上書きします。ただし、サードパーティのストレージシステム用の設定コンポーネント(tAzureFSConfigurationなど)で行われた設定は上書きしません。

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

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

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

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

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

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

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

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

  5. MapRクラスターがMapRチケット認証メカニズムで保護されているかどうか、クラスターの管理者などにご確認ください。
    • 使用するMapRクラスターをMapRチケット認証メカニズムで保護する場合は、MapRチケット認証の設定に記載の説明に従って、MapRチケット認証を設定するために使われます。

    • 保護されていない場合は、[Use MapR Ticket authentication] (MapRチケット認証を使用)チェックボックスをオフにします。

  6. [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、Talend Studioが一時ファイル(転送するjarファイルなど)をローカルシステムに保存するディレクトリーを入力します。Windowsでジョブを起動する場合、デフォルトのディスクはC:です。その結果、このフィールドを/tmpのままにすると、このディレクトリーはC:/tmpになります。

タスクの結果