mysql問題
-
mysql datetime 不支持值0000-00-00 00:00:00
裝載hive數(shù)據(jù)到mysql數(shù)據(jù)中報錯,無法插入0000...date值,就是由于
mysql不支持0000為datetime的值.不要在table中或在數(shù)據(jù)中將datetime的默認(rèn)值設(shè)置成0000..的形式
-
mysql query默認(rèn)會fetch所有的數(shù)據(jù)到內(nèi)存中
生產(chǎn)環(huán)境數(shù)據(jù)量非常大的時候,會導(dǎo)致OutOfMemoryError.
解決方法為設(shè)置mysql每次獲取一個block的數(shù)據(jù)而不是所有。
stmt.setFetchSize(num);
hadoop作業(yè)查錯
-
根據(jù)作業(yè)名或id找到對應(yīng)的作業(yè)
打開yarn RM對應(yīng)的web地址,根據(jù)作業(yè)名搜索對應(yīng)作業(yè).
作業(yè)在running狀態(tài)時可以在RM web查看job狀態(tài),mr job執(zhí)行結(jié)束日志會被收集到j(luò)obhistory server.
-
查看作業(yè)的具體配置
在jobhistory界面可查看job的具體配置。點擊左側(cè)邊欄job下的configuration鏈接,
可查看job具體的參數(shù)配置,包括hadoop相關(guān)配置參數(shù)及用戶自己配置的一些參數(shù)。其中source chain一欄指出了參數(shù)的來源,是來自于配置文件還是在程序中設(shè)置的(programatically)。
-
查看counters
有job級別的counters,也有task級別的counters。 counters被分為多個group,
有默認(rèn)的統(tǒng)計group,也可看到用戶自定義的group.通過查看counters的統(tǒng)計情況,可以確認(rèn)讀入寫出的數(shù)據(jù)量,讀入寫出的記錄數(shù), task的執(zhí)行時間等,可以幫助我們
從宏觀上判斷作業(yè)的執(zhí)行結(jié)果是否合理. -
查看日志的時候一定要view full log
開始展示的部分日志可能不是真實錯誤,一定要review full log查看錯誤.
關(guān)于日志查看的非常好的文章
https://discuss.pivotal.io/hc/en-us/articles/201925118-How-to-Find-and-Review-Logs-for-Yarn-MapReduce-Jobs
hadoop1 to hadoop2 drawbacks and improve
http://stackoverflow.com/questions/12992743/what-additional-benefit-does-yarn-bring-to-the-existing-map-reduce/35479769#35479769
四個方面分別是:scalable, avalability, resource utilization, multiple job types support