Java大數據之路--Hadoop(2)僞分佈式安裝

僞分佈式安裝

目錄

僞分佈式安裝

一、步驟

1、關閉防火牆

2、配置主機名

3、配置hosts文件,將主機名和ip地址進行映射

4、配置ssh進行免密互通

5、下載文件

6、配置hadoop-env.sh

7、配置 core-site.xml

          8、配置 hdfs-site.xml

         9、配置yarn-site.xml

         10、配置slaves

11、配置hadoop的環境變量

12、格式化namenode:hadoop namenode -format

13、啓動hadoop:start-all.sh

二、注意事項

三、 常見問題


一、步驟

1、關閉防火牆

臨時關閉:service iptables stop

永久關閉:chkconfig iptables off

2、配置主機名

需要注意的是Hadoop的集羣中的主機名不能有_。如果存在_會導致Hadoop集羣無法找到這羣主機,從而無法啓動!

編輯network文件:vim /etc/sysconfig/network

將HOSTNAME屬性改爲指定的主機名,例如:HOSTNAME=hadoop01

讓network文件重新生效:source /etc/sysconfig/network

 

3、配置hosts文件,將主機名和ip地址進行映射

編輯hosts文件:vim /etc/hosts

將主機名和ip地址對應,例如:10.42.3.8  hadoop01

4、配置ssh進行免密互通

生成自己的公鑰和私鑰,生成的公私鑰將自動存放在/root/.ssh目錄下:ssh-keygen

把生成的公鑰拷貝到遠程機器上,格式爲:ssh-copy-id [user]@host,例如:ssh-copy-id root@hadoop01

5、下載文件

  1. 重啓Linux讓主機名的修改生效:reboot
  2. 安裝JDK
  3. 上傳或者下載Hadoop安裝包到Linux中
  4. 解壓安裝包:tar -xvf hadoop-2.7.1_64bit.tar.gz
  5. 進入Hadoop的安裝目錄的子目錄etc/hadoop,配置Hadoop:cd hadoop2.7.1/etc/hadoop

6、配置hadoop-env.sh

  1. 編輯hadoop-env.sh:vim hadoop-env.sh
  2. 修改JAVA_HOME的路徑,修改成具體的路徑。例如:export JAVA_HOME=/home/software/jdk1.8
  3. 修改HADOOP_CONF_DIR的路徑,修改爲具體的路徑,例如:export HADOOP_CONF_DIR=/home/software/hadoop-2.7.1/etc/hadoop
  4. 保存退出文件
  5. 重新加載生效:source hadoop-env.sh

7、配置 core-site.xml

vim core-site.xml

		<property>
		    <!-- 指定HDFS中的主節點 - namenode -->
		    <name>fs.defaultFS</name>               
		    <value>hdfs://hadoop01:9000</value>
		</property>
		<property>
		    <!-- 執行Hadoop運行時的數據存放目錄 -->
		    <name>hadoop.tmp.dir</name>
		    <value>/home/software/hadoop-2.7.1/tmp</value>
		</property>

8、配置 hdfs-site.xml

將mapred-site.xml.template複製爲mapred-site.xml:cp mapred-site.xml.template mapred-site.xml

編輯mapred-site.xml:vim mapred-site.xml

		<property>
		    <!-- 指定將MapReduce在Yarn上運行  -->
		    <name>mapreduce.framework.name</name>
		    <value>yarn</value>
		</property>

9、配置yarn-site.xml

編輯yarn-site.xml:vim yarn-site.xml

		<!-- 指定Yarn的主節點 - resourcemanager -->
		<property>
		    <name>yarn.resourcemanager.hostname</name>
		    <value>hadoop01</value>
		</property>
		<!-- NodeManager的數據獲取方式 -->
		<property>
		    <name>yarn.nodemanager.aux-services</name>
		    <value>mapreduce_shuffle</value>
		</property>

10、配置slaves

  1. 編輯slaves:vim slaves
  2. 添加從節點信息,例如:hadoop01
  3. 保存退出

11、配置hadoop的環境變量

  1. 編輯profile文件:vim /etc/profile
  2. 添加Hadoop的環境變量,例如:
    1. export HADOOP_HOME=/home/software/hadoop-2.7.1      
    2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  3. 保存退出
  4. 重新生效:source /etc/profile

12、格式化namenode:hadoop namenode -format

13、啓動hadoop:start-all.sh

二、注意事項

1、如果Hadoop的配置沒有生效,那麼需要重啓Linux

2、在格式化的時候,會有這樣的輸出:Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted。如果出現這句話,說明格式化成功

3、Hadoop如果啓動成功,JPS會出現5個進程:Namenode,Datanode,Secondarynamenode,ResourceManager,NodeManager

4、Hadoop啓動成功後,可以通過瀏覽器訪問HDFS的頁面,訪問地址爲:IP地址:50070

5、Hadoop啓動成功後,可以通過瀏覽器訪問Yarn的頁面,訪問地址爲:http://IP地址:8088

三、 常見問題

1、執行Hadoop指令,比如格式化:hadoop namenode -format 出現:command找不到錯誤

解決方案:檢查:/etc/profile的Hadoop配置

2、少HFDS相關進程,比如少namenode,datanode

解決方案:可以去Hadoop 安裝目錄下的logs目錄,查看對應進程的啓動日誌文件。

方式一:①先停止HDFS相關的所有的進程(stop-dfs.sh 或 kill -9)②再啓動HDFS(start-dfs.sh)

方式二:①先停止HDFS相關的所有的進程 ②刪除元數據目錄 ③重新格式化:hadoop namenode -format④啓動Hadoop:start-all.sh

3、如果XXXXManager,那麼修改mapred,yarn,重新啓動

4、命令找不到,hadoop-env.sh配置錯誤,profile配置錯了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章