您好,登錄后才能下訂單哦!
本篇內容介紹了“Spark開發過程當中遇到的坑有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
先說背景:
3臺服務器,hadoop, hbase, spark都是集群環境,都建在這3臺服務器上。
計劃用driver的方式,遠程執行spark application。
坑1:開發用的是ubuntu虛擬機,自動生成的ip地址,跟服務器集群不在一個網段上,導致服務器集群無法正常和driver通信,之后把虛擬機網絡設置為橋接模式,done!
坑2:關于setJars,大部分的資料包括apache官方的資料,都是基于spark submit或者是shell方式給出的例子,根本沒提到setJars什么事,導致出現各種各樣的莫名其妙的問題,后來才知道需要用setJars把driver的jar包給到spark cluster,done!
坑3:還是關于setJars,由于需要訪問hbase,所以引入了hbase的jar包,最初以為把jar包放到lib當中,包含在driver的jar當中即可,后來發現不行,需要單獨的把以來的jar包給過去,done!(能不能在spark的環境變量當中,設置一下依賴的外部jar包?嘗試了SPARK_CLASSPATH,發現不行,不知道有什么其他的辦法。)
坑4:額~~~,還是關于setJars,使用saveAsHadoopDataset直接把RDD存到hbase當中,代碼看我之前的帖子,啟動輸出一些日志之后,日志就不動了!各種找問題,到處發帖子求助!沒人搭理!最后自己把spark日志等級調到debug,發現了sockettimeoutexception,又發現是連接的10620端口,懷疑端口占用,就把region server port改成了別的,錯誤依舊。無奈去吃飯,吃完飯回來,spark經過n次的重試終于放棄,然后給出了一個錯誤日志,居然是缺少jar包。加了個metrics-core-2.2.0.jar,done!
“Spark開發過程當中遇到的坑有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。