Cloudera接続パラメーターを定義 - 7.3

Cloudera

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > Hadoopディストーション > Cloudera
Last publication date
2024-02-22

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

使用するClouderaまたはHortonworksのバージョンが[Version] (バージョン)ドロップダウンリストに見つからない場合は、Studio内のダイナミックディストリビューションの設定を使用してディストリビューションに追加することもできます。
  • ディストリビューションのバージョンリストに、[Builtin] (組み込み)というラベルの付いたバージョンがいくつかあります。Studioのリリース時に、これらのバージョンがダイナミックディストリビューションメカニズムを使用してTalendによって追加され、Studioと共に提供されました。これらはTalendによって認定され公式にサポートされているので、すぐに使用できます。
使用するClouderaのバージョンがこのドロップダウンリストに見つからない場合は、Studio内のダイナミックディストリビューションの設定を使用してディストリビューションに追加することもできます。
  • ディストリビューションのバージョンリストに、[Builtin] (組み込み)というラベルの付いたバージョンがいくつかあります。Studioのリリース時に、これらのバージョンがダイナミックディストリビューションメカニズムを使用してTalendによって追加され、Studioと共に提供されました。これらはTalendによって認定され公式にサポートされているので、すぐに使用できます。

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

手順

  1. Knox設定情報を入力します:
    Use Knox Knowをお使いの場合は、以下のパラメーターを対応するフィールドで設定する必要があります:
    • [Knox URL]: https://<host>/<datahub>/cdp-proxy-apiという形式に従って、Knox URLを入力します。Knox URLは、Livyサーバーの下にあるData Hubの[Endpoints] (エンドポイント)セクションのCloudera Management Consoleにあります。
      重要: URLには、cdp-proxy-apiの後に /livyも他のいかなるサフィックスも含まれないようにする必要があります。
    • [Knox user] (Knoxユーザー): Cloudera Management ConsoleからのWorkloadユーザー名を入力します。
    • [Knox password] (Knoxパスワード): Cloudera Management ConsoleからのWorkloadパスワードを入力します。
    • [Knox session timeout] (Knoxセッションのタイムアウト): Knox経由でジョブがクラスターに再接続するまでの待ち時間を指定します。
    • Webhdfs directory: type in the location storing the loaded file in HDFS.
    • [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒)): StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を引用符なしで入力します。たとえば、このステータスは[Pending] (保留中)または[Running] (実行中)になります。

      デフォルト値は、30秒に相当する30000です。

    • [Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数): ステータスの応答がない場合に、Studioがステータス取得を再試行する最大回数を入力します。

      デフォルト値は10です。

    これらのオプションは、Spark BatchジョブおよびSpark Streamingジョブ用のYARNクラスターモードのCDP 7.1以降で利用できます。

  2. 基本的な設定情報を入力します:
    [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で実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。
    重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。
    注: 7.3で新しく作成されたジョブはDSを使用し、7.3以前のバージョンからインポートされたジョブはデフォルトでRDDを使用します。しかし、すべてのコンポーネントがRDDからDSに移行されないため、デフォルトでエラーを避けるには、チェックボックスをオフにすることをお勧めします。
    [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。
    注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampjava.sql.Dateが使われます。
  3. 接続する必要のあるSparkクラスターのタイプを選択します。

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

    StudioはSpark対応のクラスターに接続し、このクラスターからジョブを実行します。

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

    • [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クライアント)

    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に使用するキータブファイルの読み取り権限があることをご確認ください。

    • [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プロパティの下にあります。

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

      この種類のHadoop設定JARファイルは、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クラスターにアクセスする場合は、このチェックボックスをオンにし、表示されたフィールドに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に使用するキータブファイルの読み取り権限があることをご確認ください。

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

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

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

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

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

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

タスクの結果