1.報錯:Lost task 0.0 in stage 2.0: java.lang.IllegalArgumentException: requirement failed
解決:意思是參數(shù)缺失育瓜,可根據(jù)下面的log提示找出是哪個類調(diào)用時參數(shù)出現(xiàn)問題
2.報錯java.lang.NumberFormatException: empty String
解決:數(shù)字格式錯誤救鲤,根據(jù)后面的String可以判斷弄抬,是轉(zhuǎn)換錯誤队秩。要么是string 轉(zhuǎn)成double的時候string是空的奈嘿,要么是此處不應(yīng)該有轉(zhuǎn)換
3.報錯Current usage: 2.0 GB of 2 GB physical memory used; 2.5 GB of 2.1 GB virtual memory used. Killing container.
解決:用的虛擬內(nèi)存超過了這個數(shù)值暮胧,故報錯 。
yarn.nodemanager.vmem-pmem-ratio的比例采用默認(rèn)的2.1该押,根據(jù)這個比例 計算出來的預(yù)分配的虛擬內(nèi)存為2.1G疗杉,而在實際運(yùn)行中,發(fā)現(xiàn)單個reducetask需要2.5G的虛擬內(nèi)存蚕礼,因此導(dǎo)致了異常的出現(xiàn)烟具。解決辦
法:在啟動Yarn是調(diào)節(jié)虛擬內(nèi)存率或者應(yīng)用運(yùn)行時調(diào)節(jié)內(nèi)存大小。
4.java.nio.charset.MalformedInputException
解決:文件編碼錯誤
5.Error initializing SparkContext
解決:可能是scala/jdk和yarn版本沖突
6.報錯:The ratio of reported blocks 1.0000 has reached the threshold 0.9990
解決:hadoop還處于安全狀態(tài)奠蹬,可能是才啟動的原因铛嘱。
7.報錯:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources
沒可用資源啦神僵,SPARK_WORKER_MEMORY可以設(shè)置高一點,或者調(diào)整其他app的情況抚吠,也可能內(nèi)存泄漏
8.報錯:Failed to construct kafka consumer
解決:這個錯誤一般是由jar包沖突造成的福铅,比如已有clients.jar由導(dǎo)入了streams.jar。
9.報錯:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop
解決:這個問題話費了不少時間割以。在hive啟動時報錯org/apache/hadoop/hive/conf/HiveVariableS金度。但是問題是出在hadoop的hadoop.env.sh应媚。在配置HADOOP_CLASSPATH的時候忘記:HADOOP_CLASSPATH严沥,導(dǎo)致覆蓋而出錯。這個問題十分關(guān)鍵中姜,因為在liunx下隨意改動:會出很大問題消玄,比如把:/bin這些刪除了跟伏,導(dǎo)致你命令行很多基礎(chǔ)命令不能夠使用。
10.報錯:Caused by: javax.jdo.JDODataStoreException:Required table missing : "VERSION
" in Catalog "" Schema"". DataNucleus requires this table to perform its persistenceoperations. Either your MetaData is incorrect, or you need to enable"datanucleus.autoCreateTables"
datanucleus.autoCreateSchema=true
表示在操作JDO API的時候?qū)?yīng)的數(shù)據(jù)庫表還沒有創(chuàng)建的話會根據(jù)實體的元數(shù)據(jù)自動創(chuàng)建表
另外hive.metastore.schema.verification這個參數(shù):
防止架構(gòu)版本不兼容時的 Metastore 操作翩瓜∈馨猓考慮將此設(shè)置為“True”,以減少 Metastore 操作期間發(fā)生架構(gòu)損壞的可能性
注意,將此屬性設(shè)置為“True”,還會將 datanucleus.autoCreateSchema 屬性設(shè)置為“False”
11.yarn的資源管理器一直起不來,而配置又沒有問題
解決:重啟機(jī)器
12:報錯Found class jline.Terminal, but interface was expected
解決:這是我遇到最大的坑兔跌。按照網(wǎng)上說法勘高,是因為hadoop下的jline.jar和hive下的jline.jar版本不一樣造成。于是我將兩者統(tǒng)一坟桅。照樣報錯华望,于是我又把hive下的包去掉,一樣的報錯仅乓。將hadoop包去掉赖舟,報確實jline的錯。那會不會是hadoop根本沒有去檢驗hive的包夸楣,或者說是hadoop拿自己的包和其他人的jline比較去了宾抓?于是我打開env.sh文件,把CLASS_PATH中hbase注解掉豫喧,發(fā)現(xiàn)能夠重啟石洗。可能是hbase的包和hive造成沖突紧显?如有答案的朋友請指教
13.報錯Problem accessing /hwi/index.jsp. Reason: JSP support not configured
在啟動hwi后劲腿,發(fā)現(xiàn)jetty和jsp不支持。于是導(dǎo)入jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar鸟妙。
14.Call From yhw-X405UA/127.0.1.1 to localhost:6001 failed on connection exception: java.net.ConnectException: 拒絕連接
出現(xiàn)拒絕鏈接焦人,我先去yarn處的日志找了找,發(fā)現(xiàn)了些類似于內(nèi)存不夠的錯誤重父,我解決之后發(fā)現(xiàn)還是錯誤花椭。于是找到官網(wǎng),官網(wǎng)的建議如下
檢查客戶端使用的主機(jī)名是否正確房午。如果它在Hadoop配置選項中:仔細(xì)檢查矿辽,嘗試手動ping。
檢查客戶端嘗試與之通話的IP地址是否正確郭厌。
確保例外中的目標(biāo)地址不是0.0.0.0 - 這意味著您實際上沒有為客戶端配置該服務(wù)的實際地址袋倔,而是提取服務(wù)器端屬性,告訴它要監(jiān)聽每個連接端口折柠。
如果錯誤消息顯示遠(yuǎn)程服務(wù)位于“127.0.0.1”或“l(fā)ocalhost”宾娜,則表示配置文件告訴客戶端該服務(wù)位于本地服務(wù)器上。如果您的客戶端正在嘗試與遠(yuǎn)程系統(tǒng)通信扇售,那么您的配置將被破壞前塔。
檢查在/ etc / hosts中沒有映射到127.0.0.1或127.0.1.1的主機(jī)名條目(Ubuntu因此而臭名昭著)嚣艇。
使用服務(wù)器提供服務(wù)的匹配項檢查客戶端嘗試與之通信的端口。 netstat命令在那里很有用华弓。
在服務(wù)器上食零,嘗試telnet localhost <port>以查看端口是否在那里打開。
在客戶端上寂屏,嘗試使用telnet <server> <port>查看端口是否可以遠(yuǎn)程訪問贰谣。
嘗試從另一臺計算機(jī)連接到服務(wù)器/端口,看看它是否只是單個客戶端行為不端迁霎。
我們從端口號入手:在所有的配置文件中查找這個端口6001冈爹,最終在spark-defaults.conf中找到了它。是我不小心把路徑書寫錯誤...真是坑