Hadoop叢集搭建——環境配置
一、叢集搭建注意問題說明
1、此處叢集環境搭建我使用了三臺主機進行模擬,分別為:
hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com
2、叢集搭建前需要注意的問題:
(1)叢集中的節點的使用者名稱登陸名和密碼應當保持一致。
(2)hadoop和jdk的安裝目錄應當保持一致。
以上保持一致不是必須的,只是為了防止環境搭建過程中的不必要的麻煩。
二、主機節點配置
1、修改主機名:
(1)臨時修改
hostname hadoop-series.bxp.com
此方法可以直接生效,但是電腦重啟後將會失效。電腦重啟將會讀取配置檔案。
(2)修改配置檔案/etc/hostname,填寫你的主機名
hadoop-series.bxp.com
使用以上的方法分別將三臺的主機的主機名修改為:
hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com
2、修改/etc/hosts檔案,配置主機名到IP地址的對映。
192.168.1.103 hadoop-series.bxp.com hadoop-series
192.168.1.133 hadoop-series1.bxp.com hadoop-series1
192.168.1.135 hadoop-series2.bxp.com hadoop-series2
三、叢集搭建
1、分析叢集分佈
為了提高叢集的高可用性,把NameNode,ResourceManager,SecondaryNamenode分別方式在不同的機器上,最終分佈如下:
條目 | 主機1 | 主機2 | 主機3 |
---|---|---|---|
HDFS | NameNode, DataNode | DataNode | DataNode, SecondaryNameNode |
YARN | NodeManager | ResourceManager, NodeManager | NodeManager |
MapReduce | JobHistoryServer |
2、根據上述節點非配結果進行配置節點分佈,配置各個檔案:
(1)hdfs相關配置
hadoop-env.sh(配置hdfs執行環境):
JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131
core-site.xml(配置namenode所在主機):
<configuration>
<!--namenode所在主機-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-series.bxp.com:8020</value>
</property>
<!--臨時目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/bxp/Documents/install/hadoop-2.6.5/data/tmp</value>
</property>
<!--垃圾回收-->
<property>
<name>fs.trash.interval</name>
<value>420</value>
</property>
</configuration>
hdfs-site.xml(配置secondNameNode所在主機):
<configuration>
<!-- 副本數量不需要進行控制,預設就可以-->
<!--
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
-->
<!-- secondaryNamenode放在第hadoop-series2.bxp.com上-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-series2.bxp.com:50070</value>
</property>
</configuration>
slaves(配置dataNode所在主機):
hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com
(2)YARN相關配置
yarn-env.sh(配置yarn執行環境):
JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131
yarn-site.xml(配置resouceManager所在主機):
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置ResourceManager在hadoop-series1.bxp.com上-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-series1.bxp.com</value>
</property>
<!--配置日誌聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--配置日誌在檔案系統中存放的秒數(604800為7天)-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
slaves(配置NodeManager):
hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com
(3) MapReduce相關配置
mapred-env.sh(配置mapreduce執行環境):
JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131
mapred-site.xml(配置JobHistoryServer所在主機):
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--配置job-history-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop-series1.bxp.com:10020</value>
</property>
<property> <name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop-series1.bxp.com:19888</value>
</property>
</configuration>
四、配置節點間的無金鑰登陸
配置namenode節點和ResourceManager節點到其他節點的無金鑰登陸。
五、分發已經配置好的hadoop安裝包到其他各個節點
scp -r /home/bxp/hadoop hadoop-series1.bxp.com:/home/bxp
scp -r /home/bxp/hadoop hadoop-series2.bxp.com:/home/bxp
到這裡叢集搭建叢集搭建的配置已經完畢了,如果想進行一些操作去測試叢集的搭建是否成功,可以檢視Hadoop啟動模式,基本配置,啟動方式。