hadoop學習筆記之配置、三種模式配置及區別

目錄

 

JDK、Hadoop安裝、配置

本地模式(standalone operation)配置

實例1

實例2

僞分佈式模式配置

本地運行

YARN上運行

三種模式區別

單機模式

僞分佈式模式

完全分佈式模式


JDK、Hadoop安裝、配置

  1. 先去官網http://hadoop.apache.org/下載hadoop,我下的是hadoop2.5.2.tar.gz
  2. 去jdk官網下載jdk1.7 linux.tar.gz 或者百度網盤https://pan.baidu.com/s/1qWoS4ws
  3. 下載filezilla https://filezilla-project.org/download.php ,登錄的時候端口號爲22,主機位ip地址,將下載的hadoop和jdk複製到/opt/softwares裏面。
  4. 打開虛擬機,打開Xshell5,輸入su定位到根目錄,rpm -qa|grep java 找到含java的文件,然後輸入rpm -e --nodeps (……上面過濾的目錄),強制刪除這些文件。我的是這樣的:
  5. cd到/opt/softwares,然後給此目錄下所有文件用戶權限加上可執行(x),
  6. 解壓:
  7. 配置環境變量:新建一個xshell窗口,然後編輯/etc/profile

 按G到達結尾,把剛纔的安裝的目錄

 

/opt/modules/jdk1.7.0_79編輯進/etc/profile

然後source一下生效,

 

退出後重新連接 輸入java -version驗證是否配置成功:

hadoop配置操作類似:

用notepad++連接虛擬機,如果第一次用可能要安裝NppFTP插件,否則沒有,配置文件就在圖片灰色的hadoop下,然後

在hadoop下找到hadoop-env.sh用notepad++打開,輸入echo ${JAVA_HOME} ,將得到的路徑粘貼到下圖位置:

本地模式(standalone operation)配置

定義:MapReduce程序運行在本地,啓動JVM。

方法:

在hadoop-2.5.2目錄下創建Input目錄;

在input目錄下創建某某.input;

在hadoop-2.5.2目錄調用bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar 指令 input output ;

cat output/part-r-00000  查看結果集。

實例1

複製.xml文件到input中:

查詢input裏面含dfs加上a-z或.出現至少一次的字串,並把結果集輸出到output裏面:

如果是_SUCCESS則成功,_SUCCESS什麼用都沒有,只是起標識作用。這裏part-r-00000就是結果集。

實例2

統計每個單詞數量

僞分佈式模式配置

在etc/hadoop下找到core-site.xml,用notepad++打開,

在etc/hadoop找到hdfs-site.xml,用notepad++打開

本地運行

格式化:

啓動:

啓動成功:

hdfs web:在linux系統網頁裏輸入主機名:50070,我的是:

修改主機名看這個:https://jingyan.baidu.com/article/574c52192a1d8d6c8d9dc1ce.html

創建目錄:

從本地上傳文件:

查看文件內容:也可以通過web查看,utilities---browse the file system

統計單詞數量:

查看結果:,web上也有

YARN上運行

/etc/hadoop下找到 yarn-env.sh配置JAVA_HOME(通過echo $JAVA_HOME):

yarn-site.xml:

slaves:改成自己的主機名:

不用格式化,啓動resourcemanager和nodemanager:

默認端口號8088,web打開方式:hadoop-mcq(主機名):8088

mapred-env.sh配置JAVA_HOME:

找到mapred-site.xml.template並重命名爲mapred-site.xml,然後配置

先把以前的輸出刪掉:

運行:

三種模式區別

單機模式

-默認模式。

-不對配置文件進行修改。

-使用本地文件系統,而不是分佈式文件系統。

-Hadoop不會啓動NameNode、DataNode、JobTracker、TaskTracker等守護進程,Map()和Reduce()任務作爲同一個進程的不同部分來執行的。

-用於對MapReduce程序的邏輯進行調試,確保程序的正確。

僞分佈式模式

-在一臺主機模擬多主機。

-Hadoop啓動NameNode、DataNode、JobTracker、TaskTracker這些守護進程都在同一臺機器上運行,是相互獨立的Java進程。

-在這種模式下,Hadoop使用的是分佈式文件系統,各個作業也是由JobTraker服務,來管理的獨立進程。在單機模式之上增加了代碼調試功能,允許檢查內存使用情況,HDFS輸入輸出,以及其他的守護進程交互。類似於完全分佈式模式,因此,這種模式常用來開發測試Hadoop程序的執行是否正確。

-修改3個配置文件:core-site.xml(Hadoop集羣的特性,作用於全部進程及客戶端)、hdfs-site.xml(配置HDFS集羣的工作屬性)、mapred-site.xml(配置MapReduce集羣的屬性)

-格式化文件系統

完全分佈式模式

-Hadoop的守護進程運行在由多臺主機搭建的集羣上,是真正的生產環境。

-在所有的主機上安裝JDK和Hadoop,組成相互連通的網絡。

-在主機間設置SSH免密碼登錄,把各從節點生成的公鑰添加到主節點的信任列表。

-修改3個配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml,指定NameNode和JobTraker的位置和端口,設置文件的副本等參數

-格式化文件系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章