1. 程式人生 > >hadoop 全分散式環境搭建—— 詳細步驟

hadoop 全分散式環境搭建—— 詳細步驟

材料:三臺 linux 虛擬機器 hadoop2.7.2 版本 以下全分散式搭建步驟

:前期分別 配置好JDK 建立hadoop 使用者

設定好主機名稱 hosts 主機地址對映  免密登入  防火牆關閉  三臺虛擬機器的互相通訊

 

開始安裝:在/opt下建立一個 software 資料夾

 

第一步:修改seLinux檔案中 目錄檔案地址 /ect/sysconfig/selinux

SELINUX=disabled

 

第二步:將hadoop 傳到 系統中,並解壓到 /opt/software 中,(注意 hadoop使用者的許可權)

 

第三步,修改/etc/profile 和 etc/hadoop hadoop-env.sh 配置環境,和

mapred-env.sh yarn-env.sh 環境配置

 

 

 

第四步,配置 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml 

1 .core-site.xml

(1) 配置HDFS的路徑的地址

  <property>

        <name>fs.defaultFS</name>

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

    </property>

(2)修改hadoop臨時儲存目錄

<property>

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

        <value>/opt/app/hadoop-2.7.2/data/tmp</value>

</property>

2.hdfs-site.xml

(1) 配置HDFS 的複製因子

<property>

        <name>dfs.replication</name>

        <value>3</value>

 </property>

(2) 關閉HDFS 許可權檢查

<property>

           <name>dfs.permissions.enabled</name>

           <value>false</value>

</property>

(3) HDFS WEB訪問伺服器的主機名和埠號

<property>

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

  <value>0.0.0.0:50070</value>//0.0.0.0代表本機

</property>

(4)定義secondarynamenode 外部地址 訪問的主機和埠

<property>

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

  <value>hadoop03:50090</value> //原來0.0.0.0 因為在hadoop03中開啟 要修改hadoop03

</porperty>

(5) 配置 namenode  fsimage  edites  儲存目錄

<property>

  <name>dfs.namenode.name.dir</name>

  <value>file://${hadoop.tmp.dir}/dfs/name</value>

</property>

(6) 配置namednoe  edits 儲存模式

<property>

  <name>dfs.namenode.edits.dir</name>

  <value>${dfs.namenode.name.dir}</value>

</property>

(7) 配置datanode 資料儲存目錄

<property>

  <name>dfs.datanode.data.dir</name>

  <value>file://${hadoop.tmp.dir}/dfs/data</value>

</property>

(8) 修改secondaryNameNode fsimage  的儲存路徑

<property>

  <name>dfs.namenode.checkpoint.dir</name>

  <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>

</property>

(9) 修改secondaryNameNode edits 的儲存路徑

<property>

  <name>dfs.namenode.checkpoint.edits.dir</name>

  <value>${dfs.namenode.checkpoint.dir}</value>

</property>

 

3. mapred-site.xml

(1) 設定Mapreduce 框架執行名稱yarn

<property>

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

        <value>yarn</value>

 </property>

(2) 配置歷史伺服器的web訪問主機

<property>

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

        <value>hadoop01:19888</value>

 </property>

(3) Uber模式開啟

<property>

  <name>mapreduce.job.ubertask.enable</name>

  <value>true</value>

</property>

4. yarn-site.xml

(1) 設定yarn 中的服務類

<property>

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

        <value>mapreduce_shuffle</value>

</property>

(2) 配置resourcemanager 的主機位置

<property>

    <description>The hostname of the RM.</description>

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

     <value>hadoop02</value>//原本0.0.0.0 因為該服務在hadoop02中開啟修改成hadoop02

</property>

(3) 啟用日誌聚集的功能

<property>

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

    <value>true</value>

</property>

(4)    設定HDFS上日誌的儲存時間

<property>

   <name>yarn.nodemanager.log.retain-seconds</name>

    <value>10800</value>

 </property>

 

第五步 .配置完成之後,在slaves 配置從節點的主機名稱

hadoop01

hadoop02

hadoop03

 

 

格式化

首先要記住,不要頻繁的格式化namenode, 如果非要格式化namenode,先刪除tmp目錄中的內容 ,清空之前,最好把所有的程序jps 中的殘存的服務關掉,如果不關閉的話會存在遺留的程序,就有可能佔用之前的埠號

 

 

 

對伺服器中的服務進行規劃

 

Hadoop01         hadoop02          hadoop03

 

Namenode         datanode           datanode

 

Datanode          resourcemanager     nodemanager

 

Nodemanager       nodemanager        secondaryNamenode

 

Historyserver