1. 程式人生 > >Hadoop搭建完全分散式環境

Hadoop搭建完全分散式環境

在搭建叢集中,常見的錯誤

1)格式化
首先要記住,不要頻繁的格式化namenode, 如果非要格式化namenode,先刪除tmp目錄中的內容 ,清空之前,最好把所有的程序jps 中的殘存的服務關掉,如果不關閉的話會存在遺留的程序,就有可能佔用之前的埠號。
2)埠可能被佔用
3)避免多使用者的使用,多使用者的時候會造成pid的衝突
4)最好fsimage edites 儲存的目錄也清空一下

Hadoop搭建完全分散式環境

1)前期的準備 必須存在三臺虛擬機器 每個虛擬機器的記憶體個人建議2g

2)每天虛擬機器配置必須完全一致

3)防火牆必須關閉,最好永久性的關閉,設定獨立使用者 hadoop , 為每臺伺服器設定主機名

4)設定ip與主機名稱的對映 hosts
5)三臺主機設定ssh免密登入
6)對伺服器中的服務進行規劃

Hadoop01 hadoop02 hadoop03

Namenode datanode datanode

datanode resourcemanager nodemanager

Nodemanager nodemanager secondaryNamenode

Historyserver

搭建過程

1)配置hadoop-env.sh , yarn-env.sh, mapred-env.sh 配置這個三個檔案的JAVA_HOME
2)配置core-site.xml 檔案

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
  </property>
	
	<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/app/hadoop-2.7.2/data/tmp</value>
    </property>

3)配置hdfs-site.xml
關閉HDFS許可權檢查

<property>
	  <name>dfs.permissions.enabled</name>
	  <value>false</value>
</property>

配置scondaryNamenode訪問服務位置 hdfs

<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop03:50090</value>
</property>

4 )配置yarn-site.xml

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>

開啟日誌聚集

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  
  <property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>10800</value>
  </property>

配置resourcemanager的主機位置

<property>
    <description>The hostname of the RM.</description>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop02</value>
  </property>

5 配置mapred-site.xml
指定執行框架為yarn

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

指定歷史伺服器

<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop01:19888</value>
    </property>

配置完成之後,在slaves 配置從節點的主機名稱
hadoop01
hadoop02
hadoop03

先實現ssh免密碼登入,共copy9次
以上的配置完成之後,需要把hadoop的配置檔案分發到各個節點之上可以使用
Scp 命令完成
scp -r /opt/app/hadoop-2.7.2/etc/hadoop [email protected]:/opt/app/hadoop-2.7.2/etc/
分發之前,別的節點上必須存在相同的目錄

注意: 每一個節點上必須已經安裝好JDK環境,並且配置好環境變數

安裝完成之後,就可以通過 格式化命令 格式化namenode
格式化前要先刪除tmp下的所有檔案,刪除檔案之前要先停止所有服務

sbin/mr-jobhistory-daemon.sh stop historyserver
sbin/stop-dfs.sh
sbin/stop-yarn.sh

rm -rf /opt/app/hadoop-2.7.2/data/tmp/*
bin/hadoop namenode -format

hadoop01
啟動historyserver
sbin/mr-jobhistory-daemon.sh start historyserver
啟動HDFS
sbin/start-dfs.sh

hadoop02啟動yarn
sbin/start-yarn.sh