Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實戰(zhàn)(微課版)-教案全套 薛明志 項目1-8 走進(jìn)大數(shù)據(jù)的世界 -HBase實戰(zhàn)_第1頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實戰(zhàn)(微課版)-教案全套 薛明志 項目1-8 走進(jìn)大數(shù)據(jù)的世界 -HBase實戰(zhàn)_第2頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實戰(zhàn)(微課版)-教案全套 薛明志 項目1-8 走進(jìn)大數(shù)據(jù)的世界 -HBase實戰(zhàn)_第3頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實戰(zhàn)(微課版)-教案全套 薛明志 項目1-8 走進(jìn)大數(shù)據(jù)的世界 -HBase實戰(zhàn)_第4頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實戰(zhàn)(微課版)-教案全套 薛明志 項目1-8 走進(jìn)大數(shù)據(jù)的世界 -HBase實戰(zhàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

走進(jìn)大數(shù)據(jù)世界教學(xué)單元名稱大數(shù)據(jù)概述教學(xué)目標(biāo)能力目標(biāo)獨立查閱相關(guān)資料的能力知識目標(biāo)了解大數(shù)據(jù)產(chǎn)生背景、概念及其影響了解大數(shù)據(jù)的關(guān)鍵技術(shù)、計算模式了解大數(shù)據(jù)與云計算和物聯(lián)網(wǎng)之間的關(guān)系素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、大數(shù)據(jù)產(chǎn)生背景和概念2、大數(shù)據(jù)的關(guān)鍵技術(shù)3、大數(shù)據(jù)與云計算和物聯(lián)網(wǎng)之間的關(guān)系教學(xué)難點無教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入學(xué)生自己對大數(shù)據(jù)的理解大數(shù)據(jù)在現(xiàn)實生活中的應(yīng)用大數(shù)據(jù)產(chǎn)生的背景講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——了解大數(shù)據(jù)講解聽講記錄課程要點講解1.大數(shù)據(jù)產(chǎn)生背景、概念及其影響關(guān)鍵字:第三次信息浪潮、紙牌屋、4V講解搜集資料、交流2.大數(shù)據(jù)的關(guān)鍵技術(shù)、計算模式重點介紹數(shù)據(jù)的采集與預(yù)處理、數(shù)據(jù)存儲和管理、數(shù)據(jù)處理與分析、數(shù)據(jù)安全和隱私保護(hù)

講解對大數(shù)據(jù)處理的不同階段分別進(jìn)行講解3.大數(shù)據(jù)與云計算和物聯(lián)網(wǎng)之間的關(guān)系重點介紹三者的概念及其關(guān)系

講解聽講記錄詳細(xì)講解1.大數(shù)據(jù)產(chǎn)生背景、概念及其影響1)大數(shù)據(jù)產(chǎn)生的背景:第三次信息化浪潮、信息科技為大數(shù)據(jù)時代提供技術(shù)支撐、數(shù)據(jù)產(chǎn)生方式的變革促成大數(shù)據(jù)時代的來臨2)大數(shù)據(jù)的概念:4V,數(shù)據(jù)量大(Volume)、數(shù)據(jù)類型繁多(Variety)、處理速度快(Velocity)、價值密度低(Value)3)大數(shù)據(jù)的影響:在思維方式方面,大數(shù)據(jù)完全顛覆了傳統(tǒng)的思維方式:全樣而非抽樣、效率而非精確、相關(guān)而非因果講解分組討論大數(shù)據(jù)的關(guān)鍵技術(shù)、計算模式1)大數(shù)據(jù)的關(guān)鍵技術(shù):數(shù)據(jù)的采集與預(yù)處理、數(shù)據(jù)存儲和管理、數(shù)據(jù)處理與分析、數(shù)據(jù)安全和隱私保護(hù)

2)大數(shù)據(jù)計算模式:批處理計算(針對大規(guī)模數(shù)據(jù)的批量)、處理流計算(針對流數(shù)據(jù)的實時計算)、圖計算(針對大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)的處理)查詢分析計算(大規(guī)模數(shù)據(jù)的存儲管理和查詢分析)講解聽講記錄、交流大數(shù)據(jù)與云計算和物聯(lián)網(wǎng)之間的關(guān)系云計算、大數(shù)據(jù)和物聯(lián)網(wǎng)代表了IT領(lǐng)域最新的技術(shù)發(fā)展趨勢,三者既有區(qū)別又有聯(lián)系講解分組討論、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1、大數(shù)據(jù)的4個基本特征;2、舉例說明大數(shù)據(jù)的具體應(yīng)用;3、闡述大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)三者之間的關(guān)系?走進(jìn)Hadoop世界教學(xué)單元名稱Hadoop教學(xué)目標(biāo)能力目標(biāo)獨立查閱相關(guān)資料的能力知識目標(biāo)了解Hadoop的發(fā)展史、特性和應(yīng)用現(xiàn)狀掌握Hadoop生態(tài)系統(tǒng)的組成素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、Hadoop的發(fā)展史、特性2、Hadoop的生態(tài)圈教學(xué)難點Hadoop生態(tài)圈的組成及各自的功能教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入學(xué)生對大數(shù)據(jù)架構(gòu)的理解Hadoop的功能組件講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——了解Hadoop講解聽講記錄課程要點講解Hadoop概述關(guān)鍵字:特性、版本講解搜集資料、交流Hadoop生態(tài)系統(tǒng)重點介紹HDFS、HBase、MapReduce、YARN、Hive、HBase、Pig、Sqoop、Zookeeper、Storm、Flume、Spark講解對不同子項目進(jìn)行綜合講解詳細(xì)講解1.Hadoop的發(fā)展史、特性和應(yīng)用現(xiàn)狀1)Hadoop的發(fā)展史:Hadoop源自始于2002年的ApacheNutch項目——一個開源的網(wǎng)絡(luò)搜索引擎并且也是Lucene項目的一部分。2)Hadoop的特性:高可靠性、高效性、高可擴(kuò)展性、高容錯性、成本低、運行在Linux平臺上、支持多種編程語言3)Hadoop的版本:ApacheHadoop版本分為兩代,我們將第一代Hadoop稱為Hadoop1.0,第二代Hadoop稱為Hadoop2.0講解分組討論Hadoop生態(tài)系統(tǒng)Hadoop的項目結(jié)構(gòu)不斷豐富發(fā)展,已經(jīng)形成一個豐富的Hadoop生態(tài)系統(tǒng)HDFS:分布式文件系統(tǒng)MapReduce:分布式并行編程模型YARN:資源管理和調(diào)度器Tez:運行在YARN之上的下一代Hadoop查詢處理框架Hive:Hadoop上的數(shù)據(jù)倉庫HBase:adoop上的非關(guān)系型的分布式數(shù)據(jù)庫Pig:一個基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺,提供類似SQL的查詢語言PigLatinSqoop:用于在Hadoop與傳統(tǒng)數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)傳遞Oozie:Hadoop上的工作流管理系統(tǒng)Zookeeper:提供分布式協(xié)調(diào)一致性服務(wù)Storm:流計算框架Flume:一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)Ambari:Hadoop快速部署工具,支持ApacheHadoop集群的供應(yīng)、管理和監(jiān)控Kafka:一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),可以處理消費者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)Spark:類似于HadoopMapReduce的通用并行框架講解聽講記錄、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1、Hadoop的特點?3、闡述Hadoop生態(tài)圈中的子項目?Hadoop集群搭建教學(xué)單元名稱Linux環(huán)境準(zhǔn)備教學(xué)目標(biāo)能力目標(biāo)具有較強的動手能力。知識目標(biāo)掌握靜態(tài)IP的修改方法掌握主機名的修改方法綁定主機名和IP地址的對應(yīng)關(guān)系配置免密登錄素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、創(chuàng)新的能力教學(xué)重點掌握講臺IP的修改方法、掌握主機名的修改方法、綁定主機名和IP地址的對應(yīng)關(guān)系教學(xué)難點免密登錄教學(xué)方法項目向?qū)?、任?wù)驅(qū)動、分組討論教學(xué)時數(shù)4學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入介紹CentOS7操作系統(tǒng)安裝介紹IP地址、主機名和免密登錄講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——Linux環(huán)境準(zhǔn)備講解聽講記錄任務(wù)部署1CentOS7操作系統(tǒng)安裝,掌握靜態(tài)IP的修改方法,掌握主機名的修改方法,綁定主機名和IP地址的對應(yīng)關(guān)系,配置免密登錄講解搜集資料、交流任務(wù)實施1修改靜態(tài)IP修改主機IP地址的操作步驟如下:①切換到/etc/sysconfig/network-scripts/目錄下,命令如下所示:cd/etc/sysconfig/network-scripts/②編輯該目錄下的ifcfg-ens33文件,命令如下所示:viifcfg-ens33③修改ifcfg-ens33中的內(nèi)容,默認(rèn)情況下是dhcp動態(tài)IP地址,需要靜態(tài)IP地址,此時將BOOTPROTO的值改為static;需要開機時啟動網(wǎng)卡,將ONBOOT的值改為yes,需要添加網(wǎng)絡(luò)配置信息,包括靜態(tài)IP地址參數(shù)IPADDR、網(wǎng)關(guān)參數(shù)GATEWAY、子網(wǎng)掩碼參數(shù)NETMASK、DNS配置參數(shù)DNS1。④網(wǎng)卡信息修改完成后,保存并退出VI編輯器,需要重新啟動網(wǎng)絡(luò)服務(wù),使修改的內(nèi)容生效,命令如下所示:systemctlrestartnetwork⑤網(wǎng)卡重啟完成后,可以查看網(wǎng)絡(luò)配置信息,命令如下所示:ipaddrshow講解演示模仿操作修改主機名①修改主機名的配置文件位于/etc目錄下,文件名為hostname。編輯/etc/hostname文件,命令如下:vi/etc/hostname②在該文件中刪除原來的主機名,添加要修改的主機名master,添加內(nèi)容如下:master③保存并退出/etc/hostname文件,并且使用reboot命令重啟使修改內(nèi)容生效。講解演示模仿操作綁定主機名和IP對應(yīng)關(guān)系①修改/etc/hosts文件,命令如下所示:vi/etc/hosts在該文件末尾添加如下內(nèi)容:28master32slave130slave2需要在另外兩個節(jié)點上綁定主機名和IP對應(yīng)關(guān)系,此時不需要在每一個節(jié)點上修改/etc/hosts文件,只需要使用scp命令,將已經(jīng)配置好的/etc/hosts文件拷貝到另外兩個節(jié)點上,拷貝命令如下:scp-r/etc/hostsroot@29:/etc/hostsscp-r/etc/hostsroot@30:/etc/hosts②三個節(jié)點都配置完成后,使用如下命令測試三個節(jié)點之間網(wǎng)絡(luò)是否互通。在master節(jié)點上執(zhí)行如下命令:pingslave1pingslave2在slave1節(jié)點上執(zhí)行如下命令:pingmasterpingslave2在slave2節(jié)點上執(zhí)行如下命令:pingmasterpingslave1免密登錄①分別在三個節(jié)點上生成秘鑰文件,分別在master、slave1和slave2三個節(jié)點上執(zhí)行如下命令:ssh-keygen執(zhí)行ssh-keygen命令時,會要求確認(rèn)秘鑰文件的存儲位置(SSH密鑰默認(rèn)保留在~/.ssh目錄中),輸入并確認(rèn)私鑰的密碼即可,也可以直接按“Enter”即可,表示將私鑰密碼空著。生成的id_rsa是本機的私鑰文件,id_rsa.pub是本機的公鑰文件。②分別在master、slave1和slave2三個節(jié)點上執(zhí)行以下命令,該命令是將自身的公鑰信息復(fù)制并追加到全部節(jié)點的授權(quán)文件authorized_keys中。ssh-copy-idmasterssh-copy-idslave1ssh-copy-idslave2③分別在master、slave1和slave2三個節(jié)點上執(zhí)行ssh命令以下命令,來測試SSH免密登錄。教學(xué)小結(jié)學(xué)生演示:按照任務(wù)要求進(jìn)行演示。教師點評:根據(jù)學(xué)生安裝情況進(jìn)行驗收點評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行練習(xí)。講解學(xué)生記錄布置作業(yè)靜態(tài)IP的修改方法掌握主機名的修改方法綁定主機名和IP地址的對應(yīng)關(guān)系配置免密登錄Hadoop集群搭建教學(xué)單元名稱JDK安裝和Hadoop安裝教學(xué)目標(biāo)能力目標(biāo)具有較強的動手能力。知識目標(biāo)掌握J(rèn)DK的安裝過程掌握Hadoop的安裝過程素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、創(chuàng)新的能力教學(xué)重點1、JDK的安裝過程2、Hadoop的安裝過程教學(xué)難點JDK環(huán)境變量的配置教學(xué)方法項目向?qū)?、任?wù)驅(qū)動、分組討論教學(xué)時數(shù)4學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入介紹Hadoop架構(gòu)運行基礎(chǔ)介紹環(huán)境變量對JDK和Hadoop的重要作用講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——JDK安裝和Hadoop安裝講解聽講記錄任務(wù)部署1將JDK上傳至CentOS7操作系統(tǒng)中,再將JDK安裝到該系統(tǒng)中,同時完成環(huán)境變量配置和測試安裝是否成功。講解搜集資料、交流任務(wù)實施11.下載JDK講解演示模仿操作①下載jdk-8u211-linux-x64.tar.gz。②將下載的JDK安裝包jdk-8u211-linux-x64.tar.gz傳到虛擬機master的/usr/local/src目錄下。③在虛擬機master上安裝JDK,安裝過程就是解壓的過程,解壓命令如下:tar-zxvf/usr/local/src/jdk-8u211-linux-x64.tar.gz-C/usr/local/src④為方便配置JDK系統(tǒng)環(huán)境變量,可以修改JDK安裝目錄名,命令如下:mv/usr/local/src/jdk-1.8.0/usr/local/src/jdk⑤配置JDK系統(tǒng)環(huán)境變量,修改文件/etc/profile,命令如下:vi/etc/profile在文件的末尾添加如下內(nèi)容:exportJAVA_HOME=/usr/local/src/jdkexportPATH=$PATH:$JAVA_HOME/bin/etc/profile文件為系統(tǒng)的每個用戶設(shè)置環(huán)境變量信息,此文件的修改會影響到所有用戶,這個文件是每個用戶登錄時都會運行的環(huán)境變量設(shè)置。提示:exportPATH=$PATH:$JAVA_HOME/bin中的=兩邊沒有空格,$PATH不能忽略寫。⑥/etc/profile文件配置完成之后,需要使剛剛修改的內(nèi)容生效,執(zhí)行如下命令:source/etc/profile⑦驗證JDK是否安裝成功,執(zhí)行java-version命令,如果出現(xiàn)版本信息,則安裝成功。安裝成功出現(xiàn)如下內(nèi)容:javaversion"1.8.0_211"Java(TM)SERuntimeEnvironment(build1.8.0_211-b12)JavaHotSpot(TM)64-BitServerVM(build25.211-b12,mixedmode)⑧拷貝整個jdk安裝目錄到另外兩個節(jié)點,執(zhí)行如下命令:scp-r/usr/local/src/jdkroot@slave1:/usr/local/srcscp-r/usr/local/src/jdkroot@slave2:/usr/local/src⑨拷貝/etc/profile文件到另外兩個節(jié)點,執(zhí)行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑩在slave1和slave2節(jié)點上,刷新/etc/profile文件,使得剛剛修改的內(nèi)容生效,執(zhí)行如下命令:source/etc/profile?驗證slave1和slave2節(jié)點上的JDK是否安裝成功,執(zhí)行java-version命令,如果出現(xiàn)版本信息,則安裝成功。講解演示模仿操作任務(wù)部署2將Hadoop上傳至CentOS7操作系統(tǒng)中,再將Hadoop安裝到該系統(tǒng)中,同時完成環(huán)境變量配置和測試安裝是否成功。講解搜集資料、交流任務(wù)實施21.下載Hadoop講解演示模仿操作安裝Hadoop①在Hadoop官網(wǎng)上下載hadoop-2.9.2.tar.gz安裝包。②使用WinSCP軟件,將下載完成的hadoop-2.9.2.tar.gz安裝包傳到master節(jié)點上的/usr/local/src目錄下③將hadoop-2.9.2.tar.gz解壓到/usr/local/src目錄下,執(zhí)行以下命令:tar-zxvf/usr/local/src/hadoop-2.9.2.tar.gz-C/usr/local/src④為了方便配置Hadoop系統(tǒng)環(huán)境變量,可以修改目錄名,命令如下:mv/usr/local/src/hadoop-2.9.2/usr/local/src/hadoop⑤配置Hadoop系統(tǒng)環(huán)境變量,修改文件/etc/profile,命令如下:vi/etc/profile在文件的末尾添加如下內(nèi)容:exportHadoop_HOME=/usr/local/src/hadoopexportPATH=$Hadoop_HOME/bin:$Hadoop_HOME/sbin:$PATH⑥/etc/profile文件配置完成之后,需要使剛剛修改的內(nèi)容生效,執(zhí)行如下命令:source/etc/profile⑦驗證Hadoop是否安裝成功,執(zhí)行Hadoopversion命令,如果出現(xiàn)如下版本信息,則安裝成功。Hadoop2.9.2講解演示模仿操作、歸納總結(jié)、記錄教學(xué)小結(jié)學(xué)生演示:按照任務(wù)要求進(jìn)行演示。教師點評:根據(jù)學(xué)生安裝情況進(jìn)行驗收點評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行練習(xí)。講解學(xué)生記錄布置作業(yè)1、JDK的下載與安裝,環(huán)境變量配置及測試;2、Hadoop的下載,環(huán)境變量配置及測試。Hadoop集群搭建教學(xué)單元名稱Hadoop分布式環(huán)境搭建教學(xué)目標(biāo)能力目標(biāo)具有獨立自主的開發(fā)能力知識目標(biāo)掌握Hadoop分布式環(huán)境配置掌握常用的hadoop命令素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、創(chuàng)新的能力教學(xué)重點1、掌握Hadoop分布式環(huán)境配置2、掌握常用的hadoop命令教學(xué)難點Hadoop分布式環(huán)境的配置教學(xué)方法項目向?qū)?、任?wù)驅(qū)動、分組討論教學(xué)時數(shù)4學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入介紹環(huán)境變量對分布式環(huán)境配置的重要作用講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——Hadoop分布式環(huán)境配置講解聽講記錄任務(wù)部署1完成hadoop偽分布式環(huán)境的配置講解搜集資料、交流任務(wù)實施1①修改配置文件hadoop-env.sh在該文件中修改JAVA_HOME環(huán)境變量,將其值修改為JDK的安裝路徑,修改內(nèi)容如下所示:exportJAVA_HOME=/usr/local/src/jdk②修改全局參數(shù)配置文件core-site.xml將<configuration>和</configuration>中的標(biāo)簽中的內(nèi)容修改如下所示:<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/src/hadoop/tmp</value></property></configuration>③修改hdfs參數(shù)配置文件hdfs-site.xml,將<configuration>和</configuration>中的標(biāo)簽中的內(nèi)容修改如下所示:<configuration><property><name>.dir</name><value>/usr/local/src/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/usr/local/src/hadoop/dfs/data</value></property><property><name>node.secondary.http-address</name><value>slave1:50090</value></property></configuration>④修改從節(jié)點配置文件slaves該配置文件需要把啟動DataNode進(jìn)程的節(jié)點加入到該文件中,首先需要進(jìn)入該文件的編輯狀態(tài),執(zhí)行如下命令:vislaves在slaves中加入如下內(nèi)容:masterslave1slave2⑤在/usr/local/src/hadoop下創(chuàng)建dfs目錄,在/usr/local/src/hadoop目錄下執(zhí)行mkdirdfs命令,該目錄用來存放數(shù)據(jù)HDFS文件系統(tǒng)的元信息保存位置和HDFS文件系統(tǒng)的數(shù)據(jù)保存位置。⑥拷貝整個Hadoop安裝目錄到另外兩個節(jié)點,如下命令:scp-r/usr/local/src/hadooproot@slave1:/usr/local/srcscp-r/usr/local/src/hadooproot@slave2:/usr/local/src⑦拷貝/etc/profile文件到另外兩個節(jié)點,執(zhí)行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑧在slave1和slave2節(jié)點上,刷新/etc/profile文件,使剛剛修改的內(nèi)容生效。source/etc/profile講解演示模仿操作教學(xué)小結(jié)學(xué)生演示:按照任務(wù)要求進(jìn)行演示。教師點評:根據(jù)學(xué)生配置情況進(jìn)行驗收點評,同時給出實驗成績。講解學(xué)生記錄布置作業(yè)1、hadoop單機環(huán)境配置文件的設(shè)置2、搭建Hadoop分布式平臺。

HDFS分布式系統(tǒng)教學(xué)單元名稱分布式文件系統(tǒng)HDFS簡介教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)的能力知識目標(biāo)了解分布式文件系統(tǒng)、HDFS掌握HDFS體系架構(gòu)掌握HDFS存儲原理掌握HDFS數(shù)據(jù)讀寫過程素質(zhì)目標(biāo)探索新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、了解分布式文件系統(tǒng)、HDFS2、HDFS體系架構(gòu)3、HDFS存儲原理4、HDFS數(shù)據(jù)讀寫過程教學(xué)難點HDFS存儲原理和數(shù)據(jù)存儲過程教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入常見的文件系統(tǒng)分布式文件系統(tǒng)產(chǎn)生的背景谷歌提出的GFS講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——分布式文件系統(tǒng)HDFS講解聽講記錄課程要點講解1.分布式文件系統(tǒng)、HDFS重點介紹計算機集群、分布式文件系統(tǒng)結(jié)構(gòu)和HDFS相關(guān)概念講解提問搜集資料、交流HDFS體系架構(gòu)重點介紹HDFS的命名空間、通信協(xié)議以及客戶端講解聽講記錄3.HDFS存儲原理重點介紹數(shù)據(jù)冗余存儲、數(shù)據(jù)存取策略、數(shù)據(jù)錯誤與恢復(fù)

講解聽講記錄4.HDFS數(shù)據(jù)讀寫過程重點介紹HDFS讀數(shù)據(jù)和寫數(shù)據(jù)的過程

講解提問搜集資料、交流詳細(xì)講解1.分布式文件系統(tǒng)、HDFS1)計算機集群結(jié)構(gòu)分布式文件系統(tǒng)把文件分布存儲到多個計算機節(jié)點上,成千上萬的計算機節(jié)點構(gòu)成計算機集群分布式文件系統(tǒng)的結(jié)構(gòu)3)HDFS講解分組討論2.HDFS體系架構(gòu)1)HDFS體系結(jié)構(gòu)2)HDFS命名空間管理HDFS的命名空間包含目錄、文件和塊通信協(xié)議所有的HDFS通信協(xié)議都是構(gòu)建在TCP/IP協(xié)議基礎(chǔ)之上的客戶端HDFS客戶端是一個庫,暴露了HDFS文件系統(tǒng)接口,這些接口隱藏了HDFS實現(xiàn)中的大部分復(fù)雜性講解聽講記錄、交流3.HDFS存儲原理1)冗余數(shù)據(jù)保存數(shù)據(jù)存取策略講解分組討論、交流4.HDFS數(shù)據(jù)讀寫過程1)讀數(shù)據(jù)的過程2)寫數(shù)據(jù)的過程教學(xué)小結(jié)本節(jié)課內(nèi)容理解起來有一定的困難,根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1、HDFS中的塊和普通文件系統(tǒng)中的塊的區(qū)別?2、HDFS中的名稱節(jié)點和數(shù)據(jù)節(jié)點的具體功能?3、HDFS在不發(fā)生故障的情況下讀文件和寫文件的過程?HDFS分布式系統(tǒng)教學(xué)單元名稱HDFS操作教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)的能力知識目標(biāo)掌握HDFS命令行基本操作。掌握使用Java語言編寫HDFSAPI。素質(zhì)目標(biāo)探索新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、HDFS命令行基本操作。2、使用Java語言編寫HDFSAPI。教學(xué)難點使用Java語言編寫HDFSAPI教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入HDFS文件存儲使用Java語言編寫文件上傳功能講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——HDFS操作講解聽講記錄課程要點講解1.HDFS命令行操作,包括文件創(chuàng)建、文件下載、文件重命名、文件刪除、目錄創(chuàng)建等操作。講解提問搜集資料、交流2.HDFSJavaAPI操作,包括文件創(chuàng)建、文件下載、文件重命名、文件刪除、目錄創(chuàng)建等操作。講解聽講記錄詳細(xì)講解1.在HDFS文件系統(tǒng)中創(chuàng)建目錄,目錄名為bigdata。hadoopfs-mkdir/bigdata如果想要級聯(lián)創(chuàng)建目錄(如果父目錄不存在,則自動創(chuàng)建父目錄),則執(zhí)行如下命令:hadoopfs-mkdir-p/bigdata/bigdata12.將本地Linux操作系統(tǒng)中的文件上傳文件到HDFS上,將Linux操作系統(tǒng)上的/usr/local/src/test.txt文件上傳到HDFS上的根目錄下面。hadoopfs-put/usr/local/src/test.txt/bigdata3.將HDFS上的文件下載到本地(Linux操作系統(tǒng)),將HDFS上的/bigdata/test.txt下載到Linux操作系統(tǒng)下的root用戶的家目錄下面。hadoopfs-get/bigdata/test.txt/root在上述命令中,/bigdata/test.txt是需要從HDFS文件系統(tǒng)上下載的文件,/root是要下載文件到本地(Linux操作系統(tǒng))的路徑。4.將HDFS文件系統(tǒng)上的文件復(fù)制到其他目錄下。hadoopfs-cp/bigdata/test.txt/bigdata/bigdata1/test.txt在上述命令中,/bigdata/test.txt為需要復(fù)制的文件,/bigdata/bigdata1/test.txt為復(fù)制后的文件。5.將HDFS文件系統(tǒng)上的文件移動到其他目錄下hadoopfs-mv/bigdata/test.txt/bigdata/bigdata1/test1.txt在上述命令中,/bigdata/test.txt為需要移動的文件,/bigdata/bigdata1/test.txt為移動后的文件。執(zhí)行如下命令,則實現(xiàn)重命名功能。hadoopfs-mv/bigdata/bigdata1/test.txt/bigdata/bigdata1/test_bak.txt6.查看HDFS文件系統(tǒng)上的文件內(nèi)容hadoopfs-cat/bigdata/test.txt在上述命令中,/bigdata/test.txt為要查看的文件。7.查看HDFS文件系統(tǒng)上的文件內(nèi)容的前5行hadoopfs-cat/bigdata/test.txt|head-5在上述命令中,/bigdata/test.txt為要查看的文件。8.刪除HDFS文件系統(tǒng)上的文件或目錄。hadoopfs-rm/bigdata/test.txt在上述命令中,/bigdata/test.txt為要刪除的文件。如果想刪除目錄,則需要加上參數(shù)“-r”,命令如下所示:hadoopfs-rm-r/bigdata/bigdata19.查看HDFS文件系統(tǒng)支持的命令hadoopfs-help10.查看HDFS文件系統(tǒng)中根目錄下的文件和目錄hadoopfs-ls/講解分組討論在編寫代碼之前,需要引入開發(fā)HDFSAPI客戶端相應(yīng)的依賴,如下所示:<dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.9.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.9.2</version></dependency></dependencies>首先,實現(xiàn)HDFS文件上傳將Windows系統(tǒng)上本地E盤下面report.txt文件上傳到HDFS集群。接下來,實現(xiàn)從HDFS上下載文件將HDFS集群上的report.txt文件下載到Windows系統(tǒng),下載到E盤下面。然后,實現(xiàn)HDFS文件夾刪除刪除HDFS集群上文件。最后,介紹HDFS文件名更改和移動將HDFS集群上文件名進(jìn)行更改和移動。講解聽講記錄、交流分組討論、交流教學(xué)小結(jié)本節(jié)課內(nèi)容理解起來有一定的困難,根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1.使用HDFS命令行操作,實現(xiàn)如下功能:(1)在HDFS集群根目錄下創(chuàng)建目錄test。(2)在本地Linux操作系統(tǒng)創(chuàng)建test.txt文件,文件內(nèi)容為二十大報告內(nèi)容,將新創(chuàng)建的test.txt上傳到到HDFS上/test目錄。(3)將HDFS集群上/test/test.txt文件下載到本地。(4)將HDFS集群上/test/test.txt文件復(fù)制到根目錄下。(5)將HDFS集群上/test/test.txt文件重命名為test1.txt。(6)查看HDFS集群上/test/test1.txt文件前5行內(nèi)容。(7)刪除HDFS集群上根目錄下的test.txt文件。(8)查看HDFS集群中根目錄下的文件和目錄2.編寫JavaAPI,實現(xiàn)如下功能:(1)將Windows系統(tǒng)中新建文件log.txt,文件內(nèi)容為二十大報告內(nèi)容,將本地文件上傳到HDFS集群根目錄下。(2)將HDFS集群上根目錄下的log.txt下載到Windows系統(tǒng)D盤。(3)刪除HDFS集群上根目錄下的log.txt。MapReduce教學(xué)單元名稱MapReduce工作原理教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)、分析問題的能力知識目標(biāo)MapReduce概述MapReduce體系結(jié)構(gòu)MapReduce工作流程素質(zhì)目標(biāo)探索新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點MapReduce概述MapReduce體系結(jié)構(gòu)MapReduce工作流程教學(xué)難點MapReduce工作流程教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入HDFS講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——MapReduce講解聽講記錄課程要點講解1.MapReduce概述重點介紹了分布式并行編程、MapReduce模型簡介和Map和Reduce函數(shù)講解提問搜集資料、交流2.MapReduce體系結(jié)構(gòu)重點介紹Client、JobTracker、TaskTracker以及Task講解聽講記錄3.MapReduce工作流程重點介紹MapReduce各個執(zhí)行階段

講解提問搜集資料、交流詳細(xì)講解MapReduce概述分布式并行編程分布式程序運行在大規(guī)模計算機集群上,可以并行執(zhí)行大規(guī)模數(shù)據(jù)處理任務(wù),從而獲得海量的計算能力2)MapReduce模型簡介MapReduce將復(fù)雜的、運行于大規(guī)模集群上的并行計算過程高度地抽象到了兩個函數(shù):Map和Reduce3)Map和Reduce函數(shù)講解分組討論2.MapReduce體系結(jié)構(gòu)講解聽講記錄、交流3.MapReduce工作流程1)工作流程概述不同的Map任務(wù)之間不會進(jìn)行通信不同的Reduce任務(wù)之間也不會發(fā)生任何信息交換用戶不能顯式地從一臺機器向另一臺機器發(fā)送消息所有的數(shù)據(jù)交換都是通過MapReduce框架自身去實現(xiàn)的MapReduce各個執(zhí)行階段Shuffle講解分組討論、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1、闡述MapReduce和Hadoo之間的關(guān)?2、MapReduce的工作流程?3、分別描述Map端和Reduce端的Shuffle過程?MapReduce教學(xué)單元名稱MapReduce編程教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)、分析問題的能力知識目標(biāo)掌握MapReduce配置文件的修改。使用MapReduce模型獨立完成二十大報告內(nèi)容的分析。能夠獨立完成YARN的部署。掌握使用MapReduce編寫的jar包提交給YARN集群運行。素質(zhì)目標(biāo)通過對二十大報告的分析,了解二十大報告內(nèi)容。通過對漢字的引入,了解中國漢字的由來,體會中國的文化自信。養(yǎng)成事前調(diào)研、做好準(zhǔn)備工作的習(xí)慣。貫徹互助共享的精神。教學(xué)重點修改MapReduce配置文件的修改。使用MapReduce模型獨立完成單詞統(tǒng)計分析。能夠獨立完成YARN的部署。使用MapReduce編寫的jar包提交給YARN集群運行。教學(xué)難點使用MapReduce模型獨立完成單詞統(tǒng)計分析使用MapReduce編寫的jar包提交給YARN集群運行教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)10學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入MapReduce編程模型,分布式存儲工作原理、分布式并行計算工作原理講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——MapReduce編程講解聽講記錄課程要點講解1、使用MapReduce模型獨立完成單詞統(tǒng)計分析假設(shè)有兩個文本文件,分別為words1.txt和words2.txt,現(xiàn)在需要計算出這兩個文件中單詞出現(xiàn)的次數(shù)。在統(tǒng)計單詞數(shù)量任務(wù)中,可以將大的數(shù)據(jù)集切分成小的數(shù)據(jù)集,且各數(shù)據(jù)集之間相互獨立,方便并行處理。此外,各個單詞之間的頻數(shù)不具有相關(guān)性,可以將不同的單詞分發(fā)到不同的節(jié)點上處理。由此可以看出,單詞統(tǒng)計任務(wù)的解決思路完全貼合MapReduce的編程思想。統(tǒng)計單詞出現(xiàn)次數(shù)的流程如圖所示:講解提問搜集資料、交流2、MapReduce程序提交給YARN運行講解搜集資料、交流、分組討論詳細(xì)講解1、MapReduce單詞統(tǒng)計分析在該任務(wù)中,程序的執(zhí)行過程如下:(1)輸入分片及其格式化案例中的輸入文件為兩個很小文本文件,單個文件的數(shù)據(jù)沒有達(dá)到需要切分的程度,所以可將每個文件作為獨立的分片。此外,還需要對輸入分片進(jìn)行格式化操作,形成<key1,value1>形式的數(shù)據(jù)流。單詞統(tǒng)計的輸入分片及其格式化如圖所示:key1為偏移量,從0開始,每讀取一個字符(包括空格、換行符等)就增加1,單詞占2個字符;value1為每行文本內(nèi)容,文本內(nèi)容為字符串形式。(2)Map過程map()函數(shù)將接收到的<key1,value1>形式的輸入數(shù)據(jù)流,按空格進(jìn)行拆分,輸出結(jié)果為<key2,value2>形式的數(shù)據(jù)。單詞統(tǒng)計的Map過程如圖所示:key2為字符串形式的單詞;value2的值為1,表示單詞數(shù)為1。(3)Shuffle過程由于Reduce要求輸入數(shù)據(jù)有序,所以map()函數(shù)的計算結(jié)果需要經(jīng)過處理(如分區(qū)、排序、歸并),才可以作為reduce()函數(shù)的輸入。于是,將多個Map任務(wù)的<key2,value2>形式的輸出,處理成<key2,list(value2)>形式的中間結(jié)果,單詞統(tǒng)計的Shuffle過程如圖所示:(4)Reduce過程reduce()函數(shù)接收<key2,list(value2)>形式的數(shù)據(jù)流,對相同單詞的值集合進(jìn)行計算,匯總出單詞出現(xiàn)的總次數(shù)。單詞統(tǒng)計的Reduce過程如圖所示:講解分組討論2、MapReduce程序提交給YARN運行①將編寫的源代碼打包,需要修改數(shù)據(jù)輸入路徑和數(shù)據(jù)輸出路徑,其余內(nèi)容不改變,代碼如下所示:FileInputFormat.setInputPaths(job,newPath("/wordcount/input"));FileOutputFormat.setOutputPath(job,newPath("/wordcount/output"));②使用Xshell軟件的傳輸功能,將已經(jīng)生成的wordcount.jar包傳到master節(jié)點上的/usr/local/src目錄下。③執(zhí)行jar包,命令如下所示:hadoopjar/usr/local/src/wordcount.jarorg.mapreduce.wordcount.JobSubmitterhadoopjar是執(zhí)行jar包命令,/usr/local/src/wordcount.jar是生成jar包名稱,org.tzx.mapreduce.JobSubmitter是源代碼中包含main方法的完整類名。hadoopjar會把本臺節(jié)點上Hadoop安裝目錄里面的所有jar包和配置文件都加載到本次運行時的classpath中。講解聽講記錄、交流分組討論、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)數(shù)據(jù)來源于資料中的age_train.csv文件,包含用戶手機設(shè)備ID(device_id)、性別(gender)、年齡(age)、年齡段(group)四個字段數(shù)據(jù),對數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行如下操作:1.創(chuàng)建HDFS文件系統(tǒng)下目錄文件useranaysis,其路徑為“/useranaysis”,并上傳數(shù)據(jù)。2.用戶年齡分析,統(tǒng)計不同年齡的用戶分布情況,結(jié)果寫入“/useranaysis/userage”,按照年齡分組聚合,求取用戶數(shù);統(tǒng)計結(jié)果格式:“agevalues”,并且csv表頭的內(nèi)容不在統(tǒng)計范圍之內(nèi);3.年齡與性別聯(lián)合分析,統(tǒng)計不同年齡下男女用戶分布情況,結(jié)果寫入“/useranaysis/agegender”,結(jié)果格式為“age:gendervalues”,并且csv表頭的內(nèi)容不在統(tǒng)計范圍之內(nèi);4.年齡段和性別聯(lián)合分析,統(tǒng)計各個年齡段下男女用戶分布情況,結(jié)果寫入“/useranaysis/agegroup/”,獲取數(shù)據(jù)格式“gender:group”,按照年齡段分組聚合,求取用戶數(shù),結(jié)果格式:gender:groupvalues,并且csv表頭的內(nèi)容不在統(tǒng)計范圍之內(nèi)。ZooKeeper教學(xué)單元名稱ZooKeeper簡介教學(xué)目標(biāo)能力目標(biāo)獨立查閱相關(guān)資料的能力知識目標(biāo)掌握Zookeeper的工作機制和特點了解ZooKeeper的應(yīng)用場景素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、Zookeeper的工作機制和特點2、ZooKeeper的應(yīng)用場景教學(xué)難點Zookeeper的工作機制教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入學(xué)生對Hadoop分布式集群理解如何保證NameNode的節(jié)點高可用?講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——了解ZooKeeper講解聽講記錄課程要點講解1、Zookeeper的工作機制和特點關(guān)鍵字:Leader、Follower、Observer講解搜集資料、交流2、ZooKeeper的應(yīng)用場景分布式應(yīng)用配置管理、統(tǒng)一命名服務(wù)、分布式通知/協(xié)調(diào)、集群管理講解對不同子項目進(jìn)行綜合講解詳細(xì)講解1.ZooKeeper工作機制Zookeeper集群中角色分配表如表所示:角色描述領(lǐng)導(dǎo)者(Leader)Leader負(fù)責(zé)進(jìn)行投票的發(fā)起和決議,更新系統(tǒng)狀態(tài)學(xué)習(xí)者(Learner)跟隨者Follower用于接受客戶請求并向客戶端返回結(jié)果,在選主過程中參與投票觀察者ObServer可以接收客戶端連接,將寫請求轉(zhuǎn)發(fā)給Leader節(jié)點,但是ObServer不參加投票過程,只同步Leader的狀態(tài),ObServer的目的是為了擴(kuò)展系統(tǒng),提高讀取速度??蛻舳耍–lient)請求發(fā)起方講解分組討論ZooKeeper應(yīng)用場景1.分布式應(yīng)用配置管理假如程序是分布式部署在多臺計算機上,要改變程序的配置文件,需要逐臺計算機去修改,非常麻煩,現(xiàn)在把這些配置全部放到ZooKeeper上去,保存在ZooKeeper的某個目錄節(jié)點中,然后所有相關(guān)應(yīng)用程序?qū)@個目錄節(jié)點進(jìn)行監(jiān)聽,一旦配置信息發(fā)生變化,每個應(yīng)用程序就會收到ZooKeeper的通知,然后從ZooKeeper獲取新的配置信息應(yīng)用到系統(tǒng)中。2.統(tǒng)一命名服務(wù)這個主要是作為分布式命名服務(wù),通過調(diào)用ZooKeeper的API,能夠很容易創(chuàng)建一個全局唯一的path,這個path就可以作為一個名稱。3.分布式通知/協(xié)調(diào)ZooKeeper中特有watcher注冊與異步通知機制,能夠很好的實現(xiàn)分布式環(huán)境下不同系統(tǒng)之間的通知與協(xié)調(diào),實現(xiàn)對數(shù)據(jù)變更的實時處理。通常是不同系統(tǒng)都對ZooKeeper上同一個znode進(jìn)行監(jiān)聽,監(jiān)聽znode的變化,其中一個系統(tǒng)更新了znode,那么另一個系統(tǒng)能夠收到通知,并作出相應(yīng)處理。4.集群管理HBaseMaster選舉則是ZooKeeper經(jīng)典的使用場景,以及Storm集群管理。講解聽講記錄、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1.簡述ZooKeeper應(yīng)用的場景。2.描述ZooKeeper的工作原理,及其在高可用集群搭建過程中的作用。ZooKeeper教學(xué)單元名稱ZooKeeper安裝與配置教學(xué)目標(biāo)能力目標(biāo)具有獨立自主的開發(fā)能力和解決問題的能力知識目標(biāo)掌握ZooKeeper的安裝掌握ZooKeeper的配置素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)解決問題、創(chuàng)新的能力教學(xué)重點1、ZooKeeper的安裝2、ZooKeeper的配置教學(xué)難點ZooKeeper的安裝教學(xué)方法項目向?qū)?、任?wù)驅(qū)動、分組討論教學(xué)時數(shù)8學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入ZooKeeper工作機制和特點講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——ZooKeeper安裝與配置講解聽講記錄任務(wù)部署1完成ZooKeeper安裝與配置講解搜集資料、交流任務(wù)實施1①下載zookeeper-3.4.13.tar.gz安裝包。②使用Xshell軟件的傳輸功能,將下載完成的zookeeper-3.4.13.tar.gz安裝包傳到master節(jié)點上的/usr/local/src目錄下③將zookeeper-3.4.13.tar.gz解壓到/usr/local/src目錄下,執(zhí)行以下命令:tar-zxvf/usr/local/src/zookeeper-3.4.13.tar.gz-C/usr/local/src④為了配置ZooKeeper系統(tǒng)環(huán)境變量方便,此處可以修改ZooKeeper安裝目錄名,命令如下:mv/usr/local/src/zookeeper-3.4.13/usr/local/src/zookeeper⑤配置Zookeeper系統(tǒng)環(huán)境變量,修改文件/etc/profile,修改命令如下所示:vi/etc/profile⑥在/etc/profile文件的末尾添加如下內(nèi)容:exportZOOKEEPER_HOME=/usr/local/src/zookeeperexportPATH=$PATH:$ZOOKEEPER_HOME/bin⑦/etc/profile文件配置完成之后,需要使剛剛修改的內(nèi)容生效,執(zhí)行如下命令:source/etc/profile⑧拷貝/etc/profile文件到另外兩個節(jié)點,執(zhí)行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑨在slave1和slave2節(jié)點上,刷新/etc/profile文件,使得剛剛修改的內(nèi)容生效,在slave1和slave2節(jié)點上執(zhí)行如下命令:source/etc/profile⑩生成zoo.cfg文件切換到zookeeper/conf目錄下面,該目錄下面有zoo_sqoop.cfg文件,拷貝配置文件,配置文件名為zoo.cfg,注意配置文件名一定為zoo.cfg,否則讀取不到配置文件,拷貝zoo.cfg配置文件的命令如下:cpzoo_sqoop.cfgzoo.cfg?修改zoo.cfg文件,zoo.cfg文件修改內(nèi)容如下:dataDir=/usr/local/src/zookeeper/datadataLogDir=/usr/local/src/zookeeper/logdataDir的值和dataLogDir的值修改為上述內(nèi)容,在zoo.cfg文件的的末尾添加如下內(nèi)容:server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888⑩在/usr/local/src/zookeeper目錄下創(chuàng)建data目錄和log目錄,data目錄用來存放ZooKeeper的數(shù)據(jù)文件,log目錄用來存放ZooKeeper的日志文件。data目錄和log目錄的創(chuàng)建位置與zoo.cfg配置文件的中dataDir和dataLogDir的值相同。命令如下所示:cd/usr/local/src/zookeepermkdirdatamkdirlog?將zookeeper拷貝到另外兩個節(jié)點scp-r/usr/local/src/zookeeperroot@slave1:/usr/local/src/zookeeperscp-r/usr/local/src/zookeeperroot@slave2:/usr/local/src/zookeeper?創(chuàng)建服務(wù)器myid在data目錄下創(chuàng)建一個myid的文件,里面的值可以給個任意的值,但要和上述服務(wù)器server.x對應(yīng),在本書中,master節(jié)點上myid的值為1,slave1節(jié)點上myid的值為2,slave2節(jié)點上myid的值為3。修改master上myid的命令如下所示:cd/usr/local/src/zookeeper/data/echo1>>myid在slave1節(jié)點上修改myid的命令如下所示:cd/usr/local/src/zookeeper/data/echo2>>myid在slave2節(jié)點上修改myid的命令如下所示:cdusr/local/src/zookeeper/data/echo3>>myid?啟動ZooKeeper集群配置文件配置完成之后,就可以啟動ZooKeeper集群,啟動ZooKeeper集群需要在每個節(jié)點上都使用啟動命令,ZooKeeper集群的服務(wù)只能每個節(jié)點單獨啟動,沒有命令能一次全部啟動,需在master、slave1和slave2上粉筆執(zhí)行啟動Zookeeper集群命令,命令如下所示:zkServer.shstart?驗證Zookeeper集群在master、slave1和slave2上分別執(zhí)行zkServer.shstatus命令,此時在master、slave1和slave2任意一個節(jié)點上出現(xiàn)一個leader,另外兩個是follower,即集群啟動成功,啟動成功如下所示:[root@masterzookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:follower[root@slave1zookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:leader[root@masterzookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:follower講解演示模仿操作、交流、歸納總結(jié)教學(xué)小結(jié)學(xué)生演示:按照任務(wù)要求進(jìn)行演示。教師點評:根據(jù)學(xué)生配置情況進(jìn)行驗收點評,同時給出實驗成績。講解學(xué)生記錄布置作業(yè)練習(xí)Spark環(huán)境的安裝與配置練習(xí)Sparkshell應(yīng)用Hive實戰(zhàn)教學(xué)單元名稱Hive簡介及應(yīng)用場景教學(xué)目標(biāo)能力目標(biāo)獨立查閱相關(guān)資料的能力知識目標(biāo)掌握Hive的工作原理和特點。了解Hive的應(yīng)用場景。了解Sqoop的原理及特點。素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點1、Hive的工作原理和特點。2、Hive的應(yīng)用場景。3、Sqoop的原理及特點。教學(xué)難點Hive的工作原理和特點教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入數(shù)據(jù)倉庫的應(yīng)用場景講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——了解Hive講解聽講記錄課程要點講解Hive概述關(guān)鍵字:特性、產(chǎn)生歷程講解搜集資料、交流Hive應(yīng)用場景講解對不同子項目進(jìn)行綜合講解詳細(xì)講解1.Hive概述ApacheHive是由Apache軟件基金會的志愿者Facebook提供的開源項目,開源用于解決海量結(jié)構(gòu)化日志的數(shù)據(jù)統(tǒng)計工具,最初是ApacheHadoop下的一個子項目,后來升級為Apache的頂級項目。Hive的本質(zhì)是將HQL轉(zhuǎn)化成MapReduce程序,HQL轉(zhuǎn)化成MapReduce的流程如圖所示:講解分組討論2、Hive應(yīng)用場景使用Hive進(jìn)行數(shù)據(jù)分析時具有以下優(yōu)點:(1)操作接口采用類SQL語法,提供快速開發(fā)的能力,便于理解。(2)Hive的執(zhí)行延遲比較高,因此Hive常用于數(shù)據(jù)分析對實時性要求不高的場合。(3)Hive優(yōu)勢在于處理大數(shù)據(jù),對于處理小數(shù)據(jù)沒有優(yōu)勢,因為Hive的執(zhí)行延遲比較高。(4)Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實現(xiàn)自己的函數(shù)。使用Hive在數(shù)據(jù)分析時處理具有以上優(yōu)點以外,還有其缺點,主要體現(xiàn)在以下幾個方面:(5)Hive的HQL表達(dá)能力有限迭代式算法無法表達(dá)遞歸算法;Hive不擅長數(shù)據(jù)挖掘方面操作,即不擅長數(shù)據(jù)挖掘和算法機器學(xué)習(xí)。(6)Hive的效率比較低Hive自動生成的MapReduce作業(yè),通常情況下不夠智能化,Hive調(diào)優(yōu)比較困難,粒度較粗。講解聽講記錄、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1.簡述MySQL在Hive中的作用。2.簡述Sqoop是如何進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出的?Hive實戰(zhàn)教學(xué)單元名稱Hive安裝及操作教學(xué)目標(biāo)能力目標(biāo)具有獨立自主的開發(fā)能力和解決問題的能力知識目標(biāo)掌握Hive環(huán)境搭建掌握本地數(shù)據(jù)上傳至本地倉掌握sqoop環(huán)境的配置掌握Hive與MySql數(shù)據(jù)互傳素質(zhì)目標(biāo)接受新知識、自主學(xué)習(xí)解決問題、創(chuàng)新的能力教學(xué)重點1、掌握Hive環(huán)境搭建2、掌握本地數(shù)據(jù)上傳至本地倉3、掌握sqoop環(huán)境的配置4、掌握Hive與MySql數(shù)據(jù)互傳教學(xué)難點本地數(shù)據(jù)上傳至本地倉和Hive與MySql數(shù)據(jù)互傳教學(xué)方法項目向?qū)А⑷蝿?wù)驅(qū)動、分組討論教學(xué)時數(shù)16學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入介紹Hive數(shù)據(jù)倉和Mysql數(shù)據(jù)庫講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——Hive環(huán)境搭建及其數(shù)據(jù)倉應(yīng)用講解聽講記錄任務(wù)部署1完成Hive環(huán)境搭建講解搜集資料、交流任務(wù)實施11.將Hive安裝包傳送到Linux操作系統(tǒng)服務(wù)器端scp./apache-hive-2.3.4-bin.tarhadoop@34:/home/hadoop講解演示模仿操作2.將Hive安裝包解壓到/usr/local目錄下,并進(jìn)行解壓,解壓完成之后進(jìn)行更名tar-zxvfapache-hive-2.3.4-bin.tar-C/usr/localmvapache-hive-2.3.4-bin.tarhive講解演示模仿操作3.修改組用戶屬性sudochown-Rhadoop:hadoophive講解演示模仿操作4.配置Hive環(huán)境變量 ·vim~/.bashrc ·在最下方加入如下代碼: #Hive_ENV exportHIVE_HOME=/usr/local/hive exportPATH=$PATH:$HIVE_HOME/bin

講解演示模仿操作5.測試Hadoop是否安裝成功source~/.bashrc講解演示模仿操作6.配置hive配置文件(注意該配置文件中的密碼與在mysql中創(chuàng)建的hive密碼應(yīng)該一致。創(chuàng)建hive用戶,密碼為dashuju168)講解演示歸納總結(jié)模仿操作記錄任務(wù)部署2安裝MySQL講解演示模仿操作任務(wù)實施21.升級系統(tǒng)安裝包sudoapt-getupdatesudoapt-getinstallmysql-server(注意:在該步驟中如果遇到mysql被鎖的情況(locked),則執(zhí)行sudorm/var/lib/dpkg/locksudodpkg--configure-a)講解演示模仿操作2.配置root用戶名sudomysql_secure_installation設(shè)置root用戶名,密碼為123456(在該步驟中都選擇y(yes))登錄mysqlsudomysql-uroot-p講解演示模仿操作3.將mysql-connector-java-8.0.16.tar上傳至Linux操作系統(tǒng)中(Linux下mysql必須安裝驅(qū)動)解壓到當(dāng)前目錄下tar-xzvfmysql-connector-java-8.0.16.tar講解演示模仿操作4.cd到connector-java-8.0.16.tar解壓包目錄下,將該目錄下的mysql…….jar拷貝到/usr/local/hive/lib/下,并切換回~目錄cdcon+TABcpmysql…….jar/usr/local/hive/lib/cd~講解演示模仿操作5.進(jìn)入root用戶sudomysql-uroot-p創(chuàng)建hive用戶,密碼為dashuju168createuser'hive'@'localhost'identifiedby'dashuju168';講解演示歸納總結(jié)模仿操作記錄6.配置mysql允許hive接入grantallprivilegeson*.*to'hive'@'localhost'withgrantoption;flushprivileges(保存,表同步)驗證hive用戶是否能用sudomysql-uhive-p任務(wù)部署3本地數(shù)據(jù)上傳至本地倉講解演示模仿操作任務(wù)實施31.將user.zip文件上傳至CentOS7中scp./user.ziphadoop@IP地址:/home/hadoop講解演示模仿操作2.在/usr/local下面創(chuàng)建bigdatacase目錄,在bigdatacase目錄下創(chuàng)建dataset目錄 cd/usr/local mkdirbigdatacase cdbigdatacase mkdirdataset講解演示模仿操作3.將user.zip上傳至CentOS7中scp./user.ziphadoop@IP地址:/home/hadoop講解演示歸納總結(jié)模仿操作記錄4.下載unzip軟件

sudoapt-getinstallunzip

將user.zip解壓至datatcase目錄中

unzipuser.zip-d/usr/local/bigdatacase/datatset5.數(shù)據(jù)集的預(yù)處理

(1)刪除文件第一行記錄

sed-i'1d'small_user.csv

head-10small_user.csv

(2)對字段進(jìn)行預(yù)處理

編寫pre_deal.sh

(3)執(zhí)行pre_deal.sh

cd/usr/local/bigdatacase/dataset

bash./pre_deal.shsmall_user.csvuser_table.txt

head-10user_table.txt講解演示歸納總結(jié)模仿操作記錄任務(wù)部署4導(dǎo)入數(shù)據(jù)庫講解演示模仿操作任務(wù)實施41.將user_table.txt上傳至HDFS上

在HDFS上創(chuàng)建/bigdatacase/dataset

cd/usr/local/hadoop

hdfsdfs-mkdir-p/bigdatacase/dataset

在hadoop目錄下操作命令:hdfsdfs-put/usr/local/bigdatacase/dataset/user_table.txt/bigdatacase/dataset

查看HDFS上user_table.txt的前10行

hdfsdfs-cat/bigdatacase/dataset/user_table.txt|head10講解演示模仿操作2.在Hive上創(chuàng)建數(shù)據(jù)庫(1)啟動mysql服務(wù)service mysqlstart(2)啟動hivecd/usr/local/hiveHive(3)在hive中創(chuàng)建一個數(shù)據(jù)庫dblab;createdatabasedblab;usedblab;講解演示模仿操作創(chuàng)建外部表講解演示模仿操作4.查詢hive中的數(shù)據(jù)select*frombigdata_userlimit10;講解演示模仿操作任務(wù)部署5Sqoop的安裝及配置講解演示模仿操作任務(wù)實施5安裝sqoop講解演示模仿操作配置sqoop-env.sh文件講解演示模仿操作配置環(huán)境變量講解演示模仿操作講解演示模仿操作測試與mysql是否連通講解演示歸納總結(jié)模仿操作記錄任務(wù)部署6mysql數(shù)據(jù)導(dǎo)入到hive中講解演示模仿操作任務(wù)實施6進(jìn)入到mysql中sudomysql-uhive-pdashuju168

showdatabases;

createdatauserdb;

createtableifnotexistsuuser(idintunsignedauto_incrementunamevarchar(128)notnull,uphonevarchar(11)notnull,PRIMARYKEY(id))ENGINE=InnoDBDEFAULTCHARSET=utf8;

insertintouuservalue(NULL,'JackMa','12345678901');

insertintouuservalue(NULL,'ZhangSan','11111111111');

insertintouuservalue(NULL,'LiSi','22222222222');講解演示模仿操作2.將mysql數(shù)據(jù)導(dǎo)入到hive中

sqoopimport--connectjdbc:mysql://localhost:3306/userdb--usernamehive--passworddashuju168--tableuuser--hive-import-m1--fields-terminated-by','--hive-tableuuser2(uuser位于hadoop偽分布式下的/user/hadoop/uuser)

cp/usr/local/hive/lib/hive-common-…….jar/usr/local/sqoop/lib/

hadoopfs-rm-ruuser講解演示模仿操作3.查看mysql數(shù)據(jù)導(dǎo)入到hive中

showtables;

select*fromuuser2;講解演示模仿操作4.將hive中的數(shù)據(jù)導(dǎo)入到mysql中

(1)進(jìn)入mysql

sudomysql-uhive-pdashuju168

useuserdb;

createtableuuser3likeuuser;(復(fù)制表結(jié)構(gòu))

descuuser3;查看表結(jié)構(gòu)

(2)從hive中導(dǎo)出數(shù)據(jù)到mysql中

sqoopexport--connectjdbc:mysql://localhost:3306/userdb--usernamehive--passworddashuju168--tableuuser3--fields-terminated-by','--export-dir/user/hive/warehouse/uuser2

(3)在mysql中查看uuser3

select*fromuuser3講解演示歸納總結(jié)模仿操作記錄教學(xué)小結(jié)學(xué)生演示:按照任務(wù)要求進(jìn)行演示。教師點評:根據(jù)學(xué)生配置情況進(jìn)行驗收點評,同時給出實驗成績。講解學(xué)生記錄布置作業(yè)1、練習(xí)Hive環(huán)境配置,并對其進(jìn)行測試2、安裝MySql、以及在hive上創(chuàng)建數(shù)據(jù)庫3、本地數(shù)據(jù)上傳至本地倉4、sqoop的安裝及其配置5、mysql數(shù)據(jù)導(dǎo)入到hive中HBase實戰(zhàn)教學(xué)單元名稱HBase簡介教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)、分析問題的能力知識目標(biāo)HBase概述HBase訪問接口HBase數(shù)據(jù)模型HBase的實現(xiàn)原理HBase運行機制素質(zhì)目標(biāo)探索新知識、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點HBase概述HBase訪問接口HBase數(shù)據(jù)模型HBase的實現(xiàn)原理HBase運行機制教學(xué)難點HBase的實現(xiàn)原理和運行機制教學(xué)方法提問法、討論法、講授法教學(xué)時數(shù)2學(xué)時教學(xué)過程設(shè)計教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動學(xué)生活動新課引入關(guān)系型數(shù)據(jù)庫非關(guān)系型數(shù)據(jù)庫講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——分布式數(shù)據(jù)庫HBase講解聽講記錄課程要點講解1.HBase概述重點介紹HBase數(shù)據(jù)庫和HBase與關(guān)系型數(shù)據(jù)庫的區(qū)別講解提問搜集資料、交流2.HBase訪問接口重點介紹HBase的訪問接口講解聽講記錄3.HBase數(shù)據(jù)模型重點介紹數(shù)據(jù)模型及其相關(guān)概念,數(shù)據(jù)坐標(biāo)、概念視圖、物理視圖和面向列的存儲

講解聽講記錄4.HBase的實現(xiàn)原理重點介紹HBase的功能組件、表和Region,以及Region的定位講解提問搜集資料、交流HBase運行機制重點介紹HBase系統(tǒng)架構(gòu)、Region服務(wù)器的工作原理、Store的工作原理和HLog的工作原理講解提問搜集資料、交流詳細(xì)講解1.HBase概述1)BigTable簡介BigTable是一個分布式存儲系統(tǒng)BigTable起初用于解決典型的互聯(lián)網(wǎng)搜索問題2)HBase簡介HBase是一個高可靠、高性能、面向列、可伸縮的分布式數(shù)據(jù)庫,是谷歌BigTable的開源實現(xiàn),主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)3)HBase與傳統(tǒng)的關(guān)系數(shù)據(jù)庫的區(qū)別數(shù)據(jù)類型、數(shù)據(jù)操作、存儲模式、數(shù)據(jù)索引、數(shù)據(jù)維護(hù)、可伸縮性講解分組討論2.HBase訪問接口NativeJavaAPI、HBaseShell、ThriftGateway、RESTGateway、Pig、Hive講解聽講記錄、交流3.HBase數(shù)據(jù)模型1)數(shù)據(jù)模型概述HBase是一個稀疏、多維度、排序的映射表,這張表的索引是行鍵、列族、列限定符和時間戳。2)數(shù)據(jù)模型相關(guān)概念表、列族、列限定符、單元格、時間戳數(shù)據(jù)坐標(biāo)HBase中需要根據(jù)行鍵、列族、列限定符和時間戳來確定一個單元格,因此,可以視為一個“四維坐標(biāo)”4)列式存儲講解分組討論、交流4.HBase的實現(xiàn)原理1)HBase功能組件庫函數(shù):鏈接到每個客戶端一個Master主服務(wù)器許多個Region服務(wù)器表和Region一個HBase表被劃分成多個Region3)Region的定位元數(shù)據(jù)表,又名.META.表,存儲了Region和Region服務(wù)器的映射關(guān)系。講解分組討論、交流5.HBase運行機制1)HBase系統(tǒng)架構(gòu)2)Region服務(wù)器工作原理Store工作原理Store是Region服務(wù)器的核心多個StoreFile合并成一個單個StoreFile過大時,又觸發(fā)分裂操作,1個父Region被分裂成兩個子Region4)HLog工作原理分布式環(huán)境必須要考慮系統(tǒng)出錯。HBase采用HLog保證系統(tǒng)恢復(fù)講解分組討論、交流教學(xué)小結(jié)本節(jié)課內(nèi)容理解起來有一定的困難,根據(jù)課堂教學(xué)情況,之處學(xué)生對本堂課中知識點難以理解的地方,結(jié)合教學(xué)重點和難點,對所學(xué)知識進(jìn)一步強化。講解學(xué)生記錄布置作業(yè)1、闡述HBase與傳統(tǒng)關(guān)系數(shù)據(jù)庫的區(qū)別?2、分別解釋HBase中的行鍵、列鍵和時間戳的概念?3、描述HB

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論