Hadoop 2.x與3.x 22點(diǎn)比較,Hadoop 3.x比2.x的改進(jìn)
問題導(dǎo)讀
1.Hadoop3.x通過什么方式來容錯(cuò)?
2.Hadoop3.x存儲開銷減少了多少?
3.Hadoop3.x MR API是否兼容hadoop1.x?
一、目的
在這篇文章中,我們將討論Hadoop 2.x與Hadoop 3.x之間的比較。 Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么區(qū)別?
二、Hadoop 2.x與Hadoop 3.x比較
本節(jié)將講述Hadoop 2.x與Hadoop 3.x之間的22個(gè)差異。 現(xiàn)在讓我們逐一討論
2.1License
Hadoop 2.x - Apache 2.0,開源
Hadoop 3.x - Apache 2.0,開源
2.2支持的最低Java版本
Hadoop 2.x - java的最低支持版本是java 7
Hadoop 3.x - java的最低支持版本是java 8
2.3容錯(cuò)
Hadoop 2.x - 可以通過復(fù)制(浪費(fèi)空間)來處理容錯(cuò)。
Hadoop 3.x - 可以通過Erasure編碼處理容錯(cuò)。
2.4數(shù)據(jù)平衡
Hadoop 2.x - 對于數(shù)據(jù)平衡使用HDFS平衡器。
Hadoop 3.x - 對于數(shù)據(jù)平衡使用Intra-data節(jié)點(diǎn)平衡器,該平衡器通過HDFS磁盤平衡器CLI調(diào)用。
2.5存儲Scheme
Hadoop 2.x - 使用3X副本Scheme
Hadoop 3.x - 支持HDFS中的擦除編碼。
2.6存儲開銷
Hadoop 2.x - HDFS在存儲空間中有200%的開銷。
Hadoop 3.x - 存儲開銷僅為50%。
2.7存儲開銷示例
Hadoop 2.x - 如果有6個(gè)塊,那么由于副本方案(Scheme),將有18個(gè)塊占用空間。
Hadoop 3.x - 如果有6個(gè)塊,那么空間9個(gè)塊,中6塊空間,3塊用于奇偶校驗(yàn)。
2.8YARN時(shí)間線服務(wù)
Hadoop 2.x - 使用具有可伸縮性問題的舊時(shí)間軸服務(wù)。
Hadoop 3.x - 改進(jìn)時(shí)間線服務(wù)v2并提高時(shí)間線服務(wù)的可擴(kuò)展性和可靠性。
2.9默認(rèn)端口范圍
Hadoop 2.x - 在Hadoop 2.0中,一些默認(rèn)端口是Linux臨時(shí)端口范圍。所以在啟動(dòng)時(shí),他們將無法綁定。
Hadoop 3.x - 但是在Hadoop 3.0中,這些端口已經(jīng)移出了短暫的范圍。
2.10工具
Hadoop 2.x - 使用Hive,pig,Tez,Hama,Giraph和其他Hadoop工具。
Hadoop 3.x - 可以使用Hive,pig,Tez,Hama,Giraph和其他Hadoop工具。
2.11兼容的文件系統(tǒng)
Hadoop 2.x - HDFS(默認(rèn)FS),F(xiàn)TP文件系統(tǒng):它將所有數(shù)據(jù)存儲在可遠(yuǎn)程訪問的FTP服務(wù)器上。 Amazon S3(簡單存儲服務(wù))文件系統(tǒng)Windows Azure存儲Blob(WASB)文件系統(tǒng)。
Hadoop 3.x - 它支持所有前面以及Microsoft Azure Data Lake文件系統(tǒng)。
2.12Datanode資源
Hadoop 2.x - Datanode資源不專用于MapReduce,我們可以將它用于其他應(yīng)用程序。
Hadoop 3.x - 此處數(shù)據(jù)節(jié)點(diǎn)資源也可用于其他應(yīng)用程序。
2.13MR API兼容性
Hadoop 2.x - 與Hadoop 1.x程序兼容的MR API,可在Hadoop 2.X上執(zhí)行
Hadoop 3.x - 此處,MR API與運(yùn)行Hadoop 1.x程序兼容,以便在Hadoop 3.X上執(zhí)行
2.14支持Microsoft Windows
Hadoop 2.x - 它可以部署在Windows上。
Hadoop 3.x - 它也支持Windows。
2.15插槽/容器
Hadoop 2.x - Hadoop 1適用于插槽的概念,但Hadoop 2.X適用于容器的概念。通過容器,我們可以運(yùn)行通用任務(wù)。
Hadoop 3.x - 它也適用于容器的概念。
2.16單點(diǎn)故障
Hadoop 2.x - 具有SPOF的功能,因此只要Namenode失敗,它就會自動(dòng)恢復(fù)。
Hadoop 3.x - 具有SPOF的功能,因此只要Namenode失敗,它就會自動(dòng)恢復(fù),無需人工干預(yù)就可以克服它。
2.17HDFS聯(lián)盟
Hadoop 2.x - 在Hadoop 1.0中,只有一個(gè)NameNode來管理所有Namespace,但在Hadoop 2.0中,多個(gè)NameNode用于多個(gè)Namespace。
Hadoop 3.x - Hadoop 3.x還有多個(gè)名稱空間用于多個(gè)名稱空間。
2.18可擴(kuò)展性
Hadoop 2.x - 我們可以擴(kuò)展到每個(gè)群集10,000個(gè)節(jié)點(diǎn)。
Hadoop 3.x - 更好的可擴(kuò)展性。 我們可以為每個(gè)群集擴(kuò)展超過10,000個(gè)節(jié)點(diǎn)。
2.19更快地訪問數(shù)據(jù)
Hadoop 2.x - 由于數(shù)據(jù)節(jié)點(diǎn)緩存,我們可以快速訪問數(shù)據(jù)。
Hadoop 3.x - 這里也通過Datanode緩存我們可以快速訪問數(shù)據(jù)。
2.20HDFS快照
Hadoop 2.x - Hadoop 2增加了對快照的支持。 它為用戶錯(cuò)誤提供災(zāi)難恢復(fù)和保護(hù)。
Hadoop 3.x - Hadoop 2也支持快照功能。
2.21平臺
Hadoop 2.x - 可以作為各種數(shù)據(jù)分析的平臺,可以運(yùn)行事件處理,流媒體和實(shí)時(shí)操作。
Hadoop 3.x - 這里也可以在YARN的頂部運(yùn)行事件處理,流媒體和實(shí)時(shí)操作。
2.22群集資源管理
Hadoop 2.x - 對于群集資源管理,它使用YARN。 它提高了可擴(kuò)展性,高可用性,多租戶。
Hadoop 3.x - 對于集群,資源管理使用具有所有功能的YARN。
hadoop3.X比hadoop2.x的改進(jìn)
Common主要改進(jìn):
Shell script rewrite
過時(shí)API刪除
HDFS改進(jìn):
支持erasure編碼
支持超過兩個(gè)namenode
數(shù)據(jù)均衡
多個(gè)服務(wù)端口發(fā)生變化
Yarn改進(jìn):
YARN Timeline Service v.2
Support for Opportunistic Containers and Distributed Scheduling
MapRduece改進(jìn):
MapReduce task-level native optimization
Reworked daemon and task heap management
其他新特性:
Shared client jars
三、結(jié)論
正如我們已經(jīng)討論了Hadoop 2.x與Hadoop 3.x之間的22個(gè)重要差異和3.x的改進(jìn),現(xiàn)在我們可以看到Hadoop 2和Hadoop 3哪個(gè)更好。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Hadoop之NameNode Federation圖文詳解
- Hadoop 2.X新特性回收站功能的講解
- Hadoop計(jì)數(shù)器的應(yīng)用以及數(shù)據(jù)清洗
- ubantu 16.4下Hadoop完全分布式搭建實(shí)戰(zhàn)教程
- ubuntu docker搭建Hadoop集群環(huán)境的方法
- 在CentOS中搭建Hadoop的詳細(xì)步驟
- hadoop的wordcount實(shí)例代碼
- Java/Web調(diào)用Hadoop進(jìn)行MapReduce示例代碼
- Hadoop中namenode和secondarynamenode工作機(jī)制講解
相關(guān)文章
詳解kubelet?創(chuàng)建pod流程代碼圖解及日志說明
這篇文章主要為大家介紹了詳解kubelet?創(chuàng)建pod流程代碼圖解及日志說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09云原生技術(shù)kubernetes之volumes容器的使用
這篇文章主要為大家介紹了云原生技術(shù)kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Rainbond對前端項(xiàng)目Vue及React的持續(xù)部署
這篇文章主要為大家介紹了Rainbond對前端項(xiàng)目Vue及React的持續(xù)部署,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04安裝ingress-nginx遇到的一些坑實(shí)戰(zhàn)記錄
ingress是kubernetes集群對外暴露服務(wù)的一種方式,下面這篇文章主要給大家介紹了關(guān)于安裝ingress-nginx遇到的一些坑,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09tkestack/gpu-manager在k8s1.23版本之后的使用方法
這篇文章主要介紹了tkestack/gpu-manager在k8s1.23版本之后的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) 
service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個(gè)服務(wù)可以通過 service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實(shí)現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下2022-10-10Linux安裝Kubernetes(k8s)超詳細(xì)教程
Kubernetes是一個(gè)輕便的和可擴(kuò)展的開源平臺,用于管理容器化應(yīng)用和服務(wù),通過Kubernetes能夠進(jìn)行應(yīng)用的自動(dòng)化部署和擴(kuò)縮容,這篇文章主要給大家介紹了關(guān)于Linux安裝Kubernetes(k8s)的相關(guān)資料,需要的朋友可以參考下2024-07-07Kubekey安裝Kubernetes-1.24.8的詳細(xì)過程
這篇文章主要介紹了Kubekey安裝Kubernetes-1.24.8的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05