天天看點

Hadoop入門(Hadoop2.7.2源碼編譯與僞分布安裝)

 Hadoop概述— Hadoop簡介
•什麼是Hadoop 一個開源、高可靠、可擴充 的分布式計算架構• 解決的問題  海量資料的存儲(HDFS)  海量資料的分析(MapReduce)  分布式資源排程(Yarn)•  産生背景   受Google三篇論文的啟發(GFS、MapReduce、BigTable)• 擴容能力    能可靠地存儲和處理千兆位元組(PB)資料。• 成本低  可以通過普通機器組成的伺服器群來分發以及處理資料。這些伺服器群總計可達數千個節點。• 高效率  通過分發資料,Hadoop可以在資料所在的節點上并行地處理它們,這使得處理非常的快速。• 可靠性  Hadoop能自動維護資料的多份副本,并且在任務失敗後能自動重新部署。      

Hadoop概述— Hadoop生态圈

Hadoop入門(Hadoop2.7.2源碼編譯與僞分布安裝)
Hadoop入門(Hadoop2.7.2源碼編譯與僞分布安裝)
Hadoop入門(Hadoop2.7.2源碼編譯與僞分布安裝)

Hadoop概述— Hadoop核心

• Hadoop項目主要包括以下四個子產品• Hadoop Common:  為其他Hadoop子產品提供基礎設施。• Hadoop HDFS:   一個高可靠、高吞吐量的分布式檔案系統• Hadoop MapReduce:  一個分布式的離線并行計算架構•Hadoop YARN:  一個新的MapReduce架構,任務排程與資源管理      

分布式離線計算架構 —- MapReduce

• Map任務處理

        ① 讀取輸入檔案内容,解析成key、value對

        ② 重寫map方法,編寫業務邏輯輸出新的key、value對

        ③ 對輸出的key、value進行分區。(Partitioner類)

        ④對資料按照key進行排序、分組。相同key的value放到一個集合中。

• Reduce任務處理

        ①對多個map任務的輸出,按照不同的分區,通過網絡copy到不同的reduce節點。

        ②對多個map任務的輸出進行合并、排序。寫reduce函數自己的邏輯,對輸入的key、value處理,轉換成新的key、value輸出。

        ③把reduce的輸出儲存到檔案中。

Hadoop前置環境安裝 — Linux環境準備

•關閉防火牆(chkconfig iptables off)•禁用SELinux (cd /etc/sysconfig/selinux  設定SELINUX=disable)•修改ip•修改hostname ( vi /etc/sysconfig/network 設定hostname=m1)•ip和主機名的對應(vi /etc/hosts  插入一行:192.168.0.102   m1)•設定ssh自動登入      ssh配置:       1.生成秘鑰:ssh-keygen -t rsa       2.ssh-copy-id 192.168.0.102       3.測試:ssh 192.168.0.102      

Haoop前置環境安裝 — 安裝JDK 

•下載下傳解壓http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz•将java添加到環境變量中 vim /etc/profile #在檔案最後添加 export JAVA_HOME /usr/local/program/jdk1.7.0_55 export PATH=$PATH:$JAVA_HOME/bin•重新整理配置source /etc/profile      

Hadoop前置環境安裝– lrzsz指令

• 安裝linux上傳下載下傳指令:yum install –y lrzsz• 注:如果出現錯誤Error: Cannot find a valid baseurl for repo: base執行如下操作:vi /etc/resolv.conf在此檔案最後加入:nameserver  8.8.8.8安裝成功後:執行 rz 指令即可      

Hadoop僞分布式安裝 — Hadoop運作模式

• 本地模式 所有Hadoop的守護程序運作在一個JVM中• 僞分布式 所有Hadoop的守護程序各自運作在自己的JVM中(一台機器)• 叢集模式 多台機器來搭建分布式叢集,每個程序運作在獨立的JVM中,并對 Namenode和ResourceManager做Ha配置      

編譯hadoop2.7.2源碼

1.上傳所需檔案 *Maven 3.0 or later* Findbugs 1.3.9 (if running findbugs)* ProtocolBuffer 2.5.02.解壓maven和findbugs,并配置環境變量3.編譯protocolbuffer•安裝make指令以及一些其他的依賴• 輸入指令: yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++ 4.輸入指令configure5.Make install6.cd hadoop-2.7.2-src 執行指令:mvn package -Pdist,native,docs -DskipTests –Dtar7.編譯需要30min左右      

Hadoop僞分布式配置安裝文檔

根據官網文檔安裝:

http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html

注意點:

1.core-site.xml中添加配置,修改臨時目錄:

hadoop.tmp.dir = /usr/local/program/hadoop-2.7.2/data/tmp

繼續閱讀