本文為您介紹如何將MapReduce和Spark作業(yè)日志配置到JindoFS或OSS上。

背景信息

E-MapReduce集群支持按量計(jì)費(fèi)以及包年包月的付費(fèi)方式,滿足不同用戶的使用需求。對(duì)于按量計(jì)費(fèi)的集群隨時(shí)會(huì)被釋放,而Hadoop默認(rèn)會(huì)把日志存儲(chǔ)在HDFS上,當(dāng)集群釋放以后,按量計(jì)費(fèi)的用戶就無(wú)法查詢作業(yè)的日志了,因此這也給按量計(jì)費(fèi)用戶排查作業(yè)問(wèn)題帶來(lái)了困難。因此,您可以將MapReduce和Spark作業(yè)日志配置到JindoFS或OSS上,待重新創(chuàng)建集群后,可以繼續(xù)查詢之前作業(yè)相關(guān)的日志。

JindoFS、YARN Container日志和Spark HistoryServer配置

  • JindoFS配置
    配置文件 參數(shù) 描述 示例
    bigboot jfs.namespaces 表示當(dāng)前JindoFS支持的命名空間,多個(gè)命名空間時(shí)以逗號(hào)隔開(kāi)。 emr-jfs
    jfs.namespaces.emr-jfs.oss.uri 表示emr-jfs命名空間的后端存儲(chǔ)。 oss://oss-bucket/oss-dir
    說(shuō)明 oss-bucket為您Bucket的名稱。
    jfs.namespaces.test.mode 表示emr-jfs命名空間為塊存儲(chǔ)模式。 block
    說(shuō)明 JindoFS支持block和cache兩種存儲(chǔ)模式。
  • YARN Container日志配置
    配置文件 參數(shù) 描述 示例
    yarn-site yarn.nodemanager.remote-app-log-dir 當(dāng)應(yīng)用程序運(yùn)行結(jié)束后,日志聚合的存儲(chǔ)位置,YARN日志聚合功能默認(rèn)已打開(kāi)。
    • jfs://emr-jfs/emr-cluster-log/yarn-apps-logs
    • oss://${oss-bucket}/emr-cluster-log/yarn-apps-logs
    mapred-site mapreduce.jobhistory.done-dir JobHistory存放已經(jīng)運(yùn)行完的Hadoop作業(yè)記錄的目錄。
    • jfs://emr-jfs/emr-cluster-log/jobhistory/done
    • oss://${oss-bucket}/emr-cluster-log/jobhistory/done
    mapreduce.jobhistory.intermediate-done-dir JobHistory存放未歸檔的 Hadoop作業(yè)記錄的目錄。
    • jfs://emr-jfs/emr-cluster-log/jobhistory/done_intermediate
    • oss://${oss-bucket}/emr-cluster-log/jobhistory/done_intermediate
  • Spark HistoryServer配置
    配置文件 參數(shù) 描述 示例
    spark-defaults spark_eventlog_dir 存放Spark作業(yè)歷史的目錄。
    • jfs://emr-jfs/emr-cluster-log/spark-history
    • oss://${oss-bucket}/emr-cluster-log/spark-history

創(chuàng)建集群

在創(chuàng)建集群時(shí),添加軟件自定義配置,創(chuàng)建集群詳情請(qǐng)參見(jiàn)創(chuàng)建集群Smartdata-3-6
說(shuō)明 本文以SmartData 3.6.0為例。如果是SmartData 2.2.3及之前版本,需要修改ServiceNameBIGBOOTFileNamebigboot;如果是SmartData 2.2.3到SmartData 2.7.3版本(包括SmartData 2.7.3),需要修改ServiceNameSMARTDATAFileNamebigboot;如果是SmartData 2.7.3之后版本,可以直接使用本文示例。
軟件自定義配置示例如下:
  • 以JindoFS存儲(chǔ)日志為例,替換oss_bucket及對(duì)應(yīng)路徑。
    [   
      {
              "ServiceName":"SMARTDATA",
           "FileName":"namespace",
           "ConfigKey":"jfs.namespaces",
           "ConfigValue":"emr-jfs"
      },
      {
               "ServiceName":"SMARTDATA",
           "FileName":"namespace",
           "ConfigKey":"jfs.namespaces.emr-jfs.oss.uri",
           "ConfigValue":"oss://oss-bucket/jindoFS"
      },
      {
               "ServiceName":"SMARTDATA",
           "FileName":"namespace",
           "ConfigKey":"jfs.namespaces.emr-jfs.mode",
           "ConfigValue":"block"
      },
      {
              "ServiceName":"YARN",
           "FileName":"mapred-site",
           "ConfigKey":"mapreduce.jobhistory.done-dir",
           "ConfigValue":"jfs://emr-jfs/emr-cluster-log/jobhistory/done"
      },
      {
               "ServiceName":"YARN",
           "FileName":"mapred-site",
           "ConfigKey":"mapreduce.jobhistory.intermediate-done-dir",
           "ConfigValue":"jfs://emr-jfs/emr-cluster-log/jobhistory/done_intermediate"
      },
      {
               "ServiceName":"YARN",
           "FileName":"yarn-site",
           "ConfigKey":"yarn.nodemanager.remote-app-log-dir",
           "ConfigValue":"jfs://emr-jfs/emr-cluster-log/yarn-apps-logs"
      }, 
      {
               "ServiceName":"SPARK",
           "FileName":"spark-defaults",
           "ConfigKey":"spark_eventlog_dir",
           "ConfigValue":"jfs://emr-jfs/emr-cluster-log/spark-history"
      }
    ]
  • 以O(shè)SS存儲(chǔ)日志為例,替換oss_bucket及對(duì)應(yīng)路徑。
    [   
      {
              "ServiceName":"YARN",
           "FileName":"mapred-site",
           "ConfigKey":"mapreduce.jobhistory.done-dir",
           "ConfigValue":"oss://oss_bucket/emr-cluster-log/jobhistory/done"
      },
      {
              "ServiceName":"YARN",
           "FileName":"mapred-site",
           "ConfigKey":"mapreduce.jobhistory.intermediate-done-dir",
           "ConfigValue":"oss://oss_bucket/emr-cluster-log/jobhistory/done_intermediate"
      },
      {
               "ServiceName":"YARN",
           "FileName":"yarn-site",
           "ConfigKey":"yarn.nodemanager.remote-app-log-dir",
           "ConfigValue":"oss://oss_bucket/emr-cluster-log/yarn-apps-logs"
      }, 
      {
               "ServiceName":"SPARK",
           "FileName":"spark-defaults", 
            "ConfigKey":"spark_eventlog_dir",
           "ConfigValue":"oss://oss_bucket/emr-cluster-log/spark-history"
       }
    ]