本文為您介紹如何將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)建集群。
說(shuō)明 本文以SmartData 3.6.0為例。如果是SmartData 2.2.3及之前版本,需要修改
ServiceName
為BIGBOOT
,FileName
為bigboot
;如果是SmartData 2.2.3到SmartData 2.7.3版本(包括SmartData 2.7.3),需要修改ServiceName
為SMARTDATA
,FileName
為bigboot
;如果是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" } ]