hadoop @ Alan Tsai 的學習筆記|An Asp .Net Mvc Web Developer Blog

hadoop


[Data Science 到底是什麼從一個完全外行角度來看][12]Hadoop總結(下篇) - 一切才剛剛開始

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

上一篇(11]Hadoop總結(上篇) - 一切才剛剛開始)介紹了Hadoop的Ecosystem之後,了解到有很多package建立在Hadoop上面。

不過一個問題會浮現出來,這門多package,怎麼讓他們互相溝通沒有問題?畢竟版本和版本之間很有可能會有相容性問題。

這就是Hadoop Distribution的作用,一些整理好包成一包的Hadoop Ecosystem,有些distribution還包括一些管理界面讓整個管理變得更加簡單。


[Data Science 到底是什麼從一個完全外行角度來看][10]用.Net Core跑Hadoop MapReduce - Streaming介紹

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

上一篇([09]了解Hadoop裡的MapReduce到底是什麼?)了解了什麼是MapReduce,並且了解了怎麼用Java寫一個MapReduce的Hello World程式:WordCount。

馬上會想到的一個問題是,難道只有Java可以寫MapReduce的程式嗎?

這篇將會介紹Hadoop的Streaming服務,讓任何語言只要透過Standard Input和Standard Output就可以寫出MapReduce程式。 將會使用最熟悉的語言,.Net Core來完成這個事情。

在這篇也會介紹另外一種測試Hadoop的方式,使用Docker來測試。


[Data Science 到底是什麼從一個完全外行角度來看][11]Hadoop總結(上篇)–Ecosystem介紹

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

在上一篇([10]用.Net Core跑Hadoop MapReduce - Streaming介紹)透過Hadoop Streaming的幫助,改成用.Net Core 2.0的程式作為MapReduce的邏輯,基本上這個系列裡面的Hadoop介紹也要告一個段落。

這一篇,將會快速回顧到目前為止所了解到關於Hadoop的部分,再來介紹Hadoop Ecosystem,和3個比較常見的package介紹。


[Data Science 到底是什麼從一個完全外行角度來看][09]了解Hadoop裡的MapReduce到底是什麼?

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

在上一篇([08]Hadoop 改成完全分散模式)透過複製VM的方式建立出了fully-distributed mode,基本上在這個系列裡面對於Hadoop的介紹也快到了一個尾聲。

不過,還有一個部分被忽略了,也就是實際在Hadoop做運算的程式,也是WordCount的實際運算邏輯。

這篇會介紹MapReduce的概念,並且看一下WordCount的java程式是如何撰寫。


[Data Science 到底是什麼從一個完全外行角度來看][08]Hadoop 改成完全分散模式

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

在上一篇([07]更深入看看Hadoop裡面的YARN和HDFS)了解了整個jps的process代表的意思之後,在這篇將會延續之前([05]建立Hadoop環境 -上篇[06]建立Hadoop環境 -下篇)建立出來pseudo-distributed mode的hadoop改成 fully-distributed mode

這篇結束之後,除了Master,會建立出一台slave。由於Master裡面也有DataNode和NodeManager,所以總共會有2個DataNode。


[Data Science 到底是什麼從一個完全外行角度來看][07]更深入看看Hadoop裡面的YARN和HDFS

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

在上一篇([06]建立Hadoop環境 -下篇)把hadoop pseudo-distributed mode整個建立了起來,在這個過程中有透過 jps看到啟動的時候有5個process:

  1. NameNode
  2. SecondaryNameNode
  3. ResourceManager
  4. NodeManager
  5. DataNode

這些process分別是yarn和HDFS執行起來的process,其中Master會有前 3個而slave有後 2個

這篇將會對於這幾個問題做一些介紹。

這篇提到的架構屬於Hadoop 2.x 版本的內容,Hadoop 3 之後有所變動。

[Data Science 到底是什麼從一個完全外行角度來看][06]建立Hadoop環境 -下篇

image
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

上一篇([05]建立Hadoop環境 -上篇)透過VMWare Player把Ubuntu裝好並且一些相關環境設定到,等於把hadoop的基礎環境建立好了。

這篇將延續上篇的環境,把Hadoop建立上去,並且讓Hadoop跑一個hello world的範例。


[Data Science 到底是什麼從一個完全外行角度來看][05]建立Hadoop環境 -上篇

image
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

上一篇([04]Hadoop是什麼?)以一個非常高的overview看了Hadoop是什麼,在接下來將會把理論轉成實際操作,將建立一個Ubuntu 的 VM上面架設hadoop並且跑一個MapReduce的hello world程式,WordCount(算字數)。

等到跑完範例之後,將會在深入一點看hadoop的MapReduce和HDFS運作模式。

首先,從建立環境開始。


[Data Science 到底是什麼從一個完全外行角度來看][04]Hadoop是什麼?

image
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 和 https://pixabay.com/en/math-blackboard-education-classroom-1547018/

在上一篇([03]Big Data到底是有多Big?)了解到了Big Data的3個V,也就是量、增長速度和多元格式的挑戰,這篇來看看讓管理一切變得有可能的軟體:Hadoop。

這篇將介紹Hadoop的由來,為什麼這麼重要,不同版本之間的差異,和基本架構。