新尚硅谷大數(shù)據(jù)技術(shù)之hadoop入門_第1頁(yè)
新尚硅谷大數(shù)據(jù)技術(shù)之hadoop入門_第2頁(yè)
新尚硅谷大數(shù)據(jù)技術(shù)之hadoop入門_第3頁(yè)
新尚硅谷大數(shù)據(jù)技術(shù)之hadoop入門_第4頁(yè)
新尚硅谷大數(shù)據(jù)技術(shù)之hadoop入門_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、尚硅谷大數(shù)據(jù)技術(shù)之Hadoop(入門)(作者:大海哥)官網(wǎng): 版本:V1.2 從 Hadoop 框架討論大數(shù)據(jù)1.1 Hadoop 是什么1)Hadoop 是一個(gè)由 Apache所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)2)主要解決,海量數(shù)據(jù)的和海量數(shù)據(jù)的分析計(jì)算問(wèn)題。3)廣義上來(lái)說(shuō),HADOOP 通常是指一個(gè)更廣泛的概念HADOOP圈1.2 Hadoop 發(fā)展歷史1)Lucene-Doug Cutting 開創(chuàng)的開源軟件,用 java 書寫代碼,實(shí)現(xiàn)與類似的全文搜索功能,它提供了全文檢索引擎的架構(gòu),包括完整的引擎和索引引擎2)2001 年年底成為 apache的一個(gè)子項(xiàng)目3)對(duì)于大數(shù)量的場(chǎng)景,Lucene

2、面對(duì)與同樣的4)學(xué)習(xí)和模仿解決這些問(wèn)題的辦法:微型版 Nutch5)可以說(shuō)是 hadoop 的思想之源(在大數(shù)據(jù)方面的三篇)GFS -HDFSMap-Reduce -MRBigTable -Hbase6)2003-2004 年公開了部分 GFS 和Mapreduce 思想的細(xì)節(jié),以此為基礎(chǔ) Doug Cutting等人用了 2 年業(yè)余時(shí)間實(shí)現(xiàn)了 DFS 和 Mapreduce 機(jī)制,使 Nutch 性能飆升7)2005 年Hadoop 作為 Lucene 的子項(xiàng)目 Nutch 的一部分正式引入Apache。2006 年3 月份,Map-Reduce 和 Nutch Distributed Fi

3、le System (NDFS) 分別被納入稱為Hadoop的項(xiàng)目中8)名字來(lái)源于 Doug Cutting 兒子的玩具大象9)Hadoop 就此誕生并迅速發(fā)展,標(biāo)志這云計(jì)算來(lái)臨1.3 Hadoop 三大版本Hadoop 三大版本: Apache、Cloudera、HortonworksApache 版本最原始(最基礎(chǔ))的版本,對(duì)于入門學(xué)習(xí)最好。Cloudera 在大型互聯(lián)網(wǎng)企業(yè)中用的較多。Hortonworks 文檔較好。1)Cloudera Hadoop(1)2008 年成立的Cloudera 是最早將Hadoop的公司,為合作伙伴提供 Hadoop的解決方案,主要是包括支持、咨詢服務(wù)、培

4、訓(xùn)。(2)2009 年 Hadoop 的創(chuàng)始人 Doug Cutting 也加盟 Cloudera 公司。Cloudera主要為 CDH,Cloudera Manager,Cloudera Support(3)CDH 是 Cloudera 的 Hadoop版,完全開源,比 Apache Hadoop 在兼容性,安全性,穩(wěn)定性上有所增強(qiáng)。(4)Cloudera Manager 是集群的軟件分發(fā)及管理平臺(tái),可以在幾個(gè)小時(shí)內(nèi)部署好一個(gè) Hadoop 集群,并對(duì)集群的節(jié)點(diǎn)及服務(wù)進(jìn)行實(shí)時(shí)。Cloudera Support 即是對(duì)Hadoop 的技術(shù)支持。(5)Cloudera 的標(biāo)價(jià)為每年每個(gè)節(jié)點(diǎn) 40

5、00。Cloudera 開發(fā)并貢獻(xiàn)了可實(shí)時(shí)處理大數(shù)據(jù)的 Impala 項(xiàng)目。2)Hortonworks Hadoop(1)2011 年成立的 Hortonworks 是雅虎與硅谷風(fēng)司 Benchmark Capital 合資組建。(2)公司成立之初就吸納了大約 25 名至 30 名專門研究 Hadoop 的雅虎工程師,上述工程師均在 2005 年開始協(xié)助雅虎開發(fā) Hadoop,貢獻(xiàn)了Hadoop80%的代碼。(3)雅虎工程副總裁、雅虎 Hadoop 開發(fā)團(tuán)隊(duì)Eric Baldeschwieler 出任Hortonworks 的首席執(zhí)行官。(4)Hortonworks 的主打是 Hortonwo

6、rks Data Platform(HDP),也同樣是 100%開源的,HDP 除常見的項(xiàng)目外還包括了 Ambari,一款開源的安裝和管理系統(tǒng)。(5)HCatalog,一個(gè)元數(shù)據(jù)管理系統(tǒng),HCatalog 現(xiàn)已集成到開源的 Hive中。Hortonworks 的 Stinger 開創(chuàng)性的極大的優(yōu)化了 Hive 項(xiàng)目。Hortonworks 為入門提供了一個(gè)非常好的,易于使用的沙盒。(6)Hortonworks 開發(fā)了很多增強(qiáng)特性并提交至主干,這使得 Apache Hadoop能夠在包括Window Server 和Windows Azure 在內(nèi)的microsoft Windows 平臺(tái)上本地

7、運(yùn)行。定價(jià)以集群為基礎(chǔ),每 10 個(gè)節(jié)點(diǎn)每年為 12500。1.4 Hadoop 的優(yōu)勢(shì)1)高可靠性:因?yàn)?Hadoop 假設(shè)計(jì)算元素和會(huì)出現(xiàn)故障,因?yàn)樗S護(hù)多個(gè)工作數(shù)據(jù)副本,在出現(xiàn)故障時(shí)可以對(duì)失敗的節(jié)點(diǎn)重新分布處理。2)高擴(kuò)展性:在集群間分配任務(wù)數(shù)據(jù),可方便的擴(kuò)展數(shù)以千計(jì)的節(jié)點(diǎn)。3) 高效性:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任務(wù)處理速度。4)高容錯(cuò)性:自動(dòng)保存多份副本數(shù)據(jù),并且能夠自動(dòng)將失敗的任務(wù)重新分配。1.5 Hadoop 組成1)Hadoop HDFS:一個(gè)高可靠、高吞吐量的分布式文件系統(tǒng)。2)Hadoop MapReduce:一個(gè)分布式的離線并行計(jì)

8、算框架。3)Hadoop YARN:作業(yè)調(diào)度與集群管理的框架。4)Hadoop Common:支持其他模塊的工具模塊。Hadoop組成1.5.1 HDFS 架構(gòu)概述1)NameNode(nn):文件的元數(shù)據(jù),如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時(shí)間、副本數(shù)、文件權(quán)限),以及每個(gè)文件的塊列表和塊所在的 DataNode 等。2)DataNode(dn):在本地文件系統(tǒng)文件塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗(yàn)和。3)Secondary NameNode(2nn):用來(lái)HDFS 狀態(tài)的輔助程序,每隔一段時(shí)間獲取HDFS 元數(shù)據(jù)的快照。1.5.2 YARN 架構(gòu)概述1)ResourceManager(rm):處

9、理客戶端請(qǐng)求、啟動(dòng)/ApplicationMasterNodeManager、HDFS(數(shù)據(jù))Yarn(調(diào)度)Co m m o n( 輔助工具)MapReduce(計(jì)算)分配與調(diào)度;2)NodeManager(nm):?jiǎn)蝹€(gè)節(jié)點(diǎn)上的管理、處理來(lái)自 ResourceManager令、處理來(lái)自 ApplicationMaster令;3)ApplicationMaster:數(shù)據(jù)切分、為應(yīng)用程序申請(qǐng),并分配給內(nèi)部任務(wù)、任務(wù)與容錯(cuò)。4)Container:對(duì)任務(wù)運(yùn)行環(huán)境的抽象,封裝了 CPU、內(nèi)存等以及環(huán)境變量、啟動(dòng)命令等任務(wù)運(yùn)行相關(guān)的信息。1.5.3 MapReduce 架構(gòu)概述MapReduce 將計(jì)

10、算過(guò)程分為兩個(gè)階段:Map 和Reduce1)Map 階段并行處理輸入數(shù)據(jù)2)Reduce 階段對(duì) Map 結(jié)果進(jìn)行匯總1.6 大數(shù)據(jù)技術(shù)體系大數(shù)據(jù)技術(shù)體系調(diào)圖中涉及的技術(shù)名詞解釋如下:1)Sqoop:sqoop 是一款開源的工具,主要用于在 Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如 : MySQL ,Oracle 等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop 的 HDFS 中,也可以將 HDFS 的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。2)Flume:Flume 是Cloudera 提供的一個(gè)高可用的,高可靠的,分布式的海量日志、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume

11、支持在日志系統(tǒng)中定制各類數(shù)據(jù)方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。數(shù)據(jù)來(lái)源層、ppt等(非結(jié)構(gòu)化數(shù)據(jù))文件日志(半結(jié)構(gòu)化數(shù)據(jù))數(shù)據(jù)庫(kù)(結(jié)構(gòu)化數(shù)據(jù))Zoo k e e p e r數(shù)據(jù)平臺(tái)配置和Sqoop數(shù)據(jù)傳遞Flume日志收集Kafka消息隊(duì)列度數(shù)據(jù)傳輸層數(shù)據(jù)層Hbase非關(guān)系型數(shù)據(jù)庫(kù)HDFS文件管理層YARN管理Storm實(shí)時(shí)計(jì)算Spark Core內(nèi)存計(jì)算MapReduce離線計(jì)算數(shù)據(jù)計(jì)算層Spark Streaming實(shí)時(shí)計(jì)算Spark Sql數(shù)據(jù)Spark R數(shù)據(jù)分析Spark Mlib數(shù)據(jù)挖掘Mahout數(shù)據(jù)挖掘Hive數(shù)據(jù)任

12、務(wù)調(diào)度層azkaban任務(wù)調(diào)度Oozie任務(wù)調(diào)度業(yè)務(wù)模型層業(yè)務(wù)模型、數(shù)據(jù)可視化、業(yè)務(wù)應(yīng)用3)Kafka:Kafka 是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),有如下特性:(1)通過(guò) O(1)的磁盤數(shù)據(jù)結(jié)構(gòu)提供消息的持久化,這種結(jié)構(gòu)對(duì)于即使數(shù)以 TB 的消息也能夠保持長(zhǎng)時(shí)間的穩(wěn)定性能。(2)高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒數(shù)百萬(wàn)的消息(3)支持通過(guò) Kafka 服務(wù)器和消費(fèi)機(jī)集群來(lái)分區(qū)消息。(4)支持 Hadoop 并行數(shù)據(jù)加載。4)Storm:Storm 為分布式實(shí)時(shí)計(jì)算提供了一組通用原語(yǔ),可被用于“流處理”之中,實(shí)時(shí)處理消息并更新數(shù)據(jù)庫(kù)。這是管理隊(duì)列及工作者集群的另式

13、。 Storm 也可被用于“連續(xù)計(jì)算”(continuous computation),對(duì)數(shù)據(jù)流做連續(xù),在計(jì)算時(shí)就將結(jié)果以流的形式輸出給用戶。5)Spark:Spark 是當(dāng)前最流行的開源大數(shù)據(jù)內(nèi)存計(jì)算框架。可以基于 Hadoop 上的大數(shù)據(jù)進(jìn)行計(jì)算。6)Oozie:Oozie 是一個(gè)管理 Hdoop 作業(yè)(job)的工作流程調(diào)度管理系統(tǒng)。Oozie 協(xié)調(diào)作業(yè)就是通過(guò)時(shí)間(頻率)和有效數(shù)據(jù)觸發(fā)當(dāng)前的 Oozie 工作流程。7)Hbase:HBase 是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫(kù)。HBase 不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫(kù)。8)Hive:hive 是基于 Had

14、oop 的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單的 sql功能,可以將 sql 語(yǔ)句轉(zhuǎn)換為 MapReduce 任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過(guò)類 SQL 語(yǔ)句快速實(shí)現(xiàn)簡(jiǎn)單的 MapReduce 統(tǒng)計(jì),不必開發(fā)專門的 MapReduce 應(yīng)用,十分適合數(shù)據(jù)倉(cāng)庫(kù)的統(tǒng)計(jì)分析。10)R 語(yǔ)言:R 是用于統(tǒng)計(jì)分析、繪圖的語(yǔ)言和操作環(huán)境。R 是屬于 GNU 系統(tǒng)的一個(gè)自由、源代碼開放的軟件,它是一個(gè)用于統(tǒng)計(jì)計(jì)算和統(tǒng)計(jì)制圖的優(yōu)秀工具。11)Mahout:Apache Mahout 是個(gè)可擴(kuò)展的學(xué)習(xí)和數(shù)據(jù)挖掘庫(kù),當(dāng)前 Mahout 支持主要的 4 個(gè)用例:推薦挖掘:搜集

15、用戶動(dòng)作并以此給用戶推薦可能喜歡的事物。:收集文件并進(jìn)行相關(guān)文件分組。分類:從現(xiàn)有的分類文檔中學(xué)習(xí),尋找文檔中的相似特征,并為無(wú)的文檔進(jìn)行正確的歸類。頻繁項(xiàng)集挖掘:將一組項(xiàng)分組,并識(shí)別哪些個(gè)別項(xiàng)會(huì)經(jīng)常一起出現(xiàn)。12)ZooKeeper:Zookeeper 是的 Chubby 一個(gè)開源的實(shí)現(xiàn)。它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、 分布式同步、組服務(wù)等。ZooKeeper 的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。1.7 推薦系統(tǒng)框架圖六、推薦系統(tǒng)項(xiàng)目框架分析結(jié)果數(shù)據(jù)庫(kù)Zo oSpark Streaming

16、 實(shí)時(shí)計(jì)算k e eHive數(shù)據(jù)Spark Mlib數(shù)據(jù)挖掘Spark R數(shù)據(jù)分析Spark Sql數(shù)據(jù)Mahout數(shù)據(jù)挖掘分析結(jié)果文件數(shù)據(jù)計(jì)算層p e r數(shù)據(jù)平Ss海狗人參丸臺(tái)配置和調(diào)Kafka消息隊(duì)列度TomcatTomcat 收集訪收集訪問(wèn)日志問(wèn)日志二 Hadoop 運(yùn)行環(huán)境搭建2.1 虛擬機(jī)網(wǎng)絡(luò)模式設(shè)置為 NAT數(shù)據(jù)來(lái)源層、ppt等(非結(jié)構(gòu)化數(shù)據(jù))文件日志(半結(jié)構(gòu)化數(shù)據(jù))數(shù)據(jù)庫(kù)(結(jié)構(gòu)化數(shù)據(jù))數(shù)據(jù)傳輸層Nginx數(shù)據(jù)層管理層Tomcat推薦業(yè)務(wù)Flume日志收集Sqoop數(shù)據(jù)傳遞Hbase非關(guān)系型數(shù)據(jù)庫(kù)HDFS文件YARN管理Storm實(shí)時(shí)計(jì)算Spark Core內(nèi)存計(jì)算MapReduc

17、e離線計(jì)算任務(wù)調(diào)度層azkaban任務(wù)調(diào)度Oozie任務(wù)調(diào)度最后,重新啟動(dòng)系統(tǒng)。roothadoop101 # sync roothadoop101 # reboot2.2 克隆虛擬機(jī)1)克隆虛擬機(jī)2)啟動(dòng)虛擬機(jī)2.3 修改為靜態(tài) ip1)在終端命令窗口中輸入roothadoop101 /#vim /etc/udev/rules.d/70-persistent-net.rules進(jìn)入如下頁(yè)面,刪除 eth0 該行;將 eth1 修改為 eth0,同時(shí)物理 ip 地址2)修改 IP 地址roothadoop101 /#vim /etc/sysconfig/network-scripts/ifcf

18、g-eth0需要修改的內(nèi)容有 5 項(xiàng):IPADDR=01GATEWAY=ONBOOT=yesBOOTPROTO=staticDNS1=(1)修改前(2)修改后:wq保存3)執(zhí)行 service network restart4)如果報(bào)錯(cuò),reboot,重啟虛擬機(jī)2.4 修改主機(jī)名1)修改 linux 的hosts 文件(1)進(jìn)入 Linux 系統(tǒng)查看本機(jī)的主機(jī)名。通過(guò) hostname 命令查看roothadoop # hostnamehadoop100(2)如果感覺(jué)此主機(jī)名不合適,我們可以進(jìn)行修改。通過(guò)編輯/etc/sysco

19、nfig/network文件#vi /etc/sysconfig/network文件中內(nèi)容NETWORKING=yesNETWORKING_IPV6=noHOSTNAME= hadoop101注意:主機(jī)名稱不要有“_”下劃線( 3) 打開此文件后, 可以看到主機(jī)名。修改此主機(jī)名為我們想要修改的主機(jī)名hadoop101。(4)保存。(5)打開/etc/hostsvim /etc/hosts添加如下內(nèi)容00 hadoop10001 hadoop10102 hadoop10203 hadoop103192.168

20、.1.104 hadoop10405 hadoop10506 hadoop10607 hadoop10708 hadoop10809 hadoop10910 hadoop110(6)并重啟設(shè)備,重啟后,查看主機(jī)名,已經(jīng)修改成功2)修改 window7 的hosts 文件(1)進(jìn)入 C:WindowsSystem32driversetc 路徑(2)打開 hosts 文件并添加如下內(nèi)容00 hadoop10001 hadoo

21、p10102 hadoop10203 hadoop10304 hadoop10405 hadoop10506 hadoop10607 hadoop10708 hadoop10809 hadoop10910 hadoop1102.5 關(guān)閉1)查看開機(jī)啟動(dòng)狀態(tài)chkconfig iptables -list2)關(guān)閉chkconfig iptables off2.6 在 opt 目錄下創(chuàng)建文件1)創(chuàng)建 a

22、tguigu 用戶在 root 用戶里面執(zhí)行如下操作roothadoop101 opt# adduser atguigu roothadoop101 opt# passwd atguigu 更改用戶 test 的 。新的 :2)設(shè)置 atguigu 用戶具有 root 權(quán)限修改 /etc/sudoers 文件,找到下面一行,在 root 下面添加一行,如下所示:# Allow root to runany commands anywhererootALL=(ALL)ALLatguiguALL=(ALL)ALL修改完畢,現(xiàn)在可以用 atguigu 帳號(hào)登錄,然后用命令su -,即可獲得 root

23、 權(quán)限進(jìn)行操作。3)在/opt 目錄下創(chuàng)建文件夾(1)在 root 用戶下創(chuàng)建 module、software 文件夾mkdir modulemkdir software(2)修改 module、software 文件夾的所有者roothadoop101 opt# chown atguigu moduleroothadoop101 opt# chown atguigu softwareroothadoop101 opt# ls -al總用量 24drwxr-xr-x.6 rootroot 4096 4 月 24 09:07 .dr-xr-xr-x. 23 rootroot 4096 4 月 2

24、4 08:52 .drwxr-xr-x.4 atguigu root 4096 4 月23 16:26 moduledrwxr-xr-x.2 rootroot 4096 3 月26 2015 rhdrwxr-xr-x.2 atguigu root 4096 4 月23 16:25 software2.7 安裝 jdk1)卸載現(xiàn)有jdk(1)是否安裝 java 軟件:rpm -qa|grep java無(wú)效的: 它沒(méi)有包含足夠的不同字符無(wú)效的: 是回文重新輸入新的:passwd: 所有的驗(yàn)證令牌已經(jīng)成功更新。(2)如果安裝的版本低于 1.7,卸載該 jdk:rpm -e 軟件包2)用 filezi

25、lla 工具將 jdk、Hadoop-2.7.2.tar.gz 導(dǎo)入到 opt 目錄下面的 software 文件夾下面3)在 linux 系統(tǒng)下的 opt 目錄中查看軟件包是否導(dǎo)入成功。roothadoop101opt# cd software/roothadoop101software# lsjdk-7u79-linux-x64.gzhadoop-2.7.2.tar.gz4)解壓 jdk 到/opt/module 目錄下tar -zxf jdk-7u79-linux-x64.gz -C /opt/module/5)配置 jdk 環(huán)境變量(1)先獲取jdk 路徑:roothadoop101

26、jdk1.7.0_79# pwd/opt/module/jdk1.7.0_79(2)打開/etc/profile 文件:roothadoop101 jdk1.7.0_79# vi /etc/profile在 profie 文件末尾添加 jdk 路徑:#JAVA_HOMEexport JAVA_HOME=/opt/module/jdk1.7.0_79export PATH=$PATH:$JAVA_HOME/bin(3)保存后::wq(4)讓修改后的文件生效:roothadoop101 jdk1.7.0_79# source/etc/profile(5)重啟(如果 java version 可以用

27、就不用重啟):roothadoop101 jdk1.7.0_79# syncroothadoop101 jdk1.7.0_79# reboot6)測(cè)試 jdk 安裝成功roothadoop101 jdk1.7.0_79# java -versionjava version 1.7.0_792.8 安裝 Hadoop1)進(jìn)入到 Hadoop 安裝包路徑下:roothadoop101 # cd /opt/software/2)解壓安裝文件到/opt/module 下面roothadoop101 software# tar -zxf hadoop-2.7.2.tar.gz -C /opt/modul

28、e/3)查看是否解壓成功roothadoop101 software# ls /opt/module/hadoop-2.7.24)配置 hadoop 中的 hadoop-env.sh5)將 hadoop 添加到環(huán)境變量(1)獲取 hadoop 安裝路徑:root hadoop101 hadoop-2.7.2# pwd/opt/module/hadoop-2.7.2(2)打開/etc/profile 文件:root hadoop101 hadoop-2.7.2# vi /etc/profile在 profie 文件末尾添加 jdk 路徑:(shitf+g)(1) Linux 系統(tǒng)中獲取 jdk

29、的安裝路徑:roothadoop101 jdk1.7.0_79# echo $JAVA_HOME/opt/module/jdk1.7.0_79(2) 修改 hadoop-env.sh 文件中 JAVA_HOME 路徑:export JAVA_HOME=/opt/module/jdk1.7.0_79#HADOOP_HOMEexport HADOOP_HOME=/opt/module/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin(3)保存后::wq(4)讓修改后的文件生效:root

30、 hadoop101 hadoop-2.7.2# source /etc/profile(5)重啟(如果 hadoop 命令不能用再重啟):root hadoop101 hadoop-2.7.2# syncroot hadoop101 hadoop-2.7.2# reboot三 Hadoop 運(yùn)行模式1)(1):(2)各個(gè)版本歸檔庫(kù)地址 mon/hadoop-2.7.2/(3)hadoop2.7.2 版本詳情介紹2)Hadoop 運(yùn)行模式(1)本地模式(默認(rèn)模式):不需要啟用單獨(dú)進(jìn)程,直接可以運(yùn)試和開發(fā)時(shí)使用。(2)偽分布式模式:等同于完全分布式,只有一個(gè)節(jié)點(diǎn)。(3)完全分布式模式:多個(gè)節(jié)點(diǎn)一

31、起運(yùn)行。3.1 本地文件運(yùn)行 Hadoop 案例3.1.1grep 案例1)創(chuàng)建在 hadoop-2.7.2 文件下面創(chuàng)建一個(gè) input 文件夾atguiguhadoop101 hadoop-2.7.2$mkdir input2)將 hadoop 的xml 配置文件到 inputatguiguhadoop101 hadoop-2.7.2$cp etc/hadoop/*.xml input3)執(zhí)行 share 目錄下的 mapreduce 程序atguiguhadoop101 hadoop-2.7.2$ bin/hadoop jarshare/hadoop/mapreduce/hadoop-m

32、apreduce-examples-2.7.2.jargrepinputoutputdfsa-z.+4)查看輸出結(jié)果atguiguhadoop101 hadoop-2.7.2$ cat output/*3.1.2wordcount 案例1)創(chuàng)建在 hadoop-2.7.2 文件下面創(chuàng)建一個(gè) wcinput 文件夾atguiguhadoop101 hadoop-2.7.2$mkdir wcinput2)在 wcinput 文件下創(chuàng)建一個(gè) wc.input 文件atguiguhadoop101 hadoop-2.7.2$cd wcinputatguiguhadoop101 wcinput$touc

33、h wc.input3)編輯 wc.input 文件4)回到 hadoop 目錄/opt/module/hadoop-2.7.25)執(zhí)行程序:atguiguhadoop101hadoop-2.7.2$hadoopjaratguiguhadoop101 wcinput$vim wc.input在文件中輸入如下內(nèi)容hadoop yarn hadoop mapreduce atguiguatguigu保存:wqshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput6)查看結(jié)果:atgu

34、iguhadoop101 hadoop-2.7.2$cat wcoutput/part-r-00000atguigu 2hadoop2mapreduce1yarn13.2 偽分布式運(yùn)行 Hadoop 案例3.2.1 HDFS 上運(yùn)行 MapReduce 程序1)分析:(1)準(zhǔn)備 1 臺(tái)客戶機(jī)(2)安裝 jdk(3)配置環(huán)境變量(4)安裝 hadoop(5)配置環(huán)境變量(6)配置集群(7)啟動(dòng)、測(cè)試集群增、刪、查(8)在 HDFS 上執(zhí)行 wordcount 案例2)執(zhí)行步驟需要配置 hadoop 文件如下(1)配置集群(a)配置:hadoop-env.shLinux 系統(tǒng)中獲取 jdk 的安裝

35、路徑:root hadoop101 # echo $JAVA_HOME/opt/module/jdk1.7.0_79修改 JAVA_HOME 路徑:(b)配置:core-site.xmlexport JAVA_HOME=/opt/module/jdk1.7.0_79(c)配置:hdfs-site.xml(2)啟動(dòng)集群(a)格式化namenode(第一次啟動(dòng)時(shí)格式化,以后就不要總格式化)bin/hdfs namenode -format(b)啟動(dòng) namenodesbin/hadoop-daemon.sh start namenode(c)啟動(dòng) datanodesbin/hadoop-daemo

36、n.sh start datanode(3)查看集群(a)查看是否啟動(dòng)成功roothadoop101 # jps13586 NameNode13668 DataNode13786 Jps(b)查看產(chǎn)生的 log 日志當(dāng)前目錄:/opt/module/hadoop-2.7.2/logsroothadoop101 logs# lshadoop-root-datanode-.loghadoop-root-datanode-.outhadoop-root-namenode-.logdfs.replication1fs.defaultFShdfs:/hadoop101:9000hadoop.tmp.di

37、r/opt/module/hadoop-2.7.2/data/tmphadoop-root-namenode-.outSecurityAuth-root.auditroothadoop101 logs# cat hadoop-root-datanode-.log(c)web 端查看 HDFS 文件系統(tǒng)注意:如果不能查看,看如下帖子處理 /zlslch/p/6604189.html(4)操作集群(a)在 hdfs 文件系統(tǒng)上創(chuàng)建一個(gè) input 文件夾atguiguhadoop101hadoop-2.7.2$bin/hdfsdfs-mkdir-p/user/atguigu/mapreduce/w

38、ordcount/input(b)將測(cè)試文件內(nèi)容上傳到文件系統(tǒng)上bin/hdfs dfs -put wcinput/wc.input/user/atguigu/mapreduce/wordcount/input/(c)查看上傳的文件是否正確bin/hdfs dfs -ls/user/atguigu/mapreduce/wordcount/input/bin/hdfs dfs -cat/user/atguigu/mapreduce/wordcount/input/wc.input(d)在 Hdfs 上運(yùn)行 mapreduce 程序bin/hadoopjarshare/hadoop/mapredu

39、ce/hadoop-mapreduce-examples-2.7.2.jarwordcount /user/atguigu/mapreduce/wordcount/input/ /user/atguigu/mapreduce/wordcount/output(e)查看輸出結(jié)果命令行查看:bin/hdfs dfs -cat /user/atguigu/mapreduce/wordcount/output/*瀏覽器查看(f)將測(cè)試文件內(nèi)容到本地hadoop fs -get /user/atguigu/mapreduce/wordcount/output/part-r-00000 ./wcoutpu

40、t/(g)刪除輸出結(jié)果hdfs dfs -rmr /user/atguigu/mapreduce/wordcount/output3.2.2 YARN 上運(yùn)行 MapReduce程序1)分析:(1)準(zhǔn)備 1 臺(tái)客戶機(jī)(2)安裝 jdk(3)配置環(huán)境變量(4)安裝 hadoop(5)配置環(huán)境變量(6)配置集群 yarn 上運(yùn)行(7)啟動(dòng)、測(cè)試集群增、刪、查(8)在 yarn 上執(zhí)行 wordcount 案例2)執(zhí)行步驟(1)配置集群(a)配置 yarn-env.sh配置一下 JAVA_HOME(b)配置 yarn-site.xml(c)配置:mapred-env.sh配置一下 JAVA_HOME

41、(d)配置: (對(duì) mapred-site.xml.template 重新命名為) mapred-site.xmlexport JAVA_HOME=/opt/module/jdk1.7.0_79yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.hostnamehadoop101export JAVA_HOME=/opt/module/jdk1.7.0_79(2)啟動(dòng)集群(a)啟動(dòng) resourcemanagersbin/yarn-daemon.sh start resourcemanager(b)啟動(dòng) node

42、managersbin/yarn-daemon.sh start nodemanager(3)集群操作(a)yarn 的瀏覽器頁(yè)面查看(b)刪除文件系統(tǒng)上的 output 文件bin/hdfs dfs -rm -R /user/atguigu/mapreduce/wordcount/output(c)執(zhí)行 mapreduce 程序bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jarwordcount/user/atguigu/mapreduce/wordcount/input/user/atguigu/m

43、apreduce/wordcount/output(d)查看運(yùn)行結(jié)果bin/hdfs dfs -cat /user/atguigu/mapreduce/wordcount/output/*yarn3.2.3 修改本地臨時(shí)文件目錄1)停止進(jìn)程atguiguhadoop101 hadoop-2.7.2$ sbin/yarn-daemon.sh stop nodemanageratguiguhadoop101 hadoop-2.7.2$ sbin/yarn-daemon.sh stop resourcemanageratguiguhadoop101 h

44、adoop-2.7.2$ sbin/hadoop-daemon.sh stop datanodeatguiguhadoop101 hadoop-2.7.2$ sbin/hadoop-daemon.sh stop namenode2)修改 hadoop.tmp.dircore-site.xml3)格式化 NameNodeatguiguhadoop101 hadoop-2.7.2$ hadoop namenode -format4)啟動(dòng)所有進(jìn)程atguiguhadoop101 hadoop-2.7.2$ sbin/hadoop-daemon.sh start namenodeatguiguhado

45、op101 hadoop-2.7.2$ sbin/hadoop-daemon.sh start datanodeatguiguhadoop101 hadoop-2.7.2$ sbin/yarn-daemon.sh start resourcemanageratguiguhadoop101 hadoop-2.7.2$ sbin/yarn-daemon.sh start nodemanager5)查看/opt/module/hadoop-2.7.2/data/tmp 這個(gè)目錄下的內(nèi)容。3.2.4 Hadoop 配置文件說(shuō)明Hadoop 配置文件分兩類:默認(rèn)配置文件和自定義配置文件,只有用戶想修改某

46、一默認(rèn)配置值時(shí),才需要修改自定義配置文件,更改相應(yīng)屬性值。(1)默認(rèn)配置文件:存放在 hadoop 相應(yīng)的 jar 包中core-default.xmlmon-2.7.2.jar/ core-default.xmlhdfs-default.xmlhadoop-hdfs-2.7.2.jar/ hdfs-default.xmlyarn-default.xmlmon-2.7.2.jar/ yarn-default.xmlhadoop.tmp.dir/opt/module/hadoop-2.7.2/data/tmpcore-default.xmlhadoop-mapreduce-client-core

47、-2.7.2.jar/ core-default.xml(2)自定義配置文件:存放在$HADOOP_HOME/etc/hadoopcore-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml3.2.5 歷史服務(wù)配置啟動(dòng)查看1)配置 mapred-site.xml2)查看啟動(dòng)歷史服務(wù)器文件目錄:roothadoop101 hadoop-2.7.2# ls sbin/ |grep mrmr-jobhistory-daemon.sh3)啟動(dòng)歷史服務(wù)器sbin/mr-jobhistory-daemon.sh start historyserver4)查看

48、歷史服務(wù)器是否啟動(dòng)jps5)查看 jobhistory3.2.6 日志的日志概念:應(yīng)用運(yùn)行完成以后,將日志信息上傳到 HDFS 系統(tǒng)上開啟日志功能步驟:(1)配置 yarn-site.xmlmapreduce.jobhistory.addresshadoop101:10020mapreduce.jobhistory.webapp.addresshadoop101:19888(2)關(guān)閉 nodemanager 、resourcemanager 和 historymanagersbin/yarn-daemon.sh stop resourcemanagersbin/yarn-daemon.sh s

49、top nodemanagersbin/mr-jobhistory-daemon.sh stop historyserver(3)啟動(dòng) nodemanager 、resourcemanager 和 historymanagersbin/yarn-daemon.sh start resourcemanagersbin/yarn-daemon.sh start nodemanagersbin/mr-jobhistory-daemon.sh start historyserver(4)刪除 hdfs 上已經(jīng)存在的 hdfs 文件bin/hdfs dfs -rm -R /user/atguigu/ma

50、preduce/wordcount/output(5)執(zhí)行 wordcount 程序hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jarwordcount/user/atguigu/mapreduce/wordcount/input/user/atguigu/mapreduce/wordcount/output(6)查看日志yarn.log-aggregation-enabletrueyarn.log-aggregation.retain-seconds6048003.3 完全分布式部署 Hadoop分析:1)準(zhǔn)備 3 臺(tái)客戶機(jī)(關(guān)閉、靜態(tài) ip、主機(jī)名稱)2)安裝 jdk3)配置環(huán)境變量4)安裝 hadoop5)配置環(huán)境變量6)安裝 ssh7)配置集群8)啟動(dòng)測(cè)試集群3.3.1 虛擬機(jī)準(zhǔn)備詳見 2.2-2.3 章。3.3.2 主機(jī)名設(shè)置詳見 2.4 章。3.3.3 scp1)scp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論