除錯這塊**的時候遇到乙個很奇怪的問題,就是改動的**加進去後
,發現有些新增**是能執行的,有些不能執行,stack的情況如下:
daemon thread [org.apache.hadoop.hdfs.server.datanode.dataxceiver@2ef9748f] (suspended)
noclassdeffounderror.(string) line: 57
blockreceiver.receiveblock(dataoutputstream, datainputstream, dataoutputstream, string, blocktransferthrottler, int) line: 586
dataxceiver.writeblock(datainputstream) line: 398
dataxceiver.run() line: 107
daemon(thread).run() line: 636
這裡問題的原因就應該是新增的這個類無法找到,可是為啥會找不到啊? 真是讓人抓狂啊~
class blockreceiver
static private class packet
class hdfschunker //我的自定義類, 這裡為什麼會報noclassdeffounderror.(string) line: 57呢?
} 媽蛋的,是因為hdfschunker 在初始化的時候,需要初始化乙個mongo引用,但是
mongodb的jar包沒引入,結果丟擲乙個mongodbexception異常,而編譯器又找不到這個異常類,所以悲劇。,。。。。。。
妹啊, 遇到問題一定要看日誌啊啊啊啊啊啊啊啊啊啊啊啊, eclipse 遠端除錯不靠譜有木有有木有啊~
修改HDFS遇到的問題
改hdfs遇到個問題,需要每個datanode上面的資料塊在當前寫入的時候能夠知道當前其所屬的分布式檔案的名稱,但是查了 後發現 塊所屬的檔名只能在namenode包裡的blocksmap才能查到資料塊所屬檔案等一些元資料資訊,具體見 為了方便所有的塊都能讀取到當前寫入的檔名,改寫了dfsclien...
DataNode沒有啟動的問題
出現現象 op ssh all.sh jps 程序看不到datanode 原因 dataname初始化了兩次,導致datanode的clusterid 和 namenode的clusterid 不匹配。解決辦法 通過hdfs site.xml檔案,找到datanode和namenode配置的dir路...
Linux下MySql變數修改遇到的問題記錄
專案上需要使用mysql的過程來自動化構建一批資料,但是呼叫的時候總是報找不到表或者過程 1 首先終端連線mysql後發現,無論表還是過程在資料庫中都是存在的,排除了不存在的可能 2 對比後發現是表或者過程的大小寫不匹配,如果修改過程或者表名的話,會涉及太多的操作,試驗後,純粹的耽誤功夫 3 那麼就...