1. 程式人生 > >呼之欲出!比Spark快10倍的Hadoop3.0有哪些實用新特性?

呼之欲出!比Spark快10倍的Hadoop3.0有哪些實用新特性?

Apache hadoop 專案組最新訊息,hadoop3.x以後將會調整方案架構,將Mapreduce 基於記憶體+io+磁碟,共同處理資料。

其實最大改變的是hdfs,hdfs 通過最近black塊計算,根據最近計算原則,本地black塊,加入到記憶體,先計算,通過IO,共享記憶體計算區域,最後快速形成計算結果。

1. Hadoop 3.0簡介

Hadoop 2.0是基於JDK 1.7開發的,而JDK 1.720154月已停止更新,這直接迫使Hadoop社群基於JDK 1.8重新發佈一個新的Hadoop版本,而這正是hadoop 3.0。

Hadoop 3.0alpha版預計今年夏天釋出,

GA版本11月或12月釋出。

Hadoop 3.0中引入了一些重要的功能和優化,包括HDFS 可擦除編碼、多Namenode支援、MR Native Task優化、YARN基於cgroup的記憶體和磁碟IO隔離、YARN container resizing等。


2. Hadoop 3.0新特性

Hadoop 3.0在功能和效能方面,對hadoop核心進行了多項重大改進,主要包括:

2.1 Hadoop Common

1)精簡Hadoop核心,包括剔除過期的API和實現,將預設元件實現替換成最高效的實現(比如將FileOutputCommitter預設實現換為v2版本,廢除

hftp轉由webhdfs替代,移除Hadoop子實現序列化庫org.apache.hadoop.Records

2Classpath isolation以防止不同版本jar包衝突,比如google Guava在混合使用HadoopHBaseSpark時,很容易產生衝突。(https://issues.apache.org/jira/browse/HADOOP-11656

3Shell指令碼重構。 Hadoop 3.0Hadoop的管理指令碼進行了重構,修復了大量bug,增加了新特性,支援動態命令等。https://issues.apache.org/jira/browse/HADOOP-9902

2.2 Hadoop HDFS

1HDFS支援資料的擦除編碼,這使得HDFS在不降低可靠性的前提下,節省一半儲存空間。(https://issues.apache.org/jira/browse/HDFS-7285

2)多NameNode支援,即支援一個叢集中,一個active、多個standby namenode部署方式。注:多ResourceManager特性在hadoop 2.0中已經支援。(https://issues.apache.org/jira/browse/HDFS-6440

2.3 Hadoop MapReduce

1Tasknative優化。為MapReduce增加了C/C++map output collector實現(包括SpillSortIFile等),通過作業級別引數調整就可切換到該實現上。對於shuffle密集型應用,其效能可提高約30%。(https://issues.apache.org/jira/browse/MAPREDUCE-2841

2MapReduce記憶體引數自動推斷。在Hadoop 2.0中,為MapReduce作業設定記憶體引數非常繁瑣,涉及到兩個引數:mapreduce.{map,reduce}.memory.mbmapreduce.{map,reduce}.java.opts,一旦設定不合理,則會使得記憶體資源浪費嚴重,比如將前者設定為4096MB,但後者卻是“-Xmx2g”,則剩餘2g實際上無法讓java heap使用到。(https://issues.apache.org/jira/browse/MAPREDUCE-5785

2.4 Hadoop YARN

1)基於cgroup的記憶體隔離和IO Disk隔離(https://issues.apache.org/jira/browse/YARN-2619

2curator實現RM leader選舉(https://issues.apache.org/jira/browse/YARN-4438

3containerresizinghttps://issues.apache.org/jira/browse/YARN-1197

4Timelineserver next generation https://issues.apache.org/jira/browse/YARN-2928

以下是hadoop-3.0的最新引數

hadoop-3.0

  • HADOOP

    • Move to JDK8+

    • Classpath isolation on by defaultHADOOP-11656

    • Shell script rewriteHADOOP-9902

    • Move default ports out of ephemeral rangeHDFS-9427

  • HDFS

    • Removal of hftp in favor of webhdfsHDFS-5570

    • Support for more than two standbyNameNodesHDFS-6440

    • Support for Erasure Codes in HDFSHDFS-7285

  • YARN

  • MAPREDUCE

    • Derive heap size or mapreduce.*.memory.mb automaticallyMAPREDUCE-5785

在HDFS-7285中,實現了Erasure Coding這個新功能.鑑於此功能還遠沒有到釋出的階段,可能後面此塊相關的程式碼還會進行進一步的改造,因此只是做一個所謂的預分析,幫助大家提前瞭解Hadoop社群目前是如何實現這一功能的.本人之前也沒有接觸過Erasure Coding技術,中間過程也確實有些偶然,相信本文可以帶給大家收穫.

Erasure coding糾刪碼技術簡稱EC,是一種資料保護技術.最早用於通訊行業中資料傳輸中的資料恢復,是一種編碼容錯技術.他通過在原始資料中加入新的校驗資料,使得各個部分的資料產生關聯性.在一定範圍的資料出錯情況下,通過糾刪碼技術都可以進行恢復.下面結合圖片進行簡單的演示,首先有原始資料n個,然後加入m個校驗資料塊.如下圖所示:

Parity部分就是校驗資料塊,我們把一行資料塊組成為Stripe條帶,每行條帶由n個數據塊和m個校驗塊組成.原始資料塊和校驗資料塊都可以通過現有的資料塊進行恢復,原則如下:

如果校驗資料塊發生錯誤,通過對原始資料塊進行編碼重新生成如果原始資料塊發生錯誤, 通過校驗資料塊的解碼可以重新生成。

而且m和n的值並不是固定不變的,可以進行相應調整。可能有人會好奇,這其中到底是什麼原理呢? 其實道理很簡單,你把上面這圖看成矩陣,由於矩陣的運算具有可逆性,所以就能使資料進行恢復,給出一張標準的矩陣相乘圖,大家可以將二者關聯。

3.Hadoop3.0總結

Hadoop 3.0alpha版預計今年夏天釋出,GA版本11月或12月釋出。

Hadoop 3.0中引入了一些重要的功能和優化,包括HDFS可擦除編碼、多Namenode支援、MR Native Task優化、YARN基於cgroup的記憶體和磁碟IO隔離、YARN container resizing等。

相關推薦

呼之欲出Spark10Hadoop3.0哪些實用特性

Apache hadoop 專案組最新訊息,hadoop3.x以後將會調整方案架構,將Mapreduce 基於記憶體+io+磁碟,共同處理資料。 其實最大改變的是hdfs,hdfs 通過最近black塊計算,根據最近計算原則,本地black塊,加入到記憶體,先計算,通過

一個 webpack 10的打包工具

作為奇舞團的一個小小程式媛,每天都在不斷地接受新知識,PostCSS剛學完,PostHTML又出來了。剛研究明白Rollup的配置,又有一個橫空出世的打包工具——Parceljs。我本來是拒絕的,畢竟在這個充滿誘惑的年代,我要維持自己內心的純潔,但當我開啟Parcel的官網,

TDengine能Hadoop10?

之前對國產的時序大資料儲存引擎 TDengine 感興趣,因為[號稱比Hadoop快十倍](https://zhuanlan.zhihu.com/p/157716807),一直很好奇怎麼實現的,所以最近抽空看了下[白皮書](https://www.taosdata.com/downloads/TDengine

傳統事務10?一張圖讀懂阿裏雲全局事務服務GTS

架構 分布式 摘要: 近日,阿裏雲全局事務服務GTS正式上線,為微服務架構中的分布式事務提供一站式解決方案。GTS有哪些功能,相比傳統事務的優勢在哪呢?我們通過一張圖讀懂GTS。近日,阿裏雲全局事務服務GTS正式上線,為微服務架構中的分布式事務提供一站式解決方案。GTS的原理是將分布式事務與具體業務分

Hive800大資料實時分析領域黑馬開源ClickHouse

一. 概述 隨著物聯網 IOT 時代的來臨,IOT 裝置感知和報警儲存的資料越來越大,有用的價值資料需要資料分析師去分析。大資料分析成了非常重要的環節。當然近兩年開啟的開源大潮,為大資料分析工程師提供了十分富餘的工具。但這同時也增加了開發者選擇合適的工具的難度,尤其對於新入行的開發者來說。學習成

Gson解析速度10!——Json解析神器Jackson使用介紹

    在前面的兩篇文章中,我們介紹了Json資料格式和系統自帶Json以及Google的Gson專案,如果能學會這些東西,基本能滿足工作需求了。但是,程式設計師都有追求極致效率的嗜好,在滿足了基本需求之後,我們會考慮能不能再優化一下效率呢?當然!今天這篇文章要介

最快捷的自動化裝機解決方案--cobbler 方便10

解決方案 服務器 power 安利 主機 給大家推薦一個自動化裝機的解決方案,非常簡單。使用的為雲霽科技 的 CLoudBoot雲啟裝機平臺。實測使用過,安裝簡單,使用方便,在這裏安利一下。以下是裝機平臺的圖。詳情可去看官網。安裝包已經打包好了,直接rpm安裝,簡單設置即可。 原理也是PX

荷蘭研究人員提突破性想法:用紅外線傳輸網絡_WiFi100

速度 光纖 不同 顯示 cli 很快 紅外 十倍 網絡 原文地址 這年頭咱們去餐館吃飯、商場購物,最喜歡的就是蹭個免費Wi-Fi,省流量不說,速度也是杠杠的沒得噴(當然也有因同時連接人數過多速度卡成狗的,但和免費相比這些都可以忍受了吧)。 在光纖入戶,獨享10M、20M、3

MySQL60 redis從入門到精通視頻教程

redis Mysql 分布式數據庫 Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。 學習視頻下載地址:https://pan.baidu.com/s/17NO3pG9hRL-RtU0bwaTylw Red

Protobuf沒有JSON5?用代碼來擊破pb性能神話

字段名 觀點 5.1 mod 就會 skip 高速 div ngs 轉 http://www.sohu.com/a/136487507_505779 2017-04-26 07:58 程序設計 /58 /技術 導讀:Google 的 Protocol Buffers 在

Selenium100的方法爬東方財富網財務報表

之前,我們用Selenium成功爬取了東方財富網的財務報表資料,但是速度非常慢,爬取70頁需要好幾十分鐘。為了加快速度,本文分析網頁JavaScript請求,找到資料介面然後快速爬取財務報表資料。 1. JavaScript請求分析   接下來,我們深入分析。首先,點選報

人家寫了十五年的程式碼總結出提升 10 效率的三件事非常受用

原文:https://www.toutiao.com/a6622514229930902020   幾乎每個軟體開發人員或程式設計師都見過其他人編寫的程式碼,說明了“任何人都可以編碼”。但你有沒有遇到過所謂的神話般的“10倍效率的開發人員”?作為一個10倍效率的開發人員,在編

MySQL6 深度解析國內首個雲原生資料庫POLARDB的“王者榮耀”

隨著移動網際網路、電子商務的高速發展,被使用最多的企業級開源資料系統MySQL面臨著巨大挑戰——為迎接“雙11"的高併發要提前做好分庫分表;使用者不斷激增要將讀寫分離才能應對每天上億次的訪問,但讀寫分離後會導致資料同步延時嚴重、分散式事務複雜且效率低下、資料庫可用性下降、MySQL的3T容量瓶頸等一系列問題都

Python學習筆記-SQLSERVER的大批量匯入以及日常操作(executemany3

環境 : python3.6 / win10 / vs2017 / sqlserver2017 一、需要安裝的包pymssql pip install pymssql 二、pymssql模組的介紹 pymssql 包 有modules: pymssql – 如果您關注DB-API遵從性,或者如果您習慣於

DeepMind詳解WaveNet:原來,語音更自然 | 附論文(轉) DeepMind詳解WaveNet:原來,語音更自然 | 附論文

mark一下,感謝作者分享! https://blog.csdn.net/yh0vlde8vg8ep9vge/article/details/78621165 原 DeepMind詳解新WaveNet:比原來快千倍,語音更自然 |

[UE4]藍圖C++慢10,是嗎?

  首先,藍圖肯定是比C++慢。   任何指令碼語言(需要解釋執行的語言),和C++相比可能達到十倍甚至百倍的差距。比如Java、Python、Lua,JS。   指令碼語言是執行在虛擬機器上的,所以它們比起直接執行的程式碼要慢,要慢很多。   藍圖屬於指令碼語言,其效能不比Java、Pyt

Linux下findN的檔案查詢命令

使用linux作業系統的人,一般都用過檔案查詢命令find,在檔案數量非常龐大的時候,比如在高通的android工程專案中,目錄大小有十幾個G,檔案數量非常多,用find命令就太慢了。下面介紹一個比f

Android zar高速掃碼程式,(zxing很多),包更小,掃碼介面Xml佈局。

最近在為公司做一個倉庫管理系統,裡面涉及到物流掃碼,產品掃碼等功能,公司購置了許多PDA用來操作,因此最近研究了一下Android的掃碼。 關於zxing 和zbar的比較, 這裡我大概的瞭解了一下: zxing 是基於Java程式的,只需要新增一個jar即

只需3步讓你電腦瞬間變10

【1】win+R開啟電腦的執行介面,輸入cmd。 【2】出現黑框,在裡面輸入chkdsk,點選確定,自動開始執行。 如果出現[訪問被拒絕,因為你沒有足夠的特權,你必須呼叫這個在提升模式下執行的實用程式] 點選搜尋cmd,右鍵以管理員身份執行,再