hadoop2.5.0完全分布式環境搭建(親測有效)

? ? ? 說在前頭的一些東西,關于Linux本身環境本身的一些處理見如下鏈接,主要是講Hadoop環境的前期準備:http://www.lxweimin.com/p/d8720d0828dd

一.環境:

? ? ?java: ? jdk1.7.0_80

? ? ?Linux: ?CentOS6.5

? ? ?Hadoop:? hadoop-2.5.0

二.集群規劃:

Hadoop01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Hadoop02 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Hadoop03

namenode ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

datanode ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? datanode ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?datanode

nodemanager ? ? ? ? ? ? ? ? ? ? ? ? ? ? nodemanager ? ? ? ? ? ? ? ? ? ? ? ? ? ? nodemanager

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? resourcemanager

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?secondarynamenode

三.按如下步驟依次操作各個文件:

1.啟動文件,修改這三個文件的JAVVA_HOEM變量:

? ? ? ? hadoop-env.sh

? ? ? ? yarn-env.sh

? ? ? ? mapred-env.sh


2.修改core-site.xml文件,編輯內容如下:

<property>

? ? ? ? <name>fs.defaultFS</name>

? ? ? ? <value>hdfs://hadoop01:8020</value>

</property>

<property>

? ? ? ? ?<name>hadoop.tmp.dir</name>

? ? ? ? ?<value>/home/shiluo/softwares/hadoop-2.5.0/data/tmp</value>

</property>

#該參數代表從HDFS上刪除的文件暫存的時間(60 * 24)

<property>

? ? ? ? <name>fs.trash.interval</name>

? ? ? ? <value>1440</value>

</property>


3.修改hdfs-site.xml文件,編輯如下內容:

#配置secondarynamenode

<property>

? ? ? ? <name>dfs.namenode.secondary.http-address</name>

? ? ? ? <value>hadoop03:50090</value>

</property>


4.修改slave文件,將集群需要部署datanode進程節點的hostname寫入該文件


5.修改yarn-site.xml文件,編輯如下內容:

<property>

? ? ? ? ? <name>yarn.resourcemanager.hostname</name>

? ? ? ? ? <value>hadoop02</value>

</property>

#NodeManager上運行的附屬服務,該參數是為了可以運行mapreduce程序

<property>

? ? ? ? <name>yarn.nodemanager.aux-services</name>

? ? ? ? <value>mapreduce_shuffle</value>

</property>

#nodemanager可使用的內存,默認是8G

<property>

? ? ? ? ?<name>yarn.nodemanager.resource.memory-mb</name>

? ? ? ? ?<value>4096</value>

</property>

#nodemanager可以使用的虛擬CPU個數

<property>

? ? ? ? <name>yarn.nodemanager.resource.cpu-vcores</name>

? ? ? ? <value>4</value>

<property>

#添加日志聚集功能

<property>

? ? ? ? <name>yarn.log-aggregation-enable</name>

? ? ? ? <value>true</value>

</property>

#日志可以存放的時間

<property>

? ? ? ? <name>yarn.log-aggregation.retain-seconds</name>

? ? ? ? <value>640800</value>

</property>


6.修改mapred-site.xml文件(改文件默認是不存在的,把mapred-site.xml.template文件修改即可),編輯如下內容:

<property> ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ?<name>mapreduce.framework.name</name>

? ? ? ? ?<value>yarn</value>

</property>

<property>

? ? ? ? ?<name>mapreduce.jobhistory.address</name>

? ? ? ? ?<value>hadoop01:10020</value>

</property>

<property>

? ? ? ? ?<name>mapreduce.jobhistory.webapp.address</name>

? ? ? ? ?<value>hadoop01:19888</value>

</property>


7.至此,全部配置完成,在分發之前將share下面的doc目錄刪掉,增加分發的速度,使用如下命令進行分發任務

scp -r hadoop-2.5.0 hadoop02:/home/shiluo/software/

scp -r hadoop-2.5.0 hadoop03:/home/shiluo/software/


8.在Hadoop01這臺機器上執行如下命令進行格式化:

bin/hdfs ?namenode -format


好,到這里基本上大功告成,然后啟動進程,做一些基本的測試(例如:文件的上傳,下載,讀取等等操作),試試集群是否能夠正常工作,下面介紹幾個集群搭建出現的問題。


問題一:namenode進程不能正常啟動?

解決辦法:查看namenode的啟動日志,

? ? ? ? ? ? ? ? ? ①.一般是namenode配置有問題,仔細核對core-site.xml和hdfs-site.xml文件

? ? ? ? ? ? ? ? ? ②.第二種情況是多次格式化namenode造成的,需要刪除集群中每臺節點/tmp目錄下的所有東西,還有hadoop.tmp.dir目錄下的東西,即可解決。


問題二:啟動集群后,datanode沒有正常啟動?

解決辦法:查看namenode的啟動日志發現,出現了端口被占用的情況導致datanode沒有正常啟動,使用 netstat -anp | grep 端口號 ?命令查到進程號kill掉,在啟動集群即可解決。



至此,集群搭建全部講解完畢,預祝各位朋友可以搭建成功;下一篇將介紹在此基礎上如何搭建出一個高可用的(HA),同時具有Failover(故障自動轉移)功能的分布式集群。

Hadoop2.5.0 HA構建 鏈接:

http://www.lxweimin.com/p/302ab34c8a80

如需轉載,請注明出處,謝謝!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容