避坑之Hadoop安裝偽分布式(Hadoop3.2.0/Ubuntu14.04 64位)


一.安裝JDK環境(這個可以網上隨意搜一篇教程了照着弄,這里不贅述)

  安裝成功之后

  輸入

輸入:java -version

 顯示如下說明jdk安裝成功(我這里是安裝JDK8)

 

二.安裝Hadoop3.2.0

    1、官網下載http://mirror.bit.edu.cn/apache/hadoop/common/

    2、安裝

          A.解壓

            sudo tar xzf hadoop-3.2.0.tar.gz        

          B.假如我們要把hadoop安裝到/usr/local下

          C.拷貝到/usr/local/下,文件夾為hadoop

        sudo mv hadoop-3.2.0 /usr/local/hadoop

D.賦予用戶對該文件夾的讀寫權限

                  sudo chmod 774 /usr/local/hadoop

三.配置Hadoop(JDK和Hadoop的路徑)

  1.配置~/.bashrc

       

輸入:sudo gedit ~/.bashrc

      添加如下代碼:

    

     之后保存退出

 

2.執行下面命名,使添加的環境變量生效:(如果報錯請看下面避坑一)

       

source ~/.bashrc

 

   3.判斷Hadoop是否安裝成功

 

  出現版本信息,說明成功

 

四,,接下來進行配置偽分布式(上面的Hadoop只是單機模式)

4.1修改hadoop配置文件

4.1.1修改配置文件core-site.xml(使用gedit etc/hadoop/core-site.xml).將configuration節點添加子節點,修改為下面內容:

<configuration>
    <!--指定fs的缺省名稱-->
    <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
    </property>
    <!--指定HDFS的(NameNode)的缺省路徑地址,localhost:是計算機名,也可以是ip地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 指定hadoop運行時產生文件的存儲目錄(以個人為准) -->
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>
ps:如果沒有該目錄:/usr/local/hadoop/tmp,需要自己新建

4.1.2修改配置文件hdfs-site.xml(使用gedit etc/hadoop/hdfs-site.xml).將configuration節點添加子節點,修改為下面內容:

<configuration>
<!-- 指定HDFS副本的數量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
      <name>dfs.name.dir</name>
      <value>/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
      <name>dfs.data.dir</name>
      <value>/usr/local/hadoop/hdfs/data</value>
    </property>
</configuration>
ps:如果沒有該目錄:/usr/local/hadoop/hdfs/name,需要自己新建
ps:如果沒有該目錄:/usr/local/hadoop/hdfs/data,需要自己新建

 

4.1.3 etc/hadoop目錄下查看是否有配置文件mapred-site.xml。目錄下默認情況下沒有該文件,可通過執行如下命令:cp mapred-site.xml.template mapred-site.xml修改一個文件的命名,然后執行編輯文件命令:gedit mapred-site.xml並修改該文件內容:

<configuration>
    <!-- 指定mr運行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 

4.1.4在etc/hadoop目錄下執行gedit yarn-site.xml修改為:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

 

4.2同樣使用source ~/.bashrc命令使配置文件生效。(如果報錯,請看下面避坑一)

五:Hadoop的運行

5.1格式化namenode

第一次運行格式化namennode。執行hdfs namenode -format命令。

5.2啟動hadoop hdfs (如果報錯,請看避坑二)

執行start-dfs.sh命令。

5.3啟動yarn  ( 如果報錯,請看避坑二)

執行start-yarn.sh命令。

 

5.4查看運行進程

使用jps命令,查看運行中java進程

 

 

六.web管理界面

6.1MapReduce管理界面:http://localhost:8088/

 

6.2HDFS管理界面:http://localhost:50070/ 

 

 

 

如果顯示如下頁面,請看避坑三

 

 

七.退出

可執行stop-all.sh 命令,一次性關閉所有hadoop進程,也可以通過stop-dfs.sh stop-yarn.sh分別關閉進程

 

 

 

避坑一:bashrc命令報錯

 兩種方法解決此問題:
        1.在當前用戶下添加環境變量:將環境變量添加到文件:~/.bashrc下,

           然后source ~/.bashrc即可。
        2.首先進入root用戶:sudo su -或者sudo -s,

           然后將環境變量添加到/etc/profile或者/root/.bashrc或者/etc/bash.bashrc文件,然后source該文件即可。

 避坑二:start-dfs.sh或者start-yarn.sh報錯

       報錯如下

     

在/hadoop/sbin路徑下: 
將start-dfs.sh,stop-dfs.sh兩個文件頂部添加以下參數

 

1 #!/usr/bin/env bash
2 HDFS_DATANODE_USER=root
3 HADOOP_SECURE_DN_USER=hdfs
4 HDFS_NAMENODE_USER=root
5 HDFS_SECONDARYNAMENODE_USER=root

還有,start-yarn.sh,stop-yarn.sh頂部也需添加以下

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

修改后重啟 ./start-dfs.sh,成功!

修改后重啟 ./start-yarn.sh,成功!

 

避坑三:localhost:50070報錯

hadoop3.X的webUI已經改到端口 localhost:9870

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM