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