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