Hadoop是一個很神奇的創造,但它發展過快而表現出一些瑕疵。我愛大象,大象也愛我。不過這世上沒什么是完美的,有的時候,即使是再好的朋友間也會起沖突。就像我和Hadoop之間的存在斗爭一樣。下面是我列舉的12個痛點。

1. Pig vs. Hive
你在 Pig 里用不了 Hive UDFS。在 Pig 中你必須用 HCatalog 來訪問 Hive 表。你在 Hive 里用不了Pig UDFS。在 Hive 中無論是多么小的額外功能,我都不會感覺像寫一個 Pig 腳本或者“啊,如果是在 Hive 里我可以輕易地完成”,尤其是當我寫 Pig 腳本的時候,當我在寫其中之一的時候,我經常想,“要是能跳過這堵墻就好了!”。
2. 被迫存儲我所有共享庫到 HDFS
這是 Hadoop 的復發機制。如果你保存你的 Pig 腳本到 HDFS 上,那么它會自動假設所有的 JAR 文件都會在你那里一樣。這種機制在 Oozie 和別的工具上也出現了。這通常無關緊要,但有時,必須存儲一個組織的共享庫版本就很痛苦了。還有,大多數時候,你安裝在不同客戶端的相同 JAR,那么為什么要保存兩次?這在 Pig 中被修復了。別的地方呢?
3. Oozie
Debug 并不好玩,所以文檔里有很多老式的例子。當你遇到錯誤,可能并不是你做錯了什么。可能是配置打印錯誤或者格式驗證錯誤,統稱“協議錯誤”。很大程度上,Oozie 就像 Ant 或 Maven,除了分布式的,不需要工具、有點易錯。
4. 錯誤信息
你在開玩笑,對吧?說到錯誤信息。我最喜歡的是任何 Hadoop 工具說的,“失敗,無錯誤返回,”可以翻譯成“發生了什么,能找到是你的運氣。”
5. Kerberos 身份認證協議
如果你想要想出一種相對安全的 Hadoop,你就要用到 Kerberos。記住 Kerberos 和它是多么的老舊?所以你只要 LDAP,除了它 Hadoop 中的都沒有被集成:沒單點登錄,無 SAML,無 OAuth,無證書傳遞(相反地,它會重新認證)。更有趣的是,Hadoop 是生態系統的每一個部分都寫它自己的LDAP 支持,所以這就是矛盾的。
6. Knox 數據保護應用程序
因為用 Java 寫一個合適的 LDAP 連接器需要做至少100次才能保證正確。哎呀,看看那代碼。它并不真正地有效維護好連接池。實際上,我想 Knox 就是為 Java 或者一時的熱情而創造出來的。你可以通過一個寫好的 Apache config,mod_proxy,mod_rewrite 做同樣的事情。實際上,那是 Knox 的基礎,除了在 Java 中。對于啟動,在認證之后,它不傳遞信息給 Hive 或 WebHDFS 或你正在訪問的東西,但是會啟動它。
7. Hive 不會讓我制作外部表格,但也不會刪除它
如果你讓 Hive 來管理表格,要是你終止對表格的使用的話,它會自動將它們全部刪除。如果你有一個外部表格,它就不會將它刪除。為什么不能有一個“也刪除外部表”的功能呢?為什么我必須在外部刪除?還有,當 Hive 特別是與 RDBMS 一起應用時,為什么不能有 Update 和 Delete 功能?
8. Namenode 失敗
Oozie、Knox 和 Hadoop 的其它部分都不遵循新的 Namenode HA 資料。你可以在 Hadoop 中啟用HA,只要你不使用與之相關的東西。
9. 文檔
抱怨都是陳詞濫調了,但是還是檢查一下。37行錯了——更糟糕的是,網絡上的所有文章都錯了。這證明沒有人會費心在執行前檢查一下。Oozie 文檔更可怕,大多數例子對它給的格式校驗都無法通過。
10. Ambari 覆蓋范圍
我曾批評過Ambari,就我所知的 Hadoop 架構來說,Ambari 能夠工作真是很神奇。那么,他們可能會抱怨,Ambari 的缺點到底在哪?例如,Ambari 不能安裝,或者有些情況下不能正確安裝,包括多種HA 設置,Knox 等等。我確定它會變得更好,但是“手動安裝之后”或者“我們已經創建了一個備份腳本”,這些不應該出現在我的郵件和文檔中。
11. 知識庫管理
說到Ambari,當知識正在升級的時候,你有完成過安裝嗎?我有過,但是它表現的并不好。實際上,有時候它找到了最快的鏡像。Ambari 并不關注它下載下來的東西是否兼容。你可以用你自己的方式配置那部分,但是它在數百個 Hadoop 節點上仍然會報說你安裝有誤。
12. Null 指針異常
我經常在運行過程中遇到這樣的轉換錯誤,換句話說,他們不應該在Pig、Hive 等數據查詢和處理工具中被表示為 Null 指針異常。對任何相似的抱怨,都會有的答復,“歡迎補丁!”或者“嘿,我正在處理。”
Hadoop 已經出來很長時間了,它一直是我最喜歡的工具之一,但是那些令人發狂的尖銳問題也使我很生氣。只是希望開發者能多用心解決這些問題。不知道你有沒有相似的 Hadoop bug 可以拿出來和大家分享一下,目的是督促Hadoop能做得更好!
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:這12件事讓我很討厭Hadoop