Ubuntu16.04+hadoop2.7.3環境搭建


  轉載請注明源出處:http://www.cnblogs.com/lighten/p/6106891.html

  最近開始學習大數據相關的知識,最著名的就是開源的hadoop平台了。這里記錄一下目前最新版的hadoop在Ubuntu系統下的搭建過程。搭建過程中發現一篇十分清晰全面的搭建文章,本文刪減了一些不重要的內容,細化了一些內容。可以點擊此處查看:原文

1.JDK的安裝

  hadoop是使用Java開發的一個大數據平台,自然少不了Java運行環境的安裝了,當然使用hadoop不一定需要java語言,hadoop的開發支持很多種語言。

  Java運行環境的安裝詳見另一篇文章,這里就不敘述了:Ubuntu16.04安裝JDK

2.配置SSH及免密碼登陸

  hadoop需要使用SSH的方式登陸,linux下需要安裝SSH。客戶端已經安裝好了,只需要安裝服務端就可以了:

  sudo apt-get install openssh-server

  測試登陸本機 ssh localhost  輸入yes就應該可以登錄了。但是每次輸入比較繁瑣,如果是集群那就是災難了,所以要配置成免密碼登陸的方式。

  一共有三步:

  1.生成公鑰私鑰 ssh -keygen -t rsa,將在~/.ssh文件夾下生成文件id_rsa:私鑰,id_rsa.pub:公鑰

  2.導入公鑰到認證文件,更改權限:

    1)導入本機:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

    2)導入服務器:

     首先將公鑰復制到服務器:

      scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub  

     然后,將公鑰導入到認證文件,這一步的操作在服務器上進行:

      cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 

     最后在服務器上更改權限:

      chmod 700 ~/.ssh
         chmod 600 ~/.ssh/authorized_keys  

    3)測試:ssh localhost 第一次需要輸入yes,之后就不需要了。

3.Hadoop的安裝

  1.下載hadoop安裝包,下載地址:點這里。下載binary就行了。也可以使用wget命令下載。

  2.解壓、移動到你想要放置的文件夾

    tar -zvxf hadoop-2.7.3.tar.gz

    mv ./hadoop-2.7.3.tar.gz   /opt/hadoop

  3.創建hadoop用戶和組,並授予執行權限

    sudo addgroup hadoop

    sudo usermod -a -G hadoop xxx   #將當前用戶加入到hadoop組

    sudo gedit etc/sudoers  #將hadoop組加入到sudoer

    在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL

    sudo chmod -R 755 /opt/hadoop

    sudo chown -R xxx:hadoop /opt/hadoop  //否則ssh會拒絕訪問  

    這些都是一般需要的操作,這篇文章還進行了其它的配置,如果遇到問題可以看看,是不是由於這些配置導致的:點這里

  4.修改配置文件,和JDK的安裝一樣,可以選擇修改哪個文件。這里修改/etc/profile

    export HADOOP_HOME=/opt/hadoop2.7.3

    export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

    source /etc/hadoop

   這篇配置文章還配了很多其它配置,我暫時沒有配置,遇到問題,可以做為參考。點這里

  5.測試是否配置成功

    hadoop version

  6.hadoop單機配置(非分布式模式)

    hadoop默認是非分布式模式,不需要進行其它配置。可以測試demo來觀察是否配置正確。

    cd /opt/hadoop

    mkdir input

    cp README.txt input  

    bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.3-sources.jar org.apache.hadoop.examples.WordCount input output

  7.hadoop偽分布式配置

    偽分布式只需要更改兩個文件就夠了。配置文件都在hadoop目錄下的etc/hadoop中。

    首先是core-site.xml,設置臨時目錄位置,否則默認會在/tmp/hadoo-hadoop中,這個文件夾在重啟時可能被系統清除掉,所以需要改變配置路徑。

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/opt/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>

    然后就是hdfs-site.xml,偽分布式只有一個節點,所以必須配置成1。還配置了datanode和namenode的節點位置。

<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/opt/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/opt/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

    接着執行format命令,格式化名稱節點:./bin/hdfs namenode -format

    開啟hdfs:./sbin/start-dfs.sh 如果出現ssh認證 輸入yes就可以了。

    輸入jps命令查看是否啟動成功

    訪問http://localhost:50070 查看節點信息。

    關閉hdfs: ./sbin/stop-dfs.sh

    上面都是hdfs的配置,接下來就需要配置mapreduce的相關配置了,不配這個也不會影響到什么。但是缺少了資源調度,hadoop2.x版本使用yarn來進行任務調度管理,這是與1.x版本最大的不同。

    cp ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

    vim ./etc/hadoop/mapred-site.xml

<configuration>
        <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
        </property>
</configuration>

    修改yarn的配置文件:yarn-site.xml

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

    啟動yarn,要先啟動了hdfs:./sbin/start-yarn.sh

    開啟歷史服務器,這樣可以在web界面中查看任務運行情況:./sbin/mr-jobhistory-daemon.sh start historyserver

    不啟用 YARN 時,是 “mapred.LocalJobRunner” 在跑任務,啟用 YARN 之后,是 “mapred.YARNRunner” 在跑任務。啟動 YARN 有個好處是可以通過 Web 界面查看任務的運行情況:http://localhost:8088/cluster 。

  8.分布式部署,沒有兩台電腦,沒有嘗試,具體見:這里

4 后語

  由於本機之前進行的配置,所以難免在寫的時候會遺漏一些細節,如果有什么問題,請指教。

 


免責聲明!

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



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