自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩種模式運(yùn)行Hadoop分布式并行程序

開發(fā) 架構(gòu) 分布式 Hadoop
Hadoop可能大家還不是很了解,這里就向大家簡(jiǎn)單介紹一下Hadoop的概念以及Hadoop分布式并行程序方面的知識(shí),歡迎大家一起來學(xué)習(xí),希望本文的介紹對(duì)你的學(xué)習(xí)有所幫助。

本節(jié)和大家一起學(xué)習(xí)一下Hadoop方面的知識(shí),主要包括Hadoop的概念和兩種模式實(shí)現(xiàn)Hadoop分布式并行程序等,希望通過本節(jié)的介紹大家對(duì)Hadoop有新的認(rèn)識(shí)。

Hadoop初體驗(yàn)

Hadoop支持Linux及Windows操作系統(tǒng),但其官方網(wǎng)站聲明Hadoop的分布式操作在Windows上未做嚴(yán)格測(cè)試,建議只把Windows作為Hadoop的開發(fā)平臺(tái)。在Windows環(huán)境上的安裝步驟如下(Linux平臺(tái)類似,且更簡(jiǎn)單一些):

(1)在Windows下,需要先安裝Cgywin,安裝Cgywin時(shí)注意一定要選擇安裝openssh(在Netcategory)。安裝完成之后,把Cgywin的安裝目錄如c:\cygwin\bin加到系統(tǒng)環(huán)境變量PATH中,這是因?yàn)檫\(yùn)行Hadoop要執(zhí)行一些linux環(huán)境下的腳本和命令。

(2)安裝Java1.5.x,并將JAVA_HOME環(huán)境變量設(shè)置為Java的安裝根目錄如C:\ProgramFiles\Java\jdk1.5.0_01。

(3)到Hadoop官方網(wǎng)站http://hadoop.apache.org下載HadoopCore,最新的穩(wěn)定版本是0.16.0.將下載后的安裝包解壓到一個(gè)目錄,本文假定解壓到c:\hadoop-0.16.0。

4)修改conf/hadoop-env.sh文件,在其中設(shè)置JAVA_HOME環(huán)境變量:exportJAVA_HOME="C:\ProgramFiles\Java\jdk1.5.0_01”(因?yàn)槁窂街蠵rogramFiles中間有空格,一定要用雙引號(hào)將路徑引起來)

至此,一切就緒,可以運(yùn)行Hadoop了。以下的運(yùn)行過程,需要啟動(dòng)cygwin,進(jìn)入模擬Linux環(huán)境。在下載的HadoopCore包中,帶有幾個(gè)示例程序并且已經(jīng)打包成了hadoop-0.16.0-examples.jar。其中有一個(gè)WordCount程序,功能是統(tǒng)計(jì)一批文本文件中各個(gè)單詞出現(xiàn)的次數(shù),我們先來看看怎么運(yùn)行這個(gè)程序。Hadoop共有三種運(yùn)行模式:單機(jī)(非分布式)模式,偽分布式運(yùn)行模式,分布式運(yùn)行模式,其中前兩種運(yùn)行模式體現(xiàn)不了Hadoop分布式計(jì)算的優(yōu)勢(shì),并沒有什么實(shí)際意義,但對(duì)程序的測(cè)試及調(diào)試很有幫助,我們先從這兩種模式入手,了解基于Hadoop的分布式并行程序是如何編寫和運(yùn)行的。

單機(jī)(非分布式)模式

這種模式在一臺(tái)單機(jī)上運(yùn)行,沒有分布式文件系統(tǒng),而是直接讀寫本地操作系統(tǒng)的文件系統(tǒng)。

注意事項(xiàng):運(yùn)行bin/hadoopjarhadoop-0.16.0-examples.jarwordcounttest-intest-out時(shí),務(wù)必注意第一個(gè)參數(shù)是jar,不是-jar,當(dāng)你用-jar時(shí),不會(huì)告訴你是參數(shù)錯(cuò)了,報(bào)告出來的錯(cuò)誤信息是:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/util/ProgramDriver,筆者當(dāng)時(shí)以為是classpath的設(shè)置問題,浪費(fèi)了不少時(shí)間。通過分析bin/hadoop腳本可知,-jar并不是bin/hadoop腳本定義的參數(shù),此腳本會(huì)把-jar作為Java的參數(shù),Java的-jar參數(shù)表示執(zhí)行一個(gè)Jar文件(這個(gè)Jar文件必須是一個(gè)可執(zhí)行的Jar,即在MANIFEST中定義了主類),此時(shí)外部定義的classpath是不起作用的,因而會(huì)拋出java.lang.NoClassDefFoundError異常。而jar是bin/hadoop腳本定義的參數(shù),會(huì)調(diào)用Hadoop自己的一個(gè)工具類RunJar,這個(gè)工具類也能夠執(zhí)行一個(gè)Jar文件,并且外部定義的classpath有效。

偽分布式運(yùn)行模式

這種模式也是在一臺(tái)單機(jī)上運(yùn)行,但用不同的Java進(jìn)程模仿分布式運(yùn)行中的各類結(jié)點(diǎn)(NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode),請(qǐng)注意分布式運(yùn)行中的這幾個(gè)結(jié)點(diǎn)的區(qū)別:從分布式存儲(chǔ)的角度來說,集群中的結(jié)點(diǎn)由一個(gè)NameNode和若干個(gè)DataNode組成,另有一個(gè)SecondaryNameNode作為NameNode的備份。從分布式應(yīng)用的角度來說,集群中的結(jié)點(diǎn)由一個(gè)JobTracker和若干個(gè)TaskTracker組成,JobTracker負(fù)責(zé)任務(wù)的調(diào)度,TaskTracker負(fù)責(zé)并行執(zhí)行任務(wù)。TaskTracker必須運(yùn)行在DataNode上,這樣便于數(shù)據(jù)的本地計(jì)算。JobTracker和NameNode則無須在同一臺(tái)機(jī)器上。
 

【編輯推薦】

  1. Hadoop機(jī)架感知及啟動(dòng)停止方法詳解
  2. Hadoop概念及其用法專家講解
  3. Hadoop集群與Hadoop性能優(yōu)化
  4. HadoopHBase實(shí)現(xiàn)配置簡(jiǎn)單的單機(jī)環(huán)境
  5. Hadoop命令手冊(cè)使用指南

 

 

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2018-08-02 09:13:34

分離式超融合存儲(chǔ)

2014-05-21 11:00:55

Windows Azu分布式部署

2010-06-03 18:54:57

Hadoop

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)

2011-02-23 12:49:31

KonquerorEmbedded

2023-06-18 12:21:42

分布式系統(tǒng)模式架構(gòu)設(shè)計(jì)

2010-06-02 15:29:06

SVN版本控制

2023-11-01 20:10:53

分布式并行技術(shù)

2020-03-12 10:06:32

Redis分布式鎖兩種

2012-09-19 14:09:20

Hadoop開源

2013-05-27 14:31:34

Hadoop 2.0

2011-11-17 10:34:44

并行程序

2017-08-10 10:17:32

Hadoop分布式搭建

2019-09-26 15:43:52

Hadoop集群防火墻

2014-07-15 11:15:44

hadoop分布式部署

2021-06-01 05:51:37

云計(jì)算并行計(jì)算分布式計(jì)算

2024-06-06 08:32:52

.NET框架代碼

2017-07-02 05:45:50

分布式對(duì)抗網(wǎng)絡(luò)模型

2009-06-29 18:11:40

JSP設(shè)計(jì)模式

2010-06-04 18:45:43

Hadoop分布式文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)