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

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
•下載下傳解壓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