詳細Sparkプロパティを追加して問題を解決する - 7.3

Sparkストリーミング

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Spark Streaming

使用しているディストリビューションまたは遭遇する問題によっては、ジョブの[Run] (実行)ビューの[Spark configuration] (Spark設定)タブにある[Advanced properties] (詳細プロパティ)テーブルに特定のSparkプロパティを追加しなければならない場合があります。

または、[Repository] (リポジトリー)およびそのウィザードでHadoop接続メタデータを定義し、[Use Spark properties] (Sparkプロパティの使用)チェックボックスをオンにしてプロパティテーブルを開き、たとえばクラスターのspark-defaults.confから、使用するプロパティを追加します。Apache Sparkジョブでこの接続を再利用すると、そこで追加した詳細SparkプロパティがジョブのSpark設定に自動的に追加されます。

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

異なるHadoopディストリビューションまたは一部の一般的な問題とその値によって要求される詳細プロパティを、以下にリスト表示します。

Sparkの有効なプロパティの詳細は、https://spark.apache.org/docs/latest/configurationでSparkのドキュメントを参照してください。

特定のSparkタイムアウト

ネットワークに問題が発生した場合、デフォルトでは、Sparkは最大45分待ってからジョブの送信試行を停止します。続いて、Sparkによりジョブの自動停止がトリガーされます。

この間隔は、以下のプロパティをtHDFSConfiguration[Hadoop properties] (Hadoopプロパティ)テーブルに追加することで短縮できます。

  • ipc.client.ping: false。この場合、サーバーが応答しなければPingしません。

  • ipc.client.connect.max.retries: 0。これは、接続の要求に応答が返ってきたもののリジェクトされた場合の再試行回数を示します。

  • yarn.resourcemanager.connect.retry-interval.ms: 任意の数字。これは、Sparkで試行終了までに、ResourceManagerサービスに接続を試みる回数を示します。

Hortonworks Data Platform V2.4

  • spark.yarn.am.extraJavaOptions: -Dhdp.version=2.4.0.0-169

  • spark.driver.extraJavaOptions: -Dhdp.version=2.4.0.0-169

さらに、[Run] (実行)ビューの[Advanced settings] (詳細設定)タブ、または[Preferences] (環境設定)ウィンドウのTalend > [Run/Debug] (実行/デバッグ)ビューで、[JVM settings] (JVM設定)エリアに-Dhdp.version=2.4.0.0-169を追加する必要があります。この引数を[Preferences] (環境設定)ウィンドウで設定すると、同じStudio内で設計するすべてのジョブに適用されます。

MapR V5.1とV5.2

クラスターがHBaseまたはMapRDBコンポーネントで使われている場合:

spark.hadoop.yarn.application.classpath: クラスターに固有のこのパラメーターの値を入力し、HBaseへのクラスパスがない場合は追加して、使用するジョブが、クラスター内で必要なクラスとパッケージを確実に見つけられるようにします。

たとえば、クラスターにインストールされたHBaseバージョンが1.1.1の場合は、spark.hadoop.yarn.application.classpathパラメーターで定義されたすべてのパスをクラスターからコピー&ペーストし、次に、opt/mapr/hbase/hbase-1.1.1/lib/*/opt/mapr/lib/*をこれらのパスに追加します。パスはそれぞれコンマ(,)で区切ります。追加されたパスは、HBaseが通常、MapRクラスターにインストールされる場所です。HBaseが他の場所にインストールされている場合は、クラスターの管理者に詳細を問い合わせて、これらのパスを適宜変更します。

このパラメーターを追加するステップバイステップの手順は、HBase/MapR-DBジョブはMapRでは正しく実行できません。を参照してください。

Cloudera CDP

ジョブのデフォルト設定により、実行するジョブに必要なすべての依存項目が提供されない場合は、spark.hadoop.yarn.application.classpathプロパティを使って欠落している依存項目のクラスパスを指定する必要があります。

たとえば、Spark JARとHiveのライブラリーにパスを追加し、各パスをコンマ(,)で区切ります: "opt/cloudera/parcels/CDP/lib/spark/jars/*, opt/cloudera/parcels/CDP/lib/hive/libs/*"

セキュリティ

Studio with Big Dataがインストールされているマシンで、一部のスキャニングツールがSparkに関連するCVE脆弱性問題をレポートする場合があります。ただしこの問題は、Spark コミュニティによって説明されているように、実際にはSparkに影響を及ぼしません。この脆弱性はApache Thrift Goクライアントライブラリーのみに関するものであり、Sparkはこのライブラリーを使わないからです。したがって、このアラートはStudioに関係がなく、アクションは不要です。