搭建hadoop偽分散式叢集環境過程中遇見的問題總結
1、網路配置問題:
在centos7中配置網路環境後,本機(win10系統)與虛擬機器centos7網路不通(本機可以ping通虛擬機器,但是虛擬機器ping不通本機);
解決方式:
方式1:檢視本機win10系統的防火牆是否關閉,若沒有,直接關閉win10系統的防火牆即可;
方式2:修改本機配置:windows防火牆-高階設定-入站規則-虛擬機器監控(回顯請求-ICMPv4-Ln),把這項啟用即可。
2、建立的hadoop使用者,無法正常登陸,每次使用hadoop使用者操作都提示登陸密碼錯誤或者沒有許可權
解決方式:
對新增的使用者hadoop進行授權。
輸入visudo 找到98行新增
若還是不行的話,重新修改hadoop的密碼。
3、設定叢集虛擬機器中ssh無密碼登陸過程中,配置ssh免密碼登陸後,還提示輸入密碼;
解決方式:檢視系統的日誌檔案:tail /var/log/secure -n 20 如下所示:
提示目錄的屬主和許可權配置不當,因ssh不希望/home/Hadoop目錄對組有讀寫許可權;
通過chmod go-rw /home/Hadoop 重新登陸,提示不用輸入密碼。
4、安裝hadoop後,執行hadoop例項過程中若提示
是由於hadoop使用者沒有訪問/usr/local/hadoop目錄
解決方式:
修改檔案的所屬者及所屬組即可
Chown Hadoop /usr/local/Hadoop
Chgrp Hadoop /usr/local/Hadoop。
5、啟動Hadoop之前進行格式化namenode時候,hdfs namenode -format,提示:Exitting with status 1;
解決方式:
檢視配置檔案hdfs-site.xml檔案是否配置正確,是否把dfs.namenode.name.dir路徑配置正確
6、啟動hadoop過程中,提示:
解決方式:
開啟hadoop-env.sh檔案(hadoop安裝目錄中的etc/hadoop下面),修改JAVA_HOME路徑;
把export JAVA_HOME=${JAVA_HOME}修改為
export JAVA_HOME=/opt/java/jdk1.8.0.131(自己的jdk的安裝路徑)。
7、執行例項過程中,建立使用者目錄時,提示:
解決方式:
在HADOOP_HOME/etc/hadoop/hadoop-env.sh檔案中新增如下資訊:
export HADOOP_ROOT_LOGGER=DEBUG.console
檢視目錄是否建立成功,可使用命令 Hadoop fs -ls 目錄檔案 進行檢視。
8、複製檔案過程中,提示(如:put: `/user/hadoop/input': No such file or directory);
解決方式:使用hdfs dfs -mkdir -p /目錄檔案 依次建立所需的目錄檔案。
9、啟動叢集過程中,提示如下:
解決方式:
檢視兩個分節點java的環境變數是否配置正確(配置過程中目錄名稱寫錯)。
10、在搭建叢集環境中需要修改的配置檔案有:
Core-site.xml:hadoop的核心配置檔案;
Hdfs-site.xml:使用者配置nameNode的url以及NameNode和DataNode的存放為止;
Mapred-site.xml:mapreduce相關配置;
Yarn-site.xml:配置資源管理系統的yarn;
Slaves:配置DataNode的主機名。
注意:以上配置檔案,在搭建hadoop叢集過程中,各節點的配置檔案需要保持一致。