天天看點

Hadoop僞分布式叢集的安裝部署

Hadoop僞分布式叢集的安裝部署Hadoop僞分布式叢集的安裝部署

首先可以為Linux虛拟機搭建起來的最初狀态做一個快照,友善後期搭建分布式叢集時多台Linux虛拟機的準備。

一、如何為虛拟機做快照?

1、什麼是快照?

     快照就是對目前的虛拟機狀态進行拍照,保留虛拟機目前狀态的操作資訊。

2、為什麼要為虛拟機做快照?

第一:為克隆不同狀态的虛拟機提前做準備。

第二:當對虛拟機的某些操作執行錯誤而且改正比較麻煩的時候,可以切換到之前正常的虛拟機狀态重新進行相關的操作。

3、如何為虛拟機做快照?

(1)選擇要克隆的虛拟機,然後“右鍵”,選擇“快照”,然後選擇“拍攝快照”。
           

image.png

(2)可以為快照取個名稱,也可以為虛拟機目前的狀态做個描述,然後點選“拍攝快照”。

4、如何轉到某一特定狀态的快照?

(1)選擇對應狀态的快照,然後點選“轉到”。
           

(2)然後在接下來的彈框中點選“是”即可。這樣簡單操作之後,虛拟機就實作了快照狀态的一個轉換。

二、Linux虛拟機的網絡配置

(一)如何實作虛拟機和外網的連接配接

1、打開并登陸虛拟機
           

2、用ifconfig指令來檢視網絡接口配置資訊,此時隻能查到回環位址127.0.0.1和子網路遮罩255.0.0.0。

3、做3個小測試

(1)ping 127.0.0.1(回環位址),如果能ping通,就說明虛拟機的網絡協定是正常的(一般也是能ping通的)。注意:ping通之後同時按“Ctrl” 和“C”即可斷開連接配接。

(2)ping 網關

1)這裡面就牽涉到一個問題:我的網關是多少?在哪裡看?
           

2)找到網關位址之後,然後開始ping網關。

一般第一次是ping不通的,那就說明我們的網卡鍊路是有問題的,是以我們需要檢視網卡,找出問題的原因。那麼這就又有兩個問題:

第一,在哪裡檢視網卡資訊?

我們輸入如下指令:vi /etc/sysconfig/network-scripts/ifcfg-eth0 即編輯/etc/sysconfig/network-scripts/目錄下的ifcfg-eth0檔案

小技巧:Tab鍵的使用

輸入指令前邊的一部分,然後按一次Tab鍵,如果該指令沒有其他相同開頭的指令,則直接能補全該指令。如果不能補全,可以按兩次Tab鍵,将會列出以輸入字元開頭的所有指令,憑印象輸入對應指令即可。 這個指令要去記憶嗎?要,但是不是每個字母都要記憶,隻要記住個大概就行。隻要記住哪個檔案在哪個目錄下,然後一個一個找就行了。一定要能夠觸類旁通。

第二,該如何配置網卡?

進入檔案之後,首先輸入“i”進入檔案編輯模式,然後把ONBOOT=no修改為yes,然後按”Esc”鍵退出編輯模式,再接下來按“:wq”儲存退出即可。
           
為什麼要修改呢?ONBOOT=no表示什麼意思呢?

實質上ONBOOT=no表示我們的網卡沒有開啟,是以我們要将no改為yes,來開啟網卡。

3)重新開機網絡服務

OK,剛才我們修改了網卡的配置,是以這個時候我們需要重新開機網絡服務。切記,每次修改網卡之後都需要重新開機網絡服務,這樣修改的配置才能生效。

如何重新開機網絡服務呢?我們需要輸入指令service network restart即可。重新開機成功的标志如下圖。
           

下面我們再來ping一下網關,你會發現,已經能夠成功的ping通網關了。

(3)ping IP位址

1)我們繼續輸入ifconfig指令檢視一下網絡接口配置資訊,我們發現多了一個eth0的網卡,而且可以看到ip位址。
           

2)然後我們ping IP位址,如果能ping通,說明我們的本機網卡鍊路沒有問題。我們發現是可以ping通的,如下圖所示。

(4)ping外網

我們輸入指令ping www.baidu.com來檢查一下虛拟機和外部網絡的連通性,如果能夠ping通,就說明我們的虛拟機已經和網際網路打通了。
           

(二)虛拟機靜态IP的配置

在實際應用中,由于我們使用的是DHCP(Dynamic Host Configuration Protocol:動态主機配置協定)伺服器來配置設定的位址,那麼每次重新開機DHCP伺服器ip位址有可能是會變動的。 而我們用Linux來搭建叢集學習Hadoop的話,是希望IP固定不變的,因為有很多地方會涉及到IP位址的配置,如果IP位址變化就會涉及到很多相關地方的修改,是以我們需要配置靜态IP,那麼具體如何進行配置呢?

(1)在哪裡配置?

輸入指令vi /etc/sysconfig/network-scripts/ifcfg-eth0

(2)如何配置?

具體配置如下圖所示:
           

其中配置的屬性和值的注釋如下:

BOOTPROTO=static //把dhcp修改為static

IPADDR=192.168.7x.133 //可以自己設定,但必須與GATEWAY網段一緻,比如7x

NETMASK=255.255.255.0 //預設設定

GATEWAY=192.168.7x.2 //網關位址

(3)修改完之後需要重新開機網絡服務,即輸入指令service network restart
           

(4)重新開機成功之後,繼續輸入ifconfig檢視一下ip,這個時候ip位址就固定了。

三、建立其他使用者及使用者sudo權限的設定

(一)設定其他使用者組和使用者

1、為什麼要進行使用者組和使用者的設定?

     預設隻有一個root超級使用者,它的權限是很大的,如果誤删檔案,整個系統的使用可能就會出現問題,存在很大的安全性問題,是以,我們需要單獨建立使用者,然後在該使用者上進行相關的操作。(可能會出現一個問題,某些操作權限不夠,隻需要配置sudo權限或切換到root使用者下執行即可)

2、如何建立使用者組和使用者?

(1)建立使用者組:groupadd

        比如建立hadoop使用者組:groupadd hadoop

(2)建立使用者:useradd

        比如建立hadoop使用者:useradd hadoop

注意:1)預設建立使用者的時候會同時建立一個同名的使用者組,前邊是使用者,後邊是使用者組。
           

2)在任何目錄下執行該指令都可以,最後建立的這個使用者的目錄是在home目錄下,也就是說指不指定-m參數效果都一樣。

(3)檢視幫助資訊:

useradd --help

一般情況下,哪個指令不知道怎麼用,不知道使用哪個參數,就用“指令 --help”

(4)切換使用者:su

        比如切換到hadoop使用者:su hadoop

        注意:root使用者向其他使用者切換的時候不需要輸入密碼,但是其他使用者向root使用者切換或其他使用者之間在切換的時候是需要輸入密碼,是以需要為使用者設定密碼。

(5)為使用者設定密碼:passwd

        比如為hadoop使用者設定密碼:passwd hadoop,然後按回車輸入兩次密碼即可,”password --help”檢視該指令用法。
           

(二)為使用者設定sudo權限

1、為什麼要為使用者設定sudo權限?

使用者在執行某些系統指令時會出現使用者權限不夠的問題,需要切換到root使用者下執行,頻繁的切換會很麻煩,而且也很容易導緻權限問題。是以最好為使用者配置sudo權限。所有的操作都可以在該使用者下操作,出現權限不夠的問題隻需要在指令前邊加上sudo即可。

    2、如何為使用者設定sudo權限?

首先要明确是為哪個使用者設定sudo權限。比如為hadoop使用者設定sudo權限。

(1)    在root使用者下,輸入visudo即可。

(2)    在打開的檔案末尾添加“hadoop ALL=(ALL) NOPASSWD:ALL”即可。
           

(3) 驗證sudo權限是否配置成功

這樣特定使用者的sudo權限就配置成功了,接下來就可以正常使用sudo指令了。

四、X-shell遠端連接配接Linux虛拟機

由于直接在Linux虛拟機上操作比較不友善,是以我們選擇使用第三方遠端連接配接工具X-shell遠端連接配接到Linux虛拟機,然後通過X-shell對Linux虛拟機進行相關操作。

1、如何實作X-Shell和Linux虛拟機的遠端連接配接?

(1)安裝X-Shell遠端連接配接工具

        請點選此連結下載下傳X-Shell。

(2)實作X-Shell和Linux虛拟機的遠端連接配接

   1)首先打開X-Shell工具,然後在X-Shell和Linux虛拟機之間建立一個會話并做如下配置。
           

2) 配置完成之後點選“使用者身份驗證”,進行使用者名和密碼的配置。然後點選“确定”。配置成功之後再用X-Shell連接配接遠端虛拟機,就不用輸入使用者名和密碼了。

3) 選擇對應的對話連接配接即可。

4)接下來就可以在X-Shell上進行相關的操作,實際上還是在Linux虛拟機上執行的操作。

五、虛拟機主機名的配置

1、如何檢視主機名?

(1)直接通過指令提示符即可看出主機名。
           
(2)通過hostname指令也可顯示主機名。
           

2、如何修改主機名?

(1)臨時性修改

執行指令hostname 主機名(要修改的主機名)

比如 sudo hostname abc
           

注意:臨時性修改的方法當虛拟機重新開機的時候就不生效了,而且不會改變指令提示符中的主機名,是以為臨時性修改。

(2)永久性修改

我們輸入指令vi /etc/sysconfig/network,然後在該檔案中修改即可。
           

注意:修改完之後不會立即顯示出修改後的結果,我們需要輸入reboot指令重新開機linux作業系統,重新開機之後,我們才能看到修改後的結果。

六、關閉防火牆

1、防火牆是幹什麼的?為什麼要關閉防火牆?

防火牆是對我們的伺服器進行的一種保護,但是有時候也會妨礙叢集間的互相通訊,是以為了不影響叢集間的通信我們可以關閉掉防火牆。

2、怎麼關閉防火牆?

(1)首先檢視防火牆狀态

 當出現如下資訊時就表明防火牆是開啟的狀态。

 service  iptables  status
           

(2)關閉防火牆的兩種方法:

1)臨時性關閉

 service iptables stop
           

注意:臨時性關閉防火牆的效果和臨時性修改主機名的效果一樣,當重新開機linux虛拟機之後就不起作用了。

2)永久性關閉

 chkconfig iptables off
           

注意:永久性關閉防火牆之後,需要重新啟動linux作業系統,即輸入reboot指令才能生效。

七、相關服務的安裝

1、lrzsz傳輸包

(1)為什麼要安裝lrzsz安裝包?

        lrzsz傳輸包主要用于檔案的上傳和下載下傳,rz表示上傳,sz表示下載下傳,由于在叢集搭建過程中需要對一些檔案進行上傳或下載下傳,是以需要首先安裝lrzsz傳輸包。

(2)怎麼安裝lrzsz安裝包?

        在root使用者下,輸入yum install lrzsz即可。這裡我們采用的是yum的安裝方式,因為這種方式可以把依賴的軟體一起安裝好。
           

2、安裝openssh-clients服務

(1)為什麼要安裝openssh-clients服務?

        做免密碼登入的時候需要用到這個服務

(2)怎麼安裝openssh-clients服務?

        輸入指令 yum install -y openssh-clients

        (-y表示在下載下傳安裝過程中全部輸入yes或y)
           

(3)安裝完成之後,可以輸入指令ssh,按回車,如果能檢視到ssh的用法即表示安裝成功。

八、配置主機名和IP之間的對應關系

1、在哪配置?

    vi /etc/hosts

2、如何配置?

    參照該檔案中的提示資訊來配置
           

解釋如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4是什麼意思

第一部分:網絡IP位址。

第二部分:對應的主機名

第三部份:主機名.域名,注意主機名和域名之間有個半角的點。

第四部份:主機名别名,其實還是主機名。

第五部份:主機名别名.域名,注意主機名和域名之間有個半角的點。

IP位址後是主機名或主機名清單,主機名清單中第一個為主機名,其他為主機名别名,主機名别名可以有多個。

主機域名用 ”主機名.域名“來表示。

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

::1想當于IPv6的locahost對應的IP位址,類似于IPv4的127.0.0.1

參照上邊的格式在檔案末行添加ip和hostname

比如:192.168.7x.133 abc即可。

如果還需要配置其他主機名和IP之間的對應關系,隻需要按照上面的格式逐行配置即可。
           

九、配置SSH免密碼登入

1、SSH是什麼?為什麼要配置ssh免密碼登入?

SSH是一個可以在應用程式中提供安全通信的一個協定,通過SSH可以安全地進行網絡資料傳輸,它的主要原理就是利用非對稱加密體系,對所有待傳輸的資料進行加密,保證資料在傳輸時不被惡意破壞、洩露或者篡改。但是hadoop使用ssh主要不是用來進行資料傳輸的,hadoop主要是在啟動和停止的時候需要主節點通過SSH協定将從節點上面的程序啟動或停止。也就是說如果不配置SSH免密碼登入對hadoop的正常使用也沒有任何影響,隻是在啟動和停止hadoop的時候需要輸入每個從節點的使用者名的密碼就可以了,但是我們可以想象一下,當叢集規模比較大的時候,比如上百台,如果每次都要輸入每個從節點的密碼,那肯定是比較麻煩點,是以這種方法肯定是不可取的,是以我們要進行SSH免密碼的配置,而且目前遠端管理環境中最常使用的也是SSH(Secure Shell)。

2、如何配置ssh免密碼登入?

     首先要明确是為哪個使用者建立免密碼登入,比如我們為hadoop使用者建立SSH免密碼登入。

1)在hadoop使用者下,切換到hadoop使用者的家目錄(即/home/hadoop目錄)。

2)建立.ssh目錄:輸入mkdir .ssh指令(其實不用提前建立該目錄也行,直接在hadoop使用者下執行生成秘鑰的指令之後,系統會自動在hadoop的家目錄下(/home/hadoop)建立.ssh目錄)

3)生成秘鑰:輸入指令ssh-keygen -t rsa,然後一直按回車。

ssh-keygen是ssh秘鑰生成器,-t是指定參數,rsa是一種加密算法。
           

4)切換到.ssh目錄下:輸入cd /home/hadoop/.ssh,然後輸入“ll”指令檢視,發現有一個公鑰,有一個私鑰,(ssh生成的秘鑰對都是存儲在.ssh這個目錄下的)

5)将公鑰copy到認證檔案裡。

輸入指令:cp id_rsa.pub authorized_keys

注意:上述指令中檔案名authorized_keys一定要正确無誤。

然後ll檢視就多了一個檔案authorized_keys
           

6)退回到hadoop的家目錄,為.ssh賦予權限

chmod 700 .ssh

表示為.ssh目錄賦予700的權限

chmod 600 .ssh/*

表示為.ssh目錄下的所有檔案賦予600的權限

注意:700、600指什麼意思?比如檔案權限"-rw-------"其中第一個“-”表示該檔案為普通檔案,接下來9個字元3個為一組,第一組表示該使用者的讀、寫、執行權限,第二組表示使用者組,第三組表示其他使用者。其中檔案的讀、寫和執行權限,對應字母分别為W/r/x 對應數字分别為4/2/1,那麼700就表示使用者有讀、寫、執行權限(7=4+2+1),而使用者組和其他使用者什麼權限都沒有。(其實賦予權限這兩步也可以不做)

擴充知識:

chmod和chown的差別和聯系?

chown用于對檔案或目錄賦予使用者和使用者組權限

chmod用于對檔案或目錄賦予讀寫執行權限

7)驗證SSH免密碼是否配置成功

用ssh登入dajiangtai,第一次登入需要輸入yes,第二次以後就不用輸入密碼了,如果能達到這個效果就表示SSH免密碼登入設定成功,登陸的時候用ssh dajinagtai這個指令。
           

注意:每次免密碼登入到其他主機做完對應操作之後一定要退出出來。否則很容易出現錯誤。

十、安裝配置JDK

1、為什麼要安裝jdk?

因為hadoop軟體是由Java編寫的,Java代碼的運作要有Java運作環境及相關的依賴包,是以首先要安裝配置JDK。

2、怎麼安裝JDK?

(1)首先建立安裝目錄

就是把自己所有需要安裝的檔案都放在這個安裝目錄下,以便于管理和維護。(一般在搭建叢集之前都要進行目錄規劃,比如你安裝的軟體放在哪個目錄下,資料、中繼資料、臨時資料放在哪個目錄下等等,這些目錄都要提前規劃好,并賦予好對應的權限,而且這些路徑要和配置檔案裡的一緻)

(2)如何建立安裝目錄呢?

Linux建立目錄的指令:mkdir (make directory 的縮寫)

比如我們可以輸入mkdir -p /home/hadoop/app(-p指就是如果沒有父目錄,我們也可以一同建立),當然我們也可以切換到cd /home/hadoop目錄下,然後輸入mkdir app指令建立這個目錄。
           

為了便于管理,實作安裝包和解壓包的隔離,我再建立兩個目錄,soft目錄用于存儲安裝包,modules目錄用于存儲解壓後的軟體包。

(3)上傳已經在本地下載下傳好的jdk安裝包到已建立安裝目錄下

也可使用官網下載下傳位址:http://www.oracle.com/technetwork/java/javase/archive-139210.html

可以使用rz指令,也可以使用filezilla或其他檔案傳輸工具

(4)輸入指令tar zxvf 安裝包,進行解壓(這裡安裝的tar包是放到一個soft目錄下,解壓之後的軟體放到一個modules目錄下)

        tar zxvf jdk-7u79-linux-x64.tar.gz -C ./../modules/
           

(其中,z代表gzip的壓縮包;x代表解壓;v代表顯示過程資訊;f代表後面接的是檔案)

注意:指定檔案的路徑時要和自己檔案的存放路徑一緻,一定要靈活運用。

3、設定環境變量并生效

1)vi /etc/profile,然後配置如下内容。
           

2)輸入:source /etc/profile使配置檔案生效。

(source指令的作用是,将目前設定的配置重新整理。或者我們常說的讓配置檔案生效)

4、驗證jdk的安裝是否成功

    輸入java -version,出現版本資訊就表示jdk安裝成功。
           

十一、安裝配置Hadoop

1、下載下傳并上傳Hadoop安裝包

切換到之前規劃好的軟體安裝目錄,用rz指令或FileZilla工具上傳提前下載下傳到本地的Hadoop安裝包到指定的軟體安裝目錄下。或使用指令“wget+軟體安裝包連結”的形式線上下載下傳Hadoop安裝包,由于軟體包比較大,下載下傳時間比較長,是以不建議采用這種方式。

如果沒有下載下傳,請下載下傳hadoop2.6.0的安裝包。

Hadoop 安裝包也可以直接在官網下載下傳,沒有32位和64位的區分。

下載下傳位址:https://archive.apache.org/dist/hadoop/common/

2、如果是在root使用者下上傳的hadoop安裝包,那麼該安裝包的權限就是root使用者,那麼如果在hadoop使用者下解壓,就會出現權限問題導緻不能正确解壓。是以在解壓之前要先賦予檔案正确的權限。
           

3、解壓Hadoop安裝包

輸入如下指令進行解壓:
           

4、配置hadoop環境變量

(1)輸入指令vi /etc/profile

(2)配置環境變量

1)配置格式如下:

添加HADOOP_HOME=hadoop的安裝目錄

PATH=$HADOOP_HOME/bin:$PATH

export HADOOP_HOME PATH

2)具體配置如下:
           

然後:wq儲存退出

(3)使配置檔案生效source /etc/profile

(4)輸入指令“hadoop version”檢查hadoop是否安裝成功。
           

5、修改hadoop配置檔案

(1)為什麼要修改配置檔案

        如果不修改hadoop配置檔案,系統将使用hadoop預設的屬性值,有些預設屬性值不滿足僞分布式叢集的搭建(比如副本個數預設為3,而現在隻有一個datanode節點無法存儲3個副本),是以就要根據叢集搭建的特殊需求修改相應的屬性來覆寫預設的屬性值。

(2)配置檔案的位置

        Hadoop安裝目錄下的/etc/hadoop

比如:
           

(3)修改哪些配置檔案以及如何修改?

主要修改6個配置檔案:

(1)hadoop-env.sh

     主要修改JDK的安裝目錄,具體配置如下:

    image.png

(2)core-site.xml

(3)hdfs-site.xml

(4)mapred-site.xml

(5)yarn-site.xml

(6)slaves

     主要配置從節點(比如DataNode)的主機名,即你想讓哪個節點作為DataNode節點,那麼你就可以把該節點的主機名配置到slaves檔案中,如果有多個節點要配置,就按照上面的要求逐行添加,具體配置如下:
           

注意:配置檔案需要根據自己的情況做相應的修改,具體如何修改,每個屬性及值代表的含義可參考對應視訊解釋。

6、建立配置檔案中指定的3個目錄。如果不提前建立,将會導緻格式化失敗。
           

修改目錄的使用者權限為hadoop,否則會因為權限問題導緻資料寫入不成功。

注意:這幾個目錄一定要提前建立,并賦予好權限,而且要和配置檔案中指定的目錄一緻。

十二、格式化NameNode

1、為什麼要格式化NameNode?

格式化是對HDFS這個分布式檔案系統中的DataNode進行分塊,統計所有分塊後的初始中繼資料,然後存儲在NameNode中。

2、執行如下指令對NameNode進行格式化。

在hadoop使用者下,使用hadoop目錄下的bin目錄下的hadoop指令, 即先切換到hadoop使用者下的hadoop安裝目錄下。然後輸入指令bin/hadoop namenode -format即可。

切換到hadoop安裝目錄下的bin目錄,然後輸入指令./hadoop namenode -format也可以,如下圖所示:
           

當出現如下标志,就表示NameNode已經成功的格式化了。

格式化成功之後,檢視hdfs-site.xml配置檔案中dfs.namenode.name.dir指定的/data/dfs/name目錄下是否有current目錄,如果有,也說明格式化成功)

在current目錄下有如下幾個檔案,他們代表的含義分别如下:
           
fsimage:是NameNode中繼資料在記憶體中滿了之後,持久化儲存到的檔案。

fsimage*.md5是校驗檔案,用于校驗fsimage的完整性。

seen_txid記錄一個id号。

VERSION檔案裡儲存的是namespaceID:NameNode的唯一ID

clusterID:叢集ID,NameNode和DataNode的叢集ID應該一緻,表明是一個叢集。
           
edits:是編輯日志檔案,當使用者對檔案系統進行操作的時候,就會生成對應的編輯日志檔案。目前還沒有做任何操作,是以還沒有編輯日志檔案。
           

十三、啟動Hadoop叢集

(1)在hadoop安裝目錄下的sbin目錄下執行start-all.sh腳本。
           
(2)輸入jps(java process server) ,如果出現以下程序(5個,不包括jps)表示叢集啟動成功。

        其中jps的作用是顯示目前系統的java程序情況,及其id号。jps僅查找目前使用者的Java程序,而不是目前系統中的所有程序。
           

十四、驗證Hadoop叢集是否搭建成功

1、通過Web UI 檢視HDFS和YARN

Hadoop僞分布叢集啟動之後,我們可以通過WebUI檢視HDFS和YARN。

(1)通過預設的50070端口通路HDFS檔案系統,這個端口可以在預設配置檔案hdfs-default.xml中找到。
           

浏覽器通路:

http://ip:50070

(2)通過預設的8088端口通路YARN,這個端口可以在預設配置檔案yarn-default.xml中找到。

http://ip:8088

spacer.gif

(3)通過主機名通路HDFS和YARN

1)在本機的Windows系統中,以上Web UI我們都是通過ip在浏覽器中直接通路的,如果想通過hostname來通路,我們需要配置Windows下的HOSTS檔案。Windows下的HOSTS檔案絕對路徑為C:\Windows\System32\drivers\etc
           

2)在HOSTS檔案中添加hostname與ip之間的對應關系,中間用空格分開。

3)然後就可以通過hostname通路HDFS和YARN。

浏覽器通路

http://

域名:50070

域名:8088/cluster

2、測試運作Hadoop僞分布叢集

(1)Hadoop 僞分布叢集搭建好之後,我們通過指令檢視hdfs根目錄下沒有任何檔案。
           

(2) 準備資料

1) 首先在/home/hadoop/app目錄下建立一個data目錄。

2)    然後在data目錄下建立一個檔案djt.txt,可以輸入如下資料。

3)    然後把該檔案上傳至hdfs的/目錄下。
           

4) 檢查是否上傳成功4) 檢查是否上傳成功

指令: hadoop fs -ls/

(3)運作Hadoop例子中自帶的wordcount程式。

1)切換到mapreduce代碼的jar包所在的位置
           

2)執行如下指令運作WordCount

其中hadoop jar是運作mapreduce的jar包的指令。

./hadoop-mapreduce-examples-2.6.0.jar指jar包的位置,這裡用的是相對路徑。

wordcount表示要運作的主類的名稱,因為jar包中可以包含多個mapreduce代碼,要運作哪個必須明确指定。

/djt.txt指HDFS檔案系統中/目錄下的djt.txt檔案,用來表示輸入路徑,注意:輸入路徑必須存在。

/djt指/目錄下djt目錄,用來表示輸出目錄,注意:輸出目錄不能提前存在,如果提前存在,代碼就不會運作并提示相應的錯誤。

4) 運作成功之後,可以通過web界面檢視作業運作結果。結果就在part-r-00000檔案中。可以下載下傳該檔案檢視最終運作結果。
           

也可以通過shell指令的方式檢視最終運作結果,操作如下:

5)也可以通過: 域名:8088 界面中看到作業的運作進度和狀态。

如果以上wordcount程式能正常運作,說明Hadoop僞分布叢集就安裝成功了。