SlideShare a Scribd company logo
1 of 91
架設Hadoop叢集以及
MapReduce開發環境
授課教師: 林文揚 教授
簡報: 王敏賢
Outline
1) Hadoop 簡介
a) 常見版本
b) 系統簡介
c) 佈署前的準備
2) 建立MapReduce開發環境
a) 所需軟體與課堂範例
b) 準備環境
3) MapReduce簡介與範例
• 附錄: Between mapper and reducer
INTRODUCTION
3
Apache Hadoop Distribution
• Cloudera
– 由Google、Yahoo、Facebook的三位工程師在
2008年時創辦,是第一家以開發Hadoop為基礎
的軟體公司,Intel是其主要投資者。
– Cloudera稱其超過一半的工程產出都捐給
Hadoop相關的專案。
• http://blog.cloudera.com/blog/
4
Others distribution
• MapR
– 底層用C/C++重新改寫
– 閉源
– HBase、Pig、Hive、ZooKeeper由該公司貢獻
• Hortonworks
– 由Yahoo出資的獨立公司,最常被拿來跟
Cloudera做比較。
• Amazon及微軟的Azure這類的PaaS。
5
Some Information
• Cloudera vs Hortonworks vs MapR: Comparing
Hadoop Distributions
• Products that include Apache Hadoop or
derivative works and Commercial Support
• 大数据和Hadoop生态圈,Hadoop发行版和基
于Hadoop的企业级应用
• Hadoop十年解读与发展预测
6
Hardware
• Hadoop是預期運行在量產(commodity)的機
器上,雖然較廉價但並不意謂是低階(low-
end)的產品。
• 首先必須先了解Hadoop節點的各種角色,
進而安排到適合的機器上。
7
Hadoop service
• 5個核心服務:
– NameNode(NN)
– SecondaryNameNode(SNN)
– DataNode(DN)
– JobTracker(JT)
– TaskTracker(TT)
Technology Master Slave
HDFS NameNode DataNode
MapReduce JobTracker TaskTracker
8
硬體要考慮的方向
• Master – 通常放在較可靠的機器上,因為故
障的代價太高。
– NameNode會將metadata放在記憶體中,大量的
小檔案會耗用可觀的記憶體。硬碟雖然不需要
太大,但必須要有足夠的可靠性,甚至需要
RAID10來做備份。
• Slave – Hadoop的模型剛好符合JBOD的I/O特
徵,所以不建議做RAID,好讓每顆硬碟都
能被OS單獨存取。
9
More information
• How-to: Select the Right Hardware for Your
New Hadoop Cluster
• CPU BOSS
• The Truth About MapReduce Performance on
SSDs
10
Network
• Hadoop的執行過程中會有大量的封包在節
點間傳輸,網路成本也是需要考慮的一部
分,最少需要有Gigabit等級的網路設備,目
前家用主機板都能滿足需求。
• 10 Gigabit的產品價位較高。
11
Software
• 這次介紹用來架設叢集的軟體如下:
– CentOS 6.6
– CDH 5.3
• Cloudera Distribution Including Apache Hadoop
– Cloudera manager 5.5
– MySQL 5.1
– JAVA 1.8.0_60
• CDH 5 Requirements and Supported Versions
12
開始佈署叢集
13
事前準備
• 要先對每個節點做一些設定,Cloudera
manager才有辦法將CDH佈署到叢集中。
– 網路設定(hostname & domain name)
– 防火牆與SELinux (安裝過程中先暫時關閉)
– SSH (讓master可以不用密碼控制slave)
– JDK (將原本的OpenJDK換掉)
– Database (MySQL)
– NTP(保持叢集的時間同步)
14
事前準備
網路設定
• 對每個節點配置hostname及domain name設
定,如下圖。
• 重新啟動network服務讓設定生效。
– # service network restart
15
防火牆與SELinux
關閉防火牆
# service iptables stop
# chkconfig iptables off
關閉SELinux
# setenforce 0
修改/etc/selinux/config
SELINUX=disabled
•為了方便安裝過程先
將防火牆關閉,未來
應依需求設定。
16
事前準備
SSH
• 讓Master可以不用密碼控制Slave節點。
17
Master
Slave Slave
Public key
事前準備
發送Master公鑰
• 11.2.6 製作不用密碼可立即登入的 ssh 用戶
1. Master生成公私鑰。
2. 將該把公鑰傳送到每個Slave。
3. 在Master試著用SSH連到Slave,設定沒問題的
話不需要密碼就能登入。
– 如果還是需要密碼除了配置有問題外,很有
可能是被SELinux擋下,可以參考保哥的這篇
說明。
18
事前準備
JDK
• CentOS附帶的版本為OpenJDK,如果擔心有
相容性問題可以從Oracle上找合適的版本安
裝。目前CDH需要 JAVA 7以上的版本。
• CentOS上安裝設定JAVA環境
19
事前準備
Database
• Cloudera manager需要資料庫來儲存記錄,
目前支援的資料庫如下
– MySQL
– SQLite
– PostgreSQL
– Oracle
• 除了安裝外還需要替每個服務建立相關的
資料庫,詳細的設定可以參考官網文件。
20
事前準備
NTP
• 分散式系統通常都會要求節點間時間同步。
• NTP是以階層式的架構來處理,叢集中只需
挑出一部與對外的NTP server同步,在台灣
可以參考國家時間與頻率標準實驗室。
• 設定細節可參考鳥哥的介紹
– 第十五章、時間伺服器: NTP 伺服器
21
安裝Cloudera
• 官方有詳細的文件說明安裝的流程:
– Installing Cloudera Manager, CDH, and Managed
Services
• 在啟動Cloudera manager後透過Web UI的圖
形介面可以很方便的把CDH佈署到所有節點。
• 离线安装Cloudera Manager 5和CDH5(最新
版5.1.3) 完全教程
22
23
附錄:利用工具來自動化佈署
• fabric
– Simple, Pythonic remote execution and
deployment. http://fabfile.org
• Python fabric实现远程操作和部署
24
準備簡單的開發環境
所需軟體
• 以下範例需要的軟體及版本如下列:
1. JDK 1.8.73 windows X64
– http://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html
2. Eclipse Mars(4.5)
– https://www.eclipse.org/downloads/
3. hadoop-eclipse-plugin-2.6.0
– https://github.com/winghc/hadoop2x-eclipse-plugin
4. Hadoop 2.5.2
– http://hadoop.apache.org/releases.html
5. winutils.exe
– https://github.com/sardetushar/hadooponwindows/
• 範例程式碼
– https://github.com/Phate334/MapReduceExample/
26
準備 JAVA 的開發環境
Windows開發環境圖示
JAVA開發環境
準備
JAVA 環境
• 檢查 JAVA 版本
>java –version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02,
mixed mode)
• Hadoop Java Versions
– https://wiki.apache.org/hadoop/HadoopJavaVersions
29
準備
JAVA 環境
• 在Windows環境下Hadoop會抓不到JAVA預設
安裝的位置。
– http://stackoverflow.com/questions/26990243/ha
doop-installation-on-windows
• 將C:Program FilesJavajdk1.8.0_73整個複製
到C:Javajdk1.8.0_73。
30
準備 ECLIPSE 及 HADOOP
準備
Eclipse及Hadoop
• 將 Eclipse 和 Hadoop解壓縮。
• hadoop-2.5.2.tar.gz中有些檔
案在解壓縮過程可能會被擋
下,造成權限不足的錯誤,
這時需要用管理員身分解壓
縮。
32
準備
Hadoop 在Windows下的命令列工具
•hadooponwindows.zip
•bin目錄下的winutils.exe及hadoop.dll放入
hadoop-2.5.2bin中
•這檔案是用來在Windows中操作Hadoop的命令列工具,因
為Apache並沒有提供編譯完的檔案,如果有需要的話可以下
載原始碼自己編譯。
•http://stackoverflow.com/questions/18630019/running-
apache-hadoop-2-1-0-on-windows
準備
Eclipse Plugin
•hadoop2x-eclipse-plugin.zip
•將release目錄下的hadoop-eclipse-plugin-
2.6.0.jar放入eclipse下plugins
設定環境變數
準備
環境變數
• HADOOP_HOME: 剛解壓縮後的Hadoop目錄。
• JAVA_HOME: C:Java下的JDK目錄。
• Path: 加入%HADOOP_HOME%bin及%JAVA_HOME%bin
– Path變數裡可以用分號(;)隔開多條路徑。
36
檢查
環境變數
• 設定完成後打開cmd,可以試著輸入以下指
令查看是否有錯誤訊息。
37
可能的問題
• 如果前項環境變數設定有問題的話可能會
出現這些錯誤訊息
– 輸入hadoop指令出現找不到JAVA_HOME
• 檢查環境變數JAVA_HOME是否指向
C:Javajdk1.8.0_20
– 找不到winutils.exe
• 檢查環境變數Path中是否包含HADOOP_HOME下的
bin目錄。
– eclipse無法啟動,出現找不到javaw.exe訊息
• 檢查Path中是否包含JAVA_HOME下的bin目錄
設定ECLIPSE
準備
eclipse workspace
• 點擊eclipse.exe啟動
• 第一次開啟會要求設定工作目錄,如果不
希望影響預設環境,可以另外開一個目錄
用來存放接下來的專案。
40
準備
eclipse
• 開啟eclipse後在右上角的
open perspective中會多出一
個Map/Reduce選項。
• 插件安裝成功!
1.
2.
3.
41
設定Hadoop路徑
• Window
– > Preferences
– > Hadoop Map/Reduce
• 設定hadoop-2.5.2的
位置。跟在環境變
數所設定的
HADOOP_HOME相同。
新增Mapreduce 專案
43
•左上角工具列
•File > New > Other
•選擇 Map/Reduce Project
44
新增Mapreduce 專案
•在Project name輸入專案名稱。
•如果出現右圖錯誤訊息代表
前項設定的Hadoop路徑有誤,
可以點選右方的” Configure
Hadoop install directory”重新設
定。
新增Mapreduce 專案
• 新增成功後應該會在左方
看到專案,插件會自動將
HADOOP_HOME下的函式庫
全部加入。
45
執行範例程式碼
Eclipse Workspace
• 在Eclipse中新增專案成功後,workspace下
會多出跟專案同名的目錄。
放入範例程式碼
• MapReduceExample.zip
– 將src放入workspace中,取代原本空的同名目錄。
– 將data目錄放入專案中。
– 將log4j.properties放入專案中的bin目錄。
設定文字編碼
• Eclipse在Windows下預設是使用MS950對程
式碼編碼,這樣撰寫出來的檔案不方便在
其他平台下查看。
1. 在Eclipse工具列選擇Window > Preferences。
2. 選擇General > Workspace。
3. 選擇Text file encoding下的Other,並改成
UTF-8。
修改文字編碼
執行MapReduce程式
• 在Eclipse中的專案上按右鍵選擇Refresh或按
F5重新整理,查看剛才新增的範例程式。
•在ex1.Ex1Driver上點擊右鍵
•選擇Run As > Run on Hadoop執行
測試
執行結果
• 正確執行的話在Console欄會出現類似的訊
息如下。
• 專案的目錄下會多出一個out目錄,裡面有
四個檔案。
52
測試
Console輸出問題
• 執行完後沒有跳出錯誤訊息,卻出現如下圖的
警告訊息,可能是eclipse無法執行log4j的初始
化。
• 解決方法: 自行建立一個log4j.properties,並放
到專案的bin目錄下。
– HelloHadoop
• bin log4j.properties
53
log4j.properties範例
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
54
MAPREDUCE 簡介&範例
55
Example 1
Add100
• 目標: 將數字1到100相加。
• 輸入資料: 如右圖,每行只有一個數字。
• 做法:
– Mapper:
• 將讀入的資料轉成數字。
– Reducer:
• 將收到的數字相加。
Inpu
t
M R O
Example 1
Map
•Hadoop定義了一些類別將資料序列化(Serialization),可以方
便的讓資料在各節點間傳輸以及儲存。
•key和value都要實作Writable這個介面,key甚至要實作
WritableComparable才能用來比較兩個資料對。
Ma
p
R OI
57
來源: https://www.safaribooksonline.com/library/view/hadoop-the-
definitive/9781449398644/ch04.html
58
Hadoop對JAVA基本型態的包裝
JAVA 基本型態 Hadoop封裝類別
boolean BooleanWritable
byte ByteWritable
int IntWritable
float FloatWritable
long LongWritable
double DoubleWritable
char和short並沒有特定的包裝,通常用IntWritable代替。
59
其他類別型態
• Text – JAVA String 的包裝
– http://stackoverflow.com/questions/19851665/dif
ference-between-text-and-string-in-hadoop
• ObjectWritable
• NullWritable
– 並不是JAVA null的封裝,只是為了要留空用,
這個範例的reduce用在輸出的key。
60
Example 1
Map
這個範例的map繼承自Mapper這個泛型類別。
Ma
p
R OI
61
Map 的 input 格式
• job.setInputFormatClass(TextInputFormat.clas
s)
– An InputFormat for plain text files. Files are
broken into lines. Either linefeed or carriage-
return are used to signal end of line. Keys are the
position in the file, and values are the line of text.
來源: Input Splits in Hadoop’s MapReduce
揭秘InputFormat:掌控Map Reduce任务执行的利
器
62
1. 如果最後一行被切斷,則向
下一個Block抓完整行資料。
2. 如果讀取的不是第一個block,
則跳過第一個Split。
Example 1
Map
Ma
p
R OI
map(KEYIN key, VALUEIN value,
org.apache.hadoop.mapreduce.Mapper.Context context)
Called once for each key/value pair in the input split.
63
Example 1
Map
Ma
p
R OI
•Writable物件的方法不多,像數字或字串這類的
資料,為了方便可以把他轉成JAVA提供的類別型
態物件在處理。
•要注意的是轉換過程會花費額外的成本,資料量
大的時候也是很可觀的。
64
資料對在整個過程中的改變
1
2
3
.
Input
Map
<偏移量, 數字>
<1, 1>
<2, 2>
<…, …>
<one, 1>
<one, 2>
<one, …>
Shuffle<one, [1,2,3,…]>Reduce5050
Output
這裡的Shuffle只是統稱,更詳細的說明可以參考附錄。
65
Example 1
Reduce
Reduc
e OI M
•這裡的KEYIN、VALUEIN必須要跟前面的Mapper相同。
66
Example 1
Reduce Reduc
e OI M
•如前一小節所述,所有同樣Key的資料對已經被收在一起,放在
一個java.lang.Iterable物件中。
•接下來用一個for-each把所有的值相加。
•我們的目的是輸出加總的值,所以KEYOUT給他一個NullWritable。
67
68
Example 1
result
•Reduce輸出的結果預設放在part-r-XXX的檔
案內,因為目前環境只有一個reducer,所以
只有一個輸出檔案。
•.crc檔是HDFS用來驗證檔案內容用。
OutRMI
69
課堂練習1
WordCount
• 目標: 計算單字出現次數。
• 輸入資料: /data/pra1.txt
Inpu
t
M R O
Tips
JAVA
• 切割字串
– String.split(String regex)
Example 2
NumberClasser
• 目標: 將資料依照奇偶分開。
• 輸入資料: 如右圖,每行只有一個數字。
• 做法:
– Mapper:
• 將讀入的資料轉成數字,並判斷奇偶。
– Reducer:
• 依照KEY輸出到不同檔案中。
Inpu
t
M R O
Example 2
MultipleOutputs
Example 2
LazyOutputFormat
課堂練習2
WordCount++
• 目標: 計算單字出現次數,並用Key的第一個
字母當輸出檔名。
過濾掉長度與次數小於3的單字。
• 輸入資料: /data/pra1.txt
• 輸出結果如下圖
Tips
JAVA
• 字串長度
– String.length()
• 取出子字串
– String.substring(int beginIndex, int endIndex)
• 字串轉小寫
– String.toLowerCase()
將程式碼打包
將程式打包成jar檔
• 上方工具列選擇 File
> Export 。
• 或是對要輸出的
Project按右鍵選擇
Export。
將程式打包成jar檔
• JAVA > JAR file
選擇要打包的類別
1. 只需要挑選要打包的類別,
要注意不要連資料都夾帶
進去。
2. 選擇打包好要輸出的路徑。
3. 下一步繼續設定。
1.
2.
3.
選擇程式進入點
• 選擇用來建立Job的類
別,也就是前面撰寫
包含main的Driver類別。
透過命令列介面執行
• hadoop jar <jar> [mainClass] args...
https://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html#ja
r
附錄
附錄:Between mapper and reducer
•Shuffle是整個Mapreduce的核心,包含map後、
reduce前。
84
shuffle in Map
step 1-input
1. Mapper讀入資料
85
shuffle in Map
step 2-partition
2. 執行完Map工作後會交由
Partitioner來決定輸出的
資料要交給哪個reducer處
理。接著會送到一個
buffer中暫存,到目前為
止資料都還是在mapper的
記憶體中。
• 如果沒實作Partitioner的話
預設是會將資料對平均分
給每個Reduce。
86
shuffle in Map
step 3-spill
3. Map的輸出會暫
時保存在記憶體
中,當滿於門檻
時才會寫入硬碟
的spill檔案中暫
存。
87
shuffle in Map
step 3-sort
• 預設記憶體為100MB、
spill.percent預設為0.8,所以當寫
滿80MB的記憶體以後才會開始執
行sort,將spill的內容依照目的地
排序並聚集。
– map:(key1,value1)-> list(key2,value2)
– list(<“{Age:5,Drug:1001,Type:Age_Dru
g}” : 1>)
88
shuffle in Map
combiner
• map送出的是list(<key,value>),交給reduce
的shuffle以後才會對key做聚合
<key,list(value)>,在這過程中會浪費很多網
路效能,因為有很多重複的key。
• 所以combiner有兩個功能
1. 在map端就將value聚合。
2. 在不影響結果下在map本地端做reduce。
– <“{Age:5,Drug:1001,Type:Age_Drug}” : [1,1,…,1]>
– <“{Age:5,Drug:1001,Type:Age_Drug}” : 5>
89
shuffle in Map
step 4-merge
4. 把同樣目的地的
spill檔案合併成在
一起以後
TaskTracker會送出
工作完成的訊號,
結束Mapper的工
作。
90
Reduce
•reduce會一直詢問JobTracker哪一個map工作
完成,收到信號以後才會開始執行shuffle,
把每個map輸出copy到reduce端,且在merge
階段也可能執行Combiner。
91

More Related Content

What's hot

Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Awei Hsu
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudKyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudAlluxio, Inc.
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置鳥 藍
 
Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Wei-Yu Chen
 
淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況inwin stack
 
Log collection
Log collectionLog collection
Log collectionFEG
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft UsersKuo-Chun Su
 
Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIGJazz Yao-Tsung Wang
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結James Chen
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討Billy Yang
 
HDInsight for Hadoopers
HDInsight for HadoopersHDInsight for Hadoopers
HDInsight for HadoopersKuo-Chun Su
 
大数据漫谈-bilibili
大数据漫谈-bilibili大数据漫谈-bilibili
大数据漫谈-bilibili不持
 
Hadoop 2.0 之古往今來
Hadoop 2.0 之古往今來Hadoop 2.0 之古往今來
Hadoop 2.0 之古往今來Wei-Yu Chen
 
HDFS-In-Cloud
HDFS-In-CloudHDFS-In-Cloud
HDFS-In-CloudLei Xu
 
Use Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningUse Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningAlluxio, Inc.
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWJazz Yao-Tsung Wang
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)Joseph Kuo
 

What's hot (20)

Hadoop hive
Hadoop hiveHadoop hive
Hadoop hive
 
Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudKyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置
 
Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Hadoop 0.20 程式設計
Hadoop 0.20 程式設計
 
淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況淺談 Kubernetes於大數據生態系的相關開發近況
淺談 Kubernetes於大數據生態系的相關開發近況
 
Log collection
Log collectionLog collection
Log collection
 
Something about Kafka - Why Kafka is so fast
Something about Kafka - Why Kafka is so fastSomething about Kafka - Why Kafka is so fast
Something about Kafka - Why Kafka is so fast
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft Users
 
Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIG
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討
 
HDInsight for Hadoopers
HDInsight for HadoopersHDInsight for Hadoopers
HDInsight for Hadoopers
 
大数据漫谈-bilibili
大数据漫谈-bilibili大数据漫谈-bilibili
大数据漫谈-bilibili
 
Hadoop 2.0 之古往今來
Hadoop 2.0 之古往今來Hadoop 2.0 之古往今來
Hadoop 2.0 之古往今來
 
HDFS-In-Cloud
HDFS-In-CloudHDFS-In-Cloud
HDFS-In-Cloud
 
Use Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningUse Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in Suning
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TW
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
 

Similar to 架設Hadoop叢集以及mapreduce開發環境

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Xu Wang
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍Li Jiansheng
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Etu Solution
 
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contributeinwin stack
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路li luo
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdfGDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdfDuran Hsieh
 
docker intro
docker introdocker intro
docker introkoji lin
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍Tianwei Liu
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢Ben Huang
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012James Chen
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇Guangya Liu
 
Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊liangxiao0315
 
Java 与 云计算
Java 与 云计算Java 与 云计算
Java 与 云计算kevin huang
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundryHong Cai
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to HadoopTechParty@UIC
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理frankwsj
 

Similar to 架設Hadoop叢集以及mapreduce開發環境 (20)

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
 
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contribute
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdfGDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
 
docker intro
docker introdocker intro
docker intro
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 
Java 与 云计算
Java 与 云计算Java 与 云计算
Java 与 云计算
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
 

架設Hadoop叢集以及mapreduce開發環境