1. 程式人生 > >spark on yarn執行產生jar包衝突問題

spark on yarn執行產生jar包衝突問題

1.1 問題描述

Spark Streaming程式解析protobuf序列化的資料時,--jars 來新增依賴的protobuf-java-3.0.0.jar包,使用local模式程式正常,使用yarn模式時會報找不到方法的錯誤,如下所示:

image.png

1.2 解決方法

分析local模式能執行,yarn模式不能執行的原因是,使用者提交的protobuf-java-3.0.0.jar與SPARK_HOME/lib下的protobuf-java-2.5.0.jar衝突了,預設會優先載入SPARK_HOME/lib下的jar,而不是你程式的jar,所以會發生“ NoSuchMethodError”。

解決方法:提交引數新增 --conf spark.executor.extraClassPath=$user_jars

如下圖所示,注意protobuf-java-3.0.0.jar包要分發到所有節點

image.png

此類問題相關引數總結:

屬性名稱 預設值 含義
spark.driver.extraClassPath (none) 附加到driver的classpath的額外的classpath實體。這個設定存在的主要目的是Spark與舊版本的向後相容問題。使用者一般不用設定這個選項
spark.executor.extraClassPath (none) 附加到executors的classpath的額外的classpath實體。這個設定存在的主要目的是Spark與舊版本的向後相容問題。使用者一般不用設定這個選項
spark.driver.userClassPathFirst false 實驗性)當在driver中載入類時,是否使用者新增的jar比Spark自己的jar, 優先順序高。這個屬性可以降低Spark依賴和使用者依賴的衝突。它現在還是一個實驗性的特徵。
spark.executor.userClassPathFirst false 實驗性)當在executor中載入類時,是否使用者新增的jar比Spark自己的jar優先順序高。這個屬性可以降低Spark依賴和使用者依賴的衝突。它現在還是一個實驗性的特徵。

相關推薦

spark on yarn執行產生jar衝突問題

1.1 問題描述 Spark Streaming程式解析protobuf序列化的資料時,--jars 來新增依賴的protobuf-java-3.0.0.jar包,使用local模式程式正常,使用yarn模式時會報找不到方法的錯誤,如下所示: 1.2 解決方法 分析local模式能執行,yarn模式不能執行

spark on yarn執行產生jar錯誤及解決辦法

1、本地執行出錯及解決辦法 當執行如下命令時: ./bin/spark-submit \ --class org.apache.spark.examples.mllib.JavaALS \ --master local[*] \ /opt/cloudera/p

Spark面試:Spark on yarn 執行流程

一: Spark on YARN能讓Spark計算模型在雲梯YARN叢集上執行,直接讀取雲梯上的資料,並充分享受雲梯YARN叢集豐富的計算資源。 二: 基於YARN的Spark作業首先由客戶端生成作業資訊,提交給ResourceManager, ResourceManager在某一 Node

spark整合es遇到Guava jar衝突問題:java.lang.NoSuchMethodError

錯誤資訊: Caused by: java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurr

spark on yarn作業執行jar快取優化

原文地址 參考自下文 這幾天一直在追查spark on yarn的作業執行中的jar包分發,以及執行後的jar包刪除的問題。從一開始的毫無頭緒,到後來逐漸清晰,到後來通過hadoop的兩個很簡單的引數配置解決了問題。不得不說,雖然問題不大,對某些大牛們來說也

Spark的分散式執行模式 Local,Standalone, Spark on Mesos, Spark on Yarn, Kubernetes

Spark的分散式執行模式 Local,Standalone, Spark on Mesos, Spark on Yarn, Kubernetes Local模式 Standalone模式 Spark on Mesos模式 Spark on Yarn

大資料之Spark(八)--- Spark處理,Spark的應用的部署模式,Spark叢集的模式,啟動Spark On Yarn模式,Spark的高可用配置

一、Spark閉包處理 ------------------------------------------------------------ RDD,resilient distributed dataset,彈性(容錯)分散式資料集。 分割槽列表,fun

spark學習-執行spark on yarn 例子和檢視日誌.

要通過web頁面檢視執行日誌,需要啟動兩個東西 hadoop啟動jobhistoryserver和spark的history-server. 相關配置檔案: etc/hadoop/mapred-site.xml <!--配置jobh

spark on yarn作業執行流程

Spark是一個分散式資料快速分析專案。它的核心技術是彈性分散式資料集(Resilient Distributed Datasets),提供了比MapReduce豐富的模型,可以快速在記憶體中對資料集進行多次迭代,來支援複雜的資料探勘演算法和圖形計算演算法。 Spark

Spark on Yarn任務執行的日誌收集

Spark on yarn 環境:基於CDH的大資料元件平臺。 yarn服務有resource manager和node manager組成,在yarn上執行的任務,由一個ApplicationMaster和多個container組成。 Spark 執行由一個drive

spark on yarn圖形化任務監控利器:History-server幫你理解spark的任務執行過程

在spark on yarn任務進行時,大家都指導用4040埠監控(預設是,設定其他或者多個任務同時會遞增等例外); 辣麼,任務結束了,還要看圖形化介面,那就要開history-server了。CDH安裝spark on yarn的時候,就自動安裝了history的例項。

Spark on YARN cluster & client 模式作業執行全過程分析

原文連結列表如下,致謝: https://www.iteblog.com/archives/1223.html https://www.iteblog.com/archives/1189.html https://www.iteblog.com/archives/1191.html

記2018最後一次問題診斷-Spark on Yarn所有任務執行失敗

  2018的最後一個工作日,是在調式和診斷問題的過程中度過,原本可以按時下班,畢竟最後一天了,然鵝,確是一直苦苦掙扎。   廢話不多說,先描述一下問題:有一套大資料環境,是CDH版本的,總共4臺機子,我們的應用程式與大資料叢集之前已經整合完畢,除錯沒有問題,可以執行Spark任務。而與這個叢集整合是17年

Spark on YARN client模式作業執行全過程分析

      在前篇文章中我介紹了Spark on YARN叢集模式(yarn-cluster)作業從提交到執行整個過程的情況(詳情見《Spark on YARN叢集模式作業執行全過程分析》),我們知道Spark on yarn有兩種模式:yarn-cluster和yarn-client。這兩種模式作業雖然都是

spark任務執行jar

spark的jar包沒必要把所有相關的依賴都打進一個jar包中,因為這樣會把spark、hadoop本身相關的jar包也打進去,但是這些依賴在用spark-submit命令執行時,會自動載入部署環境中已有的。 /opt/cloudera/parcels/CDH/bin/s

Spark on YARN簡介與執行wordcount(master、slave1和slave2)(博主推薦)

前期部落格 Spark On YARN模式   這是一種很有前景的部署模式。但限於YARN自身的發展,目前僅支援粗粒度模式(Coarse-grained Mode)。這是由於YARN上的Container資源是不可以動態伸縮的,一旦Container啟動之後,可使用

Spark on Yarn解密及執行流程

一、Hadoop Yarn解析 1,Yarn是Hadoop推出整個分散式(大資料)叢集的資源管理器,負責資源的管理和分配,基於Yarn我們可以在同一個大資料叢集上同時執行多個計算框架,例如Spark、MapReduce、Storm等; 2,Yarn基本工作

Spark on yarn Intellij ide 安裝,編譯,打包,叢集執行 詳解

說明:已經安裝好hadoop2.2.0 完全分佈,scala,spark已安裝好,環境配置完畢;主機為hadoop-master,hadoop-slave 一.intellij 安裝(centos6.5系統) 步驟一。 1.將上述兩個安裝

Spark on yarn--幾種提交叢集執行spark程式的方式

今天看了spark的yarn配置,本來想著spark在hadoop叢集上啟動之後,還需要配置spark才能讓yarn來管理和排程spark的資源,原來啟動master和worker之後就會讓yarn來

log4j jar衝突導致 無日誌檔案產生

前記      改了個小需求,引入了第三方jar包,在日常環境測試沒有問題,釋出到預釋出環境,應用無法啟動,檢視後臺日誌,卻找不到日誌檔案。     無日誌,真是兩眼一抹黑啊。有經驗的同事說,可能是jar衝突引起。 對比預釋出和正式環境, war包的內容,發現果真是這樣。