一、概述
當集群開啟了Kerberos后,Spark向hive中寫入數據時,代碼中會去讀取yarn的配置文件,如果讀不到yarn的配置文件,就會報這樣的錯誤。如果用IDEA開發的ETL程序直接在CDH上面運行是沒有這個問題的;但是當程序在第三方機器上運行時就會包這個錯誤。因為Spark客戶端需要將yarn-site.xml加載。如果只是拷貝了hdfs-site.xml、core-site.xml、hive-site.xml沒有拷貝yarn-site.xml就會報這個錯誤。
二、解決方法
去CDH平台中下載客戶端配置文件信息,然后將hdfs-site.xml、core-site.xml、hive-site.xml、yarn-site.xml拷貝到Spark客戶端的conf目錄下面。然后再使用spark-submit提交就沒有問題了。