Hadoop Cluster 安裝

本篇源自Hadoop官網,先將中文翻譯以下。node

目標安全

本文章主要是描述如何安裝和配置幾個節點的Hadoop clusters,甚至於數以千計的節點數。爲了瞭解詳細的安裝步驟,須要先了解如何安裝在單臺機器上。多線程

本文檔不包含高級的設置點,好比:安全性或者高可用性。架構

準備分佈式

  • 須要安裝Java環境
  • 從Apache網站下載一個穩定的Hadoop安裝鏡像

安裝oop

搭建一個Hadoop集羣須要將軟件安裝到集羣中的全部機器中,或者一個適合當前操做系統集成的系統。這樣作的目標就是區分不一樣的硬件安裝不一樣的功能。網站

典型的安裝是在一個集羣中一個機器做爲NameNode節點,其它機器做爲ResourceManager.固然,這臺機器的角色就是Masters.其它的服務(好比Web App Proxy Server 和MapReduce Job History server)通常運行在別的硬件或者共享的信息架構上,依賴於系統的負載。spa

在集羣中剩下的機器就是DataNode和NodeManager.他們的角色是slaves.操作系統

非安全模式下的Hadoop配置 線程

Hadoop的Java配置項被分爲兩部分重要的配置文件:

  • 只讀的默認配置文件:core_default.xml,hdfs-default.xm,yarn-default.xml 和mapred-default.xml.
  • 特殊定義的配置文件:etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml,etc/hadoop/yarn-site.xml和etc/hadoop/mapred-site.xml.

另外,須要有權限設置Hadoop scripts腳本在分佈式集羣中的各個目錄文件 bin/directory,須要設置的文件爲 etc/hadoop-env.sh 和 etc/hadoop/yarn-env.sh.

爲了可以保證Hadoop守護進程很好的運行,須要配置hadoop集羣所須要的環境。

HDFS守護進程是NameNode,SecondaryNameNode和DataNode,YARN守護進程是ResourceManager,NodeManager和WebAppProxy,若是MapReduce被使用,那麼MapReduce 的任務 History Server將會被運行,若是是大集羣的安裝,他們將被運行在不一樣的主機上。

Hadoop守護進程環境配置

管理員須要利用etc/hadoop/hadoop-env.sh 和可選的 etc/hadoop/mapred-env.sh 和etc/hadoop/yarn-env.sh 腳本去配置Hadoop各個守護進程的環境。 

之少,須要配置的是JAVA_HOME確保在每個遠程節點上都是正確的。

管理員須要配置一下的獨自守護進程利用下面的表格:

 守護進程 參數名稱
NameNode HADOOP_NAMENODE_OPTS
DataNode HADOOP_DATANODE_OPTS
Secondary NameNode HADOOP_SECONDARYNAMENODE_OPTS
ResourceManager YARN_RESOURCEMANAGER_OPTS
NodeManager YARN_NODEMANAGER_OPTS
WebAppProxy YARN_PROXYSERVER_OPTS
Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_OPTS

 

 

 

 

 

 

 

 

 舉一個例子,能夠配置Namenode用parallelGC,下面的片斷須要被添加到hadoop-env.sh:

 export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"

 

來看一下 etc/hadoop/hadoop-env.sh的其它一些例子。
其它的一些有用的可配置參數,能夠自定義以下:

  • HADOOP_PID_DIR 這個是守護進程ID文件存放的目錄路徑
  • HADOOP_LOG_DIR 這個是守護進程日誌存儲的目錄路徑,日誌會被自動建立若是沒有的話
  • HADOOP_HEAPSIZE/YARN_HEAPSIZE 最大的堆使用的內存值,單位爲:MB,若是這個參數被設置成1000,那就意味着堆將使用1000MB的內存值,這個參數主要用於守護進程內存值的大小設置。默認值是1000,能夠爲每一個守護進程分配不一樣大小的值。

在不少場景中,必須設置這個HADOOP_PID_DIR和HADOOP_LOG_DIR這兩個目錄,以方便用戶能夠輸出日誌在運行守護進程的時候。

 守護進程 參數值
ResourceManager YARN_RESOURCEMANAGER_HEAPSIZE
NodeManager YARN_NODEMANAGER_HEAPSIZE
WebAppProxy YARN_PROXYSERVER_HEAPSIZE
Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_HEAPSIZE

 

 

 

 

 

 

 Hadoop守護環境配置

在Hadoop壞境中有一個很是重要的參數文件:

  • etc/hadoop/core-site.xml
參數名稱 提示
fs.defaultFS NameNode URI hdfs://host:port/
io.file.buffer.size 131072 Size of read/write buffer used in SequenceFiles.

 

 

 

  • etc/hadoop/hdfs-site.xml
  • 配置守護進程NameNode:
 參數名稱 提示
dfs.namenode.name.dir 文件路徑,用戶存儲NameNode進程的命名空間和事務日誌 若是這裏用逗號分割的列表,將會複製分發到各個目錄以作爲冗餘數據進行備份
dfs.hosts / dfs.hosts.exclude DataNodes的節點列表(包含或排除) 若是須要,用戶經過設置這個列表來控制DataNodes的數量。
dfs.blocksize 268435456 HDFS 快的大小爲了存儲大文件系統.
dfs.namenode.handler.count 100 對於大量DataNodes的節點數開啓的多線程個數.

 

 

 

 

 

 

  • Configuration for DataNode:
參數名稱 提示
dfs.datanode.data.dir 存儲數據塊的本地目錄系統,通常以路徑列表存放 若是這裏是以逗號分隔的目錄列表,那麼這個數據將被存儲在全部的目錄下,通常是不一樣的磁盤驅動
相關文章
相關標籤/搜索