Hadoop Cluster 安裝


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

目標

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

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

准備

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

安裝

搭建一個Hadoop集群需要將軟件安裝到集群中的所有機器中,或者一個適合當前操作系統集成的系統。這樣做的目標就是區分不同的硬件安裝不同的功能。

典型的安裝是在一個集群中一個機器作為NameNode節點,其它機器作為ResourceManager.當然,這台機器的角色就是Masters.其它的服務(比如Web App Proxy Server 和MapReduce Job History server)一般運行在別的硬件或者共享的信息架構上,依賴於系統的負載。

在集群中剩下的機器就是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 存儲數據塊的本地目錄系統,一般以路徑列表存放 如果這里是以逗號分隔的目錄列表,那么這個數據將被存儲在所有的目錄下,一般是不同的磁盤驅動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM