版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、Hadoop概述1.1什么是Hadoop一個開源、高可靠、可擴(kuò)展的分布式計算框架解決的問題:海量數(shù)據(jù)的存儲(HDFS)海量數(shù)據(jù)的分析(MapReduce)分布式資源調(diào)度(Yarn)產(chǎn)生背景:受Google三篇論文的啟發(fā)(GFS、MapReduce、BigTable)擴(kuò)容能力:能可靠地存儲和處理千兆字節(jié)(PB)數(shù)據(jù)。成本低:可以通過普通機(jī)器組成的服務(wù)器群來分發(fā)以及處理數(shù)據(jù)。這些服務(wù)器群總計可達(dá)數(shù)千個節(jié)點。高效率:通過分發(fā)數(shù)據(jù),Hadoop可以在數(shù)據(jù)所在的節(jié)點上并行地處理它們,這使得處理非常的快速??煽啃裕篐adoop能自動維護(hù)數(shù)據(jù)的多份副本,并且在任務(wù)失敗后能自動重新部署。1.2 Hadoo
2、p應(yīng)用場景日志分析基于海量數(shù)據(jù)的在線應(yīng)用推薦系統(tǒng)計算廣告復(fù)雜算法網(wǎng)盤搜索引擎.1.3 Hadoop生態(tài)圈1.4 Hadoop核心Hadoop項目主要包括以下四個模塊Hadoop Common: 為其他Hadoop模塊提供基礎(chǔ)設(shè)施Hadoop HDFS:一個高可靠、高吞吐量的分布式文件系統(tǒng)Hadoop MapReduce:一個分布式的離線并行計算框架Hadoop YARN:一個新的MapReduce框架,任務(wù)調(diào)度與資源管理分布式離線計算框架 - MapReduceMap任務(wù)處理 讀取輸入文件內(nèi)容,解析成key、value對 重寫map方法,編寫業(yè)務(wù)邏輯輸出新的key、value對 對輸出的key
3、、value進(jìn)行分區(qū)。(Partitioner類)對數(shù)據(jù)按照key進(jìn)行排序、分組。相同key的value放到一個集合中。Reduce任務(wù)處理 對多個map任務(wù)的輸出,按照不同的分區(qū),通過網(wǎng)絡(luò)copy到不同的reduce節(jié)點。 對多個map任務(wù)的輸出進(jìn)行合并、排序。寫reduce函數(shù)自己的邏輯,對輸入的key、value處理,轉(zhuǎn)換成新的key、value輸出。 把reduce的輸出保存到文件中。二、Hadoop前置環(huán)境安裝Linux環(huán)境準(zhǔn)備JDK安裝材料:VMwarelinuxhttp:/mirrors.yun-CentOS-6.8-x86_64-bin-DVD1.isoJdk1.7jdk-7u
4、67-linux-x64.tar.gz2.1虛擬機(jī)搭建安裝完成,重新啟動2.2設(shè)置虛擬機(jī)網(wǎng)絡(luò)環(huán)境鏈接網(wǎng)絡(luò),根據(jù)你本機(jī)網(wǎng)絡(luò)環(huán)境,設(shè)置虛擬機(jī)服務(wù)器中網(wǎng)絡(luò)環(huán)境查看你本地網(wǎng)絡(luò)環(huán)境檢查你win環(huán)境能否ping通虛擬機(jī)使用 SecureCRT.exe 即可遠(yuǎn)程連接上服務(wù)器2.3關(guān)閉防火墻永久關(guān)閉:chkconfig iptables off 暫時關(guān)閉,重啟后失效:service iptables stop roothadoop02 # chkconfig iptables off2.4修改主機(jī)名roothadoop02 # vim /etc/sysconfig/network2.5配置網(wǎng)絡(luò)映射2.6重啟機(jī)
5、器roothadoop02 # rebootd2.7設(shè)置ssh免密碼登錄roothadoop02 # ssh 16需要密碼首先生成秘鑰:roothadoop02 # ssh-keygen -t rsa 之后四個回車生成完成,復(fù)制秘鑰到本機(jī)roothadoop02 # ssh-copy-id 16測試是否無需免密碼登錄roothadoop02 # ssh 162.8設(shè)置java環(huán)境,安裝JDK檢查是否已經(jīng)安裝了JDK,可根據(jù)情況卸載本機(jī)jdk,重新安裝自己的JDKroothadoop02 # rpm -qa|grep
6、jdkroothadoop02 # rpm -qa|grep java先卸載本機(jī)的jdkroothadoop02 # rpm -e -nodeps java-1.6.0-openjdk-8-.el6.x86_64roothadoop02 # rpm -e -nodeps java-1.7.0-openjdk-9-.el6.x86_64roothadoop02 # rpm -qa|grep jdkroothadoop02 # rpm -qa|grep java上傳你的JDK,可以使用RZ命令上傳,也可以用ftp工具進(jìn)行上傳如果你的虛擬機(jī)
7、能夠鏈接網(wǎng)絡(luò),那么可以用yum 命令進(jìn)行軟件的安裝,首先安裝RZ命令軟件,否則可以到網(wǎng)上下載其安裝包進(jìn)行命令的安裝a、roothadoop02 tools# rpm ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm或者b、roothadoop02 tools# yum install -y lrzsz在 home目錄下建立tools 目錄,存放安裝軟件roothadoop02 # mkdir /home/toolsroothadoop02 # cd /home/tools/roothadoop02 tools# rz將jdk解壓到 /usr/java目錄roothad
8、oop02 tools# mkdir /usr/javaroothadoop02 tools# tar -zxf jdk-7u67-linux-x64.tar.gz -C /usr/java/roothadoop02 tools# cd /usr/java/設(shè)置jdk環(huán)境變量roothadoop02 jdk1.7.0_67# vim /etc/profile在文件最低端添加以下參數(shù)export JAVA_HOME=/usr/java/jdk1.7.0_67export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexpor
9、t PATH=$JAVA_HOME/bin:$PATH設(shè)置文件生效roothadoop02 jdk1.7.0_67# source /etc/profile校驗jdk是否配置完成roothadoop02 jdk1.7.0_67# java三、Hadoop偽分布式安裝3.1 Hadoop運行模式本地模式所有Hadoop的守護(hù)進(jìn)程運行在一個JVM中偽分布式所有Hadoop的守護(hù)進(jìn)程各自運行在自己的JVM中(一臺機(jī)器)集群模式多臺機(jī)器來搭建分布式集群,每個進(jìn)程運行在獨立的JVM中,并對Namenode和ResourceManager做Ha配置3.2 下載 hadoop-2.5.2.tar.gz jd
10、k64編譯Make 安裝 ,并安裝其他依賴包yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel vel gcc gcc-c+3.2.1解壓 hadoop-2.5.2.tar.gztar -zxf hadoop-2.5.2.tar.gz3.2.2設(shè)置環(huán)境變量roothadoop02 hadoop-2.5.2# vi /etc/profileroothadoop02 hadoop-2.5.2# source /etc/profile3.2.3修改配置文件1、h
11、adoop-env.sh# The java implementation to use.export JAVA_HOME= /usr/java/jdk1.7.0_672、core-site.xmlNamenote通訊地址 臨時文件<property> <name>fs.defaultFS</name> <value>hdfs:/ip:9000</value> </property><property> <name>hadoop.tmp.dir</name> <value>/
12、home/hadoop/hp_data/tmp</value> </property>3、hdfs-site.xml 設(shè)置備份數(shù),默認(rèn)3份<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.permissions</name> <value>false</value> </property>4、格式化hdf
13、sroothadoop02 bin# ./hdfs namenode -format5、啟動文件系統(tǒng),文件系統(tǒng)包括兩個進(jìn)程roothadoop02 sbin# ./start-dfs.sh6、查看進(jìn)程roothadoop02 sbin# jps7、管理界面07:500708、安裝yarn ,資源調(diào)度mapred-site.xml <property> <name></name> <value>yarn</value> </property>y
14、arn-site.xml<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>9、啟動yarnroothadoop02 sbin# ./start-yarn.sh10、yarn管理控制臺07:8088/測試:計算字符出現(xiàn)的次數(shù)mkdir /home/datacd /home/datavi wordshello ahello b上傳至HDFScd /us
15、r/hadoop/hadoop-2.5.2/bin./hadoop fs -put /home/data/words /words運行詞頻統(tǒng)計./hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /words /out最后兩個,一個是源文件路徑,一個是輸出文件目錄查看輸入結(jié)果hadoop fs -ls /roothadoop02 bin# hadoop fs -ls /outroothadoop02 bin# hadoop fs -cat /out/part-r-000003.3M
16、apReduce概述MapReduce是一種分布式計算模型,由Google提出,主要用于搜索領(lǐng)域,解決海量數(shù)據(jù)的計算問題MR由兩個階段組成:Map和Reduce,用戶只需要實現(xiàn)map()和reduce()兩個函數(shù),即可實現(xiàn)分布式計算,非常簡單這兩個函數(shù)的形參是key、value對,表示函數(shù)的輸入信息MR特點 高容錯 高擴(kuò)展 編程簡單 適合大數(shù)據(jù)離線批量處理3.3.1map任務(wù)處理1、讀取輸入文件內(nèi)容,解析成key、value對。對輸入文件的每一行,解析成key、value對。每一個鍵值對調(diào)用一次map函數(shù)。2 、寫自己的邏輯,處理輸入的key、value,轉(zhuǎn)換成新的key、value輸出。3
17、、對輸出的key、value進(jìn)行分區(qū)。4 、對不同分區(qū)的數(shù)據(jù),按照key進(jìn)行排序、分組。相同key的value放到一個集合中。5 、 (可選)分組后的數(shù)據(jù)進(jìn)行歸約。3.3.2reduce任務(wù)處理1、對多個map任務(wù)的輸出,按照不同的分區(qū),通過網(wǎng)絡(luò)copy到不同的reduce節(jié)點。2 、對多個map任務(wù)的輸出進(jìn)行合并、排序。寫reduce函數(shù)自己的邏輯,對輸入的key、value處理,轉(zhuǎn)換成新的key、value輸出。3 、把reduce的輸出保存到文件中。map、reduce鍵值對格式3.3.4MR過程各個角色的作用jobClient:提交作業(yè)JobTracker:初始化作業(yè),分配作業(yè),TaskTracker與其進(jìn)行通信,協(xié)調(diào)監(jiān)控整個作業(yè)TaskTracker:定期與JobTracker通信,執(zhí)行Map和Reduce任務(wù)HDFS:保存作業(yè)的數(shù)據(jù)、配置、jar包、結(jié)果3.3.5 eclipse開發(fā)hadoop項目1、安裝hadoop插件將hadoop-eclipse-plugin-2.5.2.jar 放至ecl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房地產(chǎn)項目與旅游休閑產(chǎn)業(yè)協(xié)同發(fā)展工程合同3篇
- 二零二五年度酒店家具設(shè)計、生產(chǎn)及售后服務(wù)合同3篇
- 二零二五年度深水井鉆井工程地質(zhì)勘探行業(yè)標(biāo)準(zhǔn)制定與推廣合同3篇
- 二零二五年度網(wǎng)絡(luò)安全培訓(xùn)與咨詢服務(wù)合同5篇
- 二零二五年度集裝箱活動房租賃押金管理合同3篇
- 2025年度混凝土工合同糾紛解決協(xié)議2篇
- 2024綜合服務(wù)招標(biāo)采購協(xié)議定制版版B版
- 2025年KTV裝修施工及消防報警系統(tǒng)升級合同3篇
- 2024標(biāo)準(zhǔn)版建筑施工勞務(wù)合作合同書
- 二零二五年房產(chǎn)銷售溢價保障服務(wù)協(xié)議3篇
- 2024年度公務(wù)員勞動合同范本社保福利全面保障3篇
- 2025年內(nèi)蒙古包鋼公司招聘筆試參考題庫含答案解析
- 專題6.8 一次函數(shù)章末測試卷(拔尖卷)(學(xué)生版)八年級數(shù)學(xué)上冊舉一反三系列(蘇科版)
- 教科版科學(xué)一年級上冊期末測試卷含完整答案(必刷)
- 2024年危險化學(xué)品生產(chǎn)單位安全生產(chǎn)管理人員證考試題庫及答案
- 江蘇省宿遷市沭陽縣2023-2024學(xué)年八年級上學(xué)期期末英語試題
- 老年人視覺障礙護(hù)理
- 安全隱患大排查大整治專項行動方案
- 藍(lán)軍戰(zhàn)略課件
- 《請柬及邀請函》課件
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語文試題(含答案)
評論
0/150
提交評論