本篇文章給大家分享的是有關(guān)大數(shù)據(jù)開發(fā)中怎么解決Windows下開發(fā)環(huán)境常遇的幾個(gè)問題,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
雞西梨樹網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,雞西梨樹網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為雞西梨樹近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的雞西梨樹做網(wǎng)站的公司定做!
大數(shù)據(jù)開發(fā)的測試環(huán)境,很多人不以為然,其實(shí)重復(fù)的打包,上傳,測試雖然每次時(shí)間大概也就幾分鐘,但是積累起了往往會(huì)花費(fèi)很多的時(shí)間,但是一個(gè)完整的測試環(huán)境在生產(chǎn)環(huán)境下往往難形成閉環(huán),拋開堡壘機(jī)權(quán)限不說,hadoop,hive,spark等服務(wù)端的權(quán)限也會(huì)難倒一群英雄好漢,主要是太繁瑣了,測試環(huán)境的搭建,我這里采用Docker容器,適合多端遷移,而且容器的鏡像大小也比虛擬機(jī)小很多,難度上說,也只需要掌握幾個(gè)基礎(chǔ)的命令即可,除非想引入K8s等技術(shù),但測試環(huán)境完全沒必要,Docker環(huán)境搭建大數(shù)據(jù)平臺(tái)的系列從這里大數(shù)據(jù)開發(fā)-Docker-使用Docker10分鐘快速搭建大數(shù)據(jù)環(huán)境,Hadoop、Hive、Spark、Hue、Kafka、ElasticSearch.....[https://blog.csdn.net/hu_lichao/article/details/112125800](https://blog.csdn.net/hu_lichao/article/details/112125800)
,環(huán)境搭建好了,可能還是會(huì)有一些特殊的問題
在Win操作系統(tǒng),idea下開發(fā)hadoop程序或者Spark程序,那么你肯定會(huì)遇到下面的問題
之所以出現(xiàn)上面的問題,Spark程序和Hadoop在idea寫編寫的程序是依賴hadoop的環(huán)境的,所以要提前配置好,并且設(shè)定HADOOP_HOME
,不一定需要$HADOOP_HOME/bin
到PATH
,后者是給快捷方式用的
注意:配置完環(huán)境變量后要將idea,退出后重進(jìn),不能**Restart
**
錯(cuò)誤如下圖
出現(xiàn)這個(gè)問題的原因是版本沖突,即使看起來不那么明顯,可能是spark依賴的包中的hadoop和hadoop依賴的版本不一致https://stackoverflow.com/questions/45470320/what-is-the-kerberos-method,具體不一致的問題,可能各有不同,解決難易程度因人而異????????????,我的解決方式就是exclude
掉spark
的低版本hadoop
這個(gè)問題,我是這么遇到的,如下程序:
// results.foreach(System.out::println); //輸出沒有序列化 results.foreach(x -> System.out.println(x));
首先foreach
是action算子,需要將task上的數(shù)據(jù)拉到driver上來遍歷顯示,就需要序列化,如果習(xí)慣了Java的lambda寫法,可能會(huì)寫第一種,第一種寫法的問題是沒有序列化,序列化是在閉包里完成的,而使用靜態(tài)方法調(diào)用的方式,沒有閉包化,所以會(huì)報(bào)序列化的問題,寫成第二種就可以了,System.out是一個(gè)final static
對(duì)象。
public final static PrintStream out = null;
以上就是大數(shù)據(jù)開發(fā)中怎么解決Windows下開發(fā)環(huán)境常遇的幾個(gè)問題,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。