2016-07-29 35 views
2

Ich versuche, diese Anweisungen zu folgen, um Protokollierungsprotokolle mit Spark Oozie Aktion zu aktivieren. https://archive.cloudera.com/cdh5/cdh/5/oozie/DG_SparkActionExtension.htmlSpark History Logs sind nicht aktiviert mit Oozie Spark Aktion in Cloudera

Um sicherzustellen, dass Funkenjob in dem Spark-History Server zeigt, stellen Sie sicher, dass diese drei Spark-Konfigurationseigenschaften entweder in angeben Funken entscheidet sie mit --conf oder von oozie.service.SparkConfigurationService.spark.configurations

  1. spark.yarn.historyServer.address = http://SPH-HOST:18088
  2. spark.eventLog.dir = hdfs: // NN: 8020/user/Funken/applicationHistory
  3. spark.eventLog.enabled = true

Workflow-Defintion sieht wie folgt aus:

<action name="spark-9e7c"> 
    <spark xmlns="uri:oozie:spark-action:0.1"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <master>yarn-cluster</master> 
     <mode>cluster</mode> 
     <name>Correlation Engine</name> 
      <class>Main Class</class> 
     <jar>hdfs://<MACHINE IP>:8020/USER JAR</jar> 
      <spark-opts> --conf spark.eventLog.dir=<MACHINE IP>:8020/user/spark/applicationHistory --conf spark.eventLog.enabled=true --conf spark.yarn.historyServer.address=<MACHINE IP>:18088/</spark-opts> 
    </spark> 
    <ok to="email-f5d5"/> 
    <error to="email-a687"/> 
</action> 

Wenn ich von einem Shell-Skript Verlaufsprotokolle testen korrekt protokolliert aber mit Oozie Aktionen Protokolle werden nicht korrekt protokolliert. Ich habe alle drei Eigenschaften festgelegt.

+0

Hallo Bitte überprüfen Sie meine Antwort statt funken setzt versuchen Argumentation wie in meiner Antwort –

+0

erwähnt passieren Wenn Sie mit der Antwort in Ordnung sind, bitte Flag-up „akzeptiert -von-Besitzer "Thx –

+0

Vielen Dank für Ihre schnelle Antwort RamPrasad. Ich habe die Eigenschaften wie von Ihnen empfohlen im Konfigurationsbereich verschoben. Jetzt kann ich den Speicherort/user/spark/applicationHistory als .inprogress anmelden. Sie können jedoch immer noch keinen Protokolleintrag im Verlaufsserver sehen. – Alchemist

Antwort

2

Mit meiner Erfahrung glaube ich, dass Sie Argumente an falscher Stelle weitergegeben haben.

Bitte beachten Sie unter xml Schnipsel

<?xml version="1.0" encoding="UTF-8"?> 
<workflow-app xmlns='uri:oozie:workflow:0.4' name='sparkjob'> 
    <start to='spark-process' /> 
    <action name='spark-process'> 
     <spark xmlns='uri:oozie:spark-action:0.1'> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <configuration> 
      <property> 
       <name>oozie.service.SparkConfigurationService.spark.configurations</name> 
       <value>spark.eventLog.dir=hdfs://node1.analytics.sub:8020/user/spark/applicationHistory,spark.yarn.historyServer.address=http://node1.analytics.sub:18088,spark.eventLog.enabled=true</value> 
      </property> 
      <!--property> 
       <name>oozie.hive.defaults</name> 
       <value>/user/ambari-qa/sparkActionPython/hive-config.xml</value> 
      </property--> 
      <!--property> 
       <name>oozie.use.system.libpath</name> 
       <value>true</value> 
      </property--> 
      <property> 
       <name>oozie.service.WorkflowAppService.system.libpath</name> 
       <value>/user/oozie/share/lib/lib_20150831190253/spark</value> 
      </property> 
     </configuration> 
     <master>yarn-client</master> 
     <!--master>local[4]</master--> 
     <mode>client</mode> 
     <name>wordcount</name> 
     <jar>/usr/hdp/current/spark-client/AnalyticsJar/wordcount.py</jar> 
     <spark-opts>--executor-memory 1G --driver-memory 1G --executor-cores 4 --num-executors 2 --jars /usr/hdp/current/spark-client/lib/spark-assembly-1.3.1.2.3.0.0-2557-hadoop2.7.1.2.3.0.0-2557.jar</spark-opts> 
     </spark> 
     <ok to='end'/> 
     <error to='spark-fail'/> 
    </action> 
    <kill name='spark-fail'> 
     <message>Spark job failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
    </kill> 

    <end name='end' /> 
</workflow-app>