版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1+X大數(shù)據(jù)運(yùn)維初級(jí)第1章Linux操作系統(tǒng)的使用CHAPTER01
11.11Linux操作系統(tǒng)概述Linux常用命令Linux系統(tǒng)用戶(hù)信息1.21.31Linux操作系統(tǒng)概述Linux常用命令Linux系統(tǒng)用戶(hù)信息1.11.31.2標(biāo)題Linux正確稱(chēng)呼應(yīng)該是GNU/Linux,起源有兩個(gè):UNIX操作系統(tǒng)Minix操作系統(tǒng)GNU項(xiàng)目GPL授權(quán)1991年LinusTorvalds在Internet上發(fā)布Linux系統(tǒng)1993年Linux系統(tǒng)加入GNU,
采用GPL授權(quán)1.Linux起源標(biāo)題開(kāi)放源代碼的程序軟件,可自由修改。與Unix系統(tǒng)兼容,具備幾乎所有Unix的優(yōu)秀特性??勺杂蓚鞑?,免費(fèi)使用,無(wú)任何商業(yè)化版權(quán)制約。適合Intel等x86CPU系列架構(gòu)的計(jì)算機(jī)。相比Windows操作系統(tǒng)來(lái)說(shuō),Linux更加安全穩(wěn)定、占用資源少,而且開(kāi)源免費(fèi)。2.Linux的特點(diǎn)標(biāo)題IT服務(wù)器Linux作為企業(yè)級(jí)服務(wù)器的應(yīng)用十分廣泛,全球及國(guó)內(nèi)排名前十的網(wǎng)站使用的幾乎都是Linux系統(tǒng)。嵌入式系統(tǒng)主流嵌入式開(kāi)發(fā)平臺(tái),從網(wǎng)絡(luò)設(shè)備到專(zhuān)用的控制系統(tǒng)都有很廣闊的應(yīng)用市場(chǎng)。個(gè)人桌面系統(tǒng)市場(chǎng)份額暫時(shí)與Windows系統(tǒng)競(jìng)爭(zhēng)。3.Linux應(yīng)用場(chǎng)景標(biāo)題Linux版本分為兩類(lèi)版本:內(nèi)核版本和發(fā)行版本。內(nèi)核(Kernel)版本:存儲(chǔ)管理、CPU和進(jìn)程管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動(dòng)、網(wǎng)絡(luò)通信,以及系統(tǒng)的初始化(引導(dǎo))、系統(tǒng)調(diào)用等。發(fā)行(Distribution)版本:某些組織或公司將Linux內(nèi)核與應(yīng)用軟件和文檔組合起來(lái),并提供一些安裝界面和系統(tǒng)設(shè)置與管理工具,構(gòu)成發(fā)行版。Redhat、Debian、Fedora、CentOS、Ubuntu等。4.Linux版本1Linux操作系統(tǒng)概述Linux常用命令Linux系統(tǒng)用戶(hù)信息1.11.31.2標(biāo)題1.文件與目錄操作命令格式含義pwdpwd顯示當(dāng)前所在目錄。lsls[選項(xiàng)][文件|目錄](méi)顯示指定目錄中的文件或子目錄信息。cdcd<路徑>切換當(dāng)前用戶(hù)所在的工作目錄。mkdirmkdir[選項(xiàng)]目錄創(chuàng)建目錄。rmrm[選項(xiàng)]<文件>刪除文件或目錄。cpcp[選項(xiàng)]<文件><目標(biāo)文件>復(fù)制文件或目錄。mvmv[選項(xiàng)]<文件><目標(biāo)文件>移動(dòng)文件或?qū)ζ涓拿?。catcat[選項(xiàng)][文件]查看文件內(nèi)容。tartar[選項(xiàng)][檔案名][文件或目錄](méi)為文件和目錄創(chuàng)建檔案。標(biāo)題2.用戶(hù)操作命令格式含義useradduseradd用戶(hù)名創(chuàng)建新用戶(hù)。passwdpasswd用戶(hù)名設(shè)置或修改指定用戶(hù)的口令。chownchown[選項(xiàng)]將文件或目錄的擁有者改為指定的用戶(hù)或組。chmodchmod[-R]模式文件或目錄修改文件或目錄的訪(fǎng)問(wèn)權(quán)限。
模式為文件或目錄的權(quán)限表示,有三種表示方法:(1)數(shù)字表示(2)字符賦值(3)字符加減權(quán)限susu[-]用戶(hù)名將當(dāng)前操作員的身份切換到指定用戶(hù)。sudosudo命令讓普通用戶(hù)執(zhí)行需要特殊權(quán)限的命令。標(biāo)題3.文本操作命令格式含義vivi[文件名]Linux的常用文本編輯器,有三個(gè)工作模式:(1)命令模式啟動(dòng)vi,便進(jìn)入命令模式。常用的命令:i切換到輸入模式。x刪除當(dāng)前光標(biāo)所在處的字符。:切換到末行模式。(2)輸入模式編輯文件內(nèi)容,按Esc鍵返回命令模式。(3)末行模式保存、查找或者替換等,需進(jìn)入末行模式。常用命令:Setnu:每一行顯示行號(hào)r文件名:讀取指定的文件。w文件名:將編輯內(nèi)容保存到指定的文件內(nèi)。q:退出viwq:保存文件并退出viq!:強(qiáng)制退出vi,不管是否保存文檔內(nèi)容。標(biāo)題4.系統(tǒng)操作命令格式含義clearClear清除屏幕。hostnamehostname[選項(xiàng)]顯示和設(shè)置系統(tǒng)的主機(jī)名稱(chēng)。hostnamectl格式1:hostnamectl格式2:hostnamectlset-hostname<host-name>格式1:顯示當(dāng)前主機(jī)的名稱(chēng)和系統(tǒng)版本。格式2:永久設(shè)置當(dāng)前主機(jī)的名稱(chēng)。ip格式1:iplink<選項(xiàng)>dev<設(shè)備名>格式2:ipaddress<選項(xiàng)>dev<設(shè)備名>格式1:對(duì)網(wǎng)絡(luò)設(shè)備(網(wǎng)卡)進(jìn)行操作,選項(xiàng)add、delete、show、set分別對(duì)應(yīng)增加、刪除、查看和設(shè)置網(wǎng)絡(luò)設(shè)備。格式2:對(duì)網(wǎng)卡的網(wǎng)絡(luò)協(xié)議地址(IPv4/IPv6)進(jìn)行操作,選項(xiàng)add、change、del、show分別對(duì)應(yīng)增加、修改、刪除、查看IP地址。systemctlsystemctl<選項(xiàng)>service_name管理系統(tǒng)中的服務(wù)標(biāo)題4.系統(tǒng)操作命令格式含義nmtuinmtui該命令調(diào)出一個(gè)設(shè)置窗口,可以設(shè)置主機(jī)名稱(chēng)、增加一個(gè)網(wǎng)卡、設(shè)置IP地址等。rebootreboot重新啟動(dòng)計(jì)算機(jī)。poweroffpoweroff關(guān)閉計(jì)算機(jī)操作系統(tǒng)并且切斷系統(tǒng)電源。exportexport[選項(xiàng)][變量名]將Shell變量輸出為環(huán)境變量,或者將Shell函數(shù)輸出為環(huán)境變量。echoecho[字符串]在終端設(shè)備上輸出字符串或變量提取后的值。sourcesource[文件]重新執(zhí)行剛修改的初始化文件,使之立即生效。1Linux操作系統(tǒng)概述Linux常用命令Linux系統(tǒng)用戶(hù)信息1.11.31.2標(biāo)題用戶(hù):分為三種類(lèi)型超級(jí)用戶(hù):又稱(chēng)root用戶(hù),擁有系統(tǒng)的最高權(quán)限。超級(jí)用戶(hù)的UID為0。系統(tǒng)用戶(hù):也稱(chēng)為虛擬用戶(hù)。這類(lèi)用戶(hù)都是系統(tǒng)自身?yè)碛?、用?lái)執(zhí)行特定任務(wù)的。系統(tǒng)用戶(hù)的UID為1—999。普通用戶(hù):由超級(jí)用戶(hù)創(chuàng)建,可以登錄Linux系統(tǒng)。這類(lèi)用戶(hù)權(quán)限受限。普通用戶(hù)的UID從1000開(kāi)始。1.用戶(hù)和組標(biāo)題用戶(hù)組:分為二種類(lèi)型系統(tǒng)組:系統(tǒng)自動(dòng)設(shè)置的組,與系統(tǒng)用戶(hù)相對(duì)應(yīng),系統(tǒng)組的GID為0—999。私有組:由超級(jí)用戶(hù)創(chuàng)建的組,超級(jí)用戶(hù)創(chuàng)建普通用戶(hù)時(shí)會(huì)默認(rèn)創(chuàng)建一個(gè)同名的私有組。私有組的GID從1000開(kāi)始。創(chuàng)建一個(gè)用戶(hù)時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)與其同名的私有組,這個(gè)私有組為該用戶(hù)的基本用戶(hù)組,一個(gè)用戶(hù)只有一個(gè)基本用戶(hù)組,但是可以有多個(gè)擴(kuò)展用戶(hù)組。1.用戶(hù)和組標(biāo)題主目錄:也稱(chēng)為用戶(hù)的home目錄,用戶(hù)登錄Linux系統(tǒng)后會(huì)默認(rèn)進(jìn)入該目錄。用戶(hù)對(duì)自己主目錄中的文件和子目錄擁有全部權(quán)限。創(chuàng)建用戶(hù)時(shí)除非特別指定,默認(rèn)的普通用戶(hù)的主目錄是/home下與用戶(hù)同名的目錄,系統(tǒng)會(huì)在創(chuàng)建用戶(hù)的同時(shí)生成該目錄。超級(jí)用戶(hù)root的主目錄是/root。1.用戶(hù)和組標(biāo)題文件類(lèi)型:普通文件普通文件用于存儲(chǔ)程序和數(shù)據(jù),分為二進(jìn)制文件和文本文件。類(lèi)型標(biāo)識(shí)符為“-”。目錄文件目錄用于組織各種文件和子目錄,它也是一種特殊的文件,存儲(chǔ)一組相關(guān)文件的位置、大小等信息。類(lèi)型標(biāo)識(shí)符為“d”。2.文件類(lèi)型和權(quán)限標(biāo)題文件類(lèi)型:鏈接文件鏈接文件是對(duì)一個(gè)文件或目錄的引用,有兩種類(lèi)型。硬鏈接文件保留所鏈接文件的索引結(jié)點(diǎn)信息,即使所鏈接文件改名、移動(dòng)或刪除,硬鏈接文件仍然有效。類(lèi)型標(biāo)識(shí)符為“-”。軟鏈接文件本身不保存文件內(nèi)容,只記錄所鏈接文件的路徑信息。類(lèi)型標(biāo)識(shí)符為“l(fā)”。2.文件類(lèi)型和權(quán)限標(biāo)題文件類(lèi)型:設(shè)備文件Linux將設(shè)備虛擬為一個(gè)文件,分為兩大類(lèi)型。字符設(shè)備文件對(duì)應(yīng)以字符為單位進(jìn)行輸入輸出的設(shè)備。類(lèi)型標(biāo)識(shí)符為“c”。塊設(shè)備文件對(duì)應(yīng)以數(shù)據(jù)塊為單位進(jìn)行輸入輸出的設(shè)備。類(lèi)型標(biāo)識(shí)符為“b”。2.文件類(lèi)型和權(quán)限標(biāo)題文件的訪(fǎng)問(wèn)權(quán)限:可讀權(quán)限(r):對(duì)文件而言,表示可以瀏覽文件內(nèi)容,可以復(fù)制文件。對(duì)目錄而言,表示可以瀏覽目錄內(nèi)容,但不代表可以查看目錄中文件的內(nèi)容。可寫(xiě)權(quán)限(w):對(duì)文件而言,表示可修改文件內(nèi)容,但不代表可以刪除文件。對(duì)目錄而言,表示可在目錄中創(chuàng)建、刪除和重命名文件。2.文件類(lèi)型和權(quán)限標(biāo)題文件的訪(fǎng)問(wèn)權(quán)限:可執(zhí)行權(quán)限(x):對(duì)文件而言,表示可以執(zhí)行的權(quán)限(如果是程序,不需要可讀權(quán)限;如果是Shell腳本,則需要同時(shí)具有可讀權(quán)限)。對(duì)目錄而言,表示可以用cd命令進(jìn)入目錄,并可訪(fǎng)問(wèn)目錄中的文件。用戶(hù)對(duì)文件的訪(fǎng)問(wèn)權(quán)限用r、w、x表示。若無(wú)某個(gè)權(quán)限,則在相應(yīng)權(quán)限位置用“-”表示。2.文件類(lèi)型和權(quán)限標(biāo)題文件的權(quán)限:文件的權(quán)限與用戶(hù)和組是聯(lián)系在一起的,針對(duì)3類(lèi)用戶(hù):文件擁有者(owner):建立文件或目錄的用戶(hù)。同組用戶(hù)(group):文件擁有者所屬組的其他用戶(hù)。其他用戶(hù)(other):既不是文件擁有者,也不是同組用戶(hù)的其他所有用戶(hù)。在文件屬性中,文件的權(quán)限用第2-10列字符表示,這9個(gè)字符每3個(gè)一組分別對(duì)應(yīng)上面3類(lèi)用戶(hù)。2.文件類(lèi)型和權(quán)限新華三集團(tuán)Thanks!1+X大數(shù)據(jù)運(yùn)維初級(jí)學(xué)習(xí)目標(biāo)掌握Linux操作系統(tǒng)環(huán)境設(shè)置了解Hadoop概述掌握安裝單機(jī)版Hadoop系統(tǒng)掌握安裝Hadoop軟件掌握Hadoop的核心組件1.1Hadoop概述PART01
1標(biāo)題1.1.1Hadoop起源Hadoop起源于ApacheNutch項(xiàng)目,ApacheNutch項(xiàng)目起源于ApacheLucene項(xiàng)目,這三個(gè)項(xiàng)目的創(chuàng)始人都是DougCutting。2003年谷歌發(fā)表關(guān)于GFS(GoogleFileSystem,Google文件系統(tǒng))分布式存儲(chǔ)系統(tǒng)的論文。2004年:DougCutting和MikeCafarella基于GFS論文實(shí)現(xiàn)Nutch的分布式文件系統(tǒng)NDFS。標(biāo)題1.1.1Hadoop起源2004年發(fā)表關(guān)于MapReduce分布式計(jì)算框架的論文。2005年:DougCutting和MikeCafarella基于MapReduce論文在Nutch上實(shí)現(xiàn)MapReduce系統(tǒng)。2006年2月:MapReduce和HDFS(NDFS重新命名為HDFS)成為L(zhǎng)ucene的一個(gè)子項(xiàng)目,稱(chēng)為Hadoop,ApacheHadoop項(xiàng)目正式啟動(dòng)。2008年1月:Hadoop升級(jí)成為Apache頂級(jí)項(xiàng)目。此時(shí),Hadoop發(fā)展到0.15.3版本。標(biāo)題1.1.2Hadoop生態(tài)圈廣義上來(lái)說(shuō),Hadoop是指大數(shù)據(jù)的一個(gè)生態(tài)圈,包括很多軟件框架。標(biāo)題1.1.2Hadoop生態(tài)圈Sqoop主要用于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)和Hadoop之間傳輸數(shù)據(jù)。Flume是海量日志收集系統(tǒng),提供對(duì)日志數(shù)據(jù)進(jìn)行簡(jiǎn)單處理的能力,如過(guò)濾、格式轉(zhuǎn)換等,能夠?qū)⑷罩緦?xiě)往各種數(shù)據(jù)目標(biāo)。標(biāo)題1.1.2Hadoop生態(tài)圈HDFS是Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),它是一個(gè)分布式文件系統(tǒng),具有高容錯(cuò)性,提供高吞吐率的數(shù)據(jù)訪(fǎng)問(wèn),能夠有效處理海量數(shù)據(jù)集。標(biāo)題1.1.2Hadoop生態(tài)圈HBase是一個(gè)建立在HDFS之上,面向列的針對(duì)結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)庫(kù)。HBase提供了對(duì)大規(guī)模數(shù)據(jù)的隨機(jī)、實(shí)時(shí)讀寫(xiě)訪(fǎng)問(wèn),HBase中保存的數(shù)據(jù)可以使用MapReduce來(lái)處理,它將數(shù)據(jù)存儲(chǔ)和并行計(jì)算完美地結(jié)合在一起。標(biāo)題1.1.2Hadoop生態(tài)圈Kafka是一種高吞吐量的分布式消息系統(tǒng),它主要用于處理活躍的流式數(shù)據(jù)。這些數(shù)據(jù)通常以日志的形式記錄下來(lái),然后每隔一段時(shí)間進(jìn)行一次統(tǒng)計(jì)處理。YARN是通用資源管理系統(tǒng),為上層應(yīng)用提供統(tǒng)一資源管理調(diào)度。標(biāo)題1.1.2Hadoop生態(tài)圈MapReduce是面向大型數(shù)據(jù)處理的并行計(jì)算模型和方法,僅適合離線(xiàn)數(shù)據(jù)處理。Spark提供一個(gè)通用并行計(jì)算框架用于處理各種有著不同性質(zhì)(文本數(shù)據(jù)、圖表數(shù)據(jù)等)的數(shù)據(jù)集和數(shù)據(jù)源(批量數(shù)據(jù)或?qū)崟r(shí)的流數(shù)據(jù))的大數(shù)據(jù)處理需求。標(biāo)題1.1.2Hadoop生態(tài)圈Hive是一種數(shù)據(jù)倉(cāng)庫(kù)技術(shù),用于查詢(xún)和管理存儲(chǔ)在分布式環(huán)境下的大數(shù)據(jù)集,通常用于離線(xiàn)分析。Mahout是一個(gè)開(kāi)源的數(shù)據(jù)挖掘算法庫(kù),實(shí)現(xiàn)了一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法。標(biāo)題1.1.2Hadoop生態(tài)圈Storm是一個(gè)分布式的、容錯(cuò)的實(shí)時(shí)處理系統(tǒng)??捎糜凇傲魈幚怼敝?,實(shí)時(shí)處理消息并更新數(shù)據(jù)庫(kù)。Storm也可用于“連續(xù)計(jì)算”,對(duì)數(shù)據(jù)流做連續(xù)查詢(xún),在計(jì)算時(shí)就將結(jié)果以流的形式輸出給用戶(hù)。標(biāo)題1.1.2Hadoop生態(tài)圈Oozie是Hadoop平臺(tái)的一種工作流調(diào)度引擎,用于協(xié)調(diào)多個(gè)Hadoop作業(yè)的執(zhí)行。Azkaban是一個(gè)批量工作流任務(wù)調(diào)度器,用于在一個(gè)工作流內(nèi)以一個(gè)特定的順序運(yùn)行一組工作和流程。標(biāo)題1.1.2Hadoop生態(tài)圈ZooKeeper是一個(gè)分布式數(shù)據(jù)管理和協(xié)調(diào)框架,保證分布式環(huán)境中數(shù)據(jù)的一致性,是Hadoop組件的一個(gè)監(jiān)管系統(tǒng)。標(biāo)題1.1.3Hadoop版本Hadoop版本的演變(1)0.x系列版本:Hadoop當(dāng)中最早的一個(gè)開(kāi)源版本,在此基礎(chǔ)上演變而來(lái)的1.x以及2.x的版本。(2)1.x版本系列:是0.20.x發(fā)行版系列的延續(xù)。其架構(gòu)僅包括HDFS和MapReduce兩大組件。標(biāo)題1.1.3Hadoop版本Hadoop版本的演變(3)2.x版本系列:架構(gòu)產(chǎn)生變化,引入了YARN平臺(tái)等許多新特性,是0.23.x發(fā)行版系列的延續(xù)。(4)3.x版本系列:HDFS增加了Erasure編碼處理進(jìn)行容錯(cuò)和備份,節(jié)省大量空間,DataNode使用內(nèi)部平衡器進(jìn)行負(fù)載均衡,使用多個(gè)Standby狀態(tài)的NameNode;YARN支持隨機(jī)的Container和分布式調(diào)度;MapReduce進(jìn)行了任務(wù)優(yōu)化。標(biāo)題1.1.3Hadoop版本Hadoop發(fā)行版本ApacheHadoop:社區(qū)免費(fèi)開(kāi)源版本。版本更新快,但版本的升級(jí)、維護(hù)、兼容性和補(bǔ)丁都考慮不太周到。HDP:Hortonworks公司發(fā)行的免費(fèi)開(kāi)源版本。管理方便,提供的幫助文檔齊全。CDH:Cloudera公司發(fā)行的商業(yè)收費(fèi)開(kāi)源版,兼容性、安全性和穩(wěn)定性都有增強(qiáng)。標(biāo)題1.1.4Hadoop的運(yùn)行模式Hadoop可以按三種模式進(jìn)行安裝和運(yùn)行。單機(jī)模式(1)Hadoop的默認(rèn)模式,安裝時(shí)不需要修改配置文件。(2)Hadoop運(yùn)行在一臺(tái)計(jì)算機(jī)上,不需要啟動(dòng)HDFS和YARN。(3)MapReduce運(yùn)行處理數(shù)據(jù)時(shí)只有一個(gè)JAVA進(jìn)程,使用本地文件系統(tǒng)進(jìn)行數(shù)據(jù)的輸入輸出。(4)用于對(duì)MapReduce程序的邏輯進(jìn)行調(diào)試,確保程序的正確。標(biāo)題1.1.4Hadoop的運(yùn)行模式Hadoop可以按三種模式進(jìn)行安裝和運(yùn)行。偽分布式模式(1)Hadoop安裝在一臺(tái)計(jì)算機(jī)上,需要修改相應(yīng)的配置文件,用一臺(tái)計(jì)算機(jī)模擬多臺(tái)主機(jī)的集群。(2)需要啟動(dòng)HDFS和YARN,是相互獨(dú)立的Java進(jìn)程。(3)MapReduce運(yùn)行處理數(shù)據(jù)時(shí)是每個(gè)作業(yè)一個(gè)獨(dú)立進(jìn)程,輸入輸出使用分布式文件系統(tǒng)。(4)用來(lái)進(jìn)行學(xué)習(xí)和開(kāi)發(fā)測(cè)試Hadoop程序的執(zhí)行是否正確。標(biāo)題1.1.4Hadoop的運(yùn)行模式Hadoop可以按三種模式進(jìn)行安裝和運(yùn)行。完全分布式模式(1)在多臺(tái)計(jì)算機(jī)上安裝JDK和Hadoop,組成相互連通的集群,需要修改相應(yīng)的配置文件。(2)Hadoop的守護(hù)進(jìn)程運(yùn)行在由多臺(tái)主機(jī)搭建的集群上。真正的生產(chǎn)環(huán)境。標(biāo)題1.1.5Hadoop優(yōu)點(diǎn)(1)擴(kuò)容能力強(qiáng):Hadoop是在可用的計(jì)算機(jī)集群間分配數(shù)據(jù)并完成計(jì)算任務(wù),這些集群可以方便地?cái)U(kuò)展到數(shù)以千計(jì)的節(jié)點(diǎn)。(2)成本低:通過(guò)普通廉價(jià)的計(jì)算機(jī)組成服務(wù)器集群來(lái)分發(fā)以及處理數(shù)據(jù),相比使用大型機(jī)乃至超級(jí)計(jì)算機(jī)成本低很多。(3)高效率:通過(guò)并發(fā)數(shù)據(jù),Hadoop可以在節(jié)點(diǎn)之間動(dòng)態(tài)并行處理數(shù)據(jù),使得處理速度非???。(4)高可靠性:能自動(dòng)維護(hù)數(shù)據(jù)的多份復(fù)制,并且在任務(wù)失敗后能自動(dòng)地重新部署計(jì)算任務(wù)。標(biāo)題1.1.6Hadoop的應(yīng)用場(chǎng)景在線(xiàn)旅游:目前全球范圍內(nèi)80%的在線(xiàn)旅游網(wǎng)站都在使用Hadoop。移動(dòng)數(shù)據(jù):美國(guó)有70%的智能手機(jī)數(shù)據(jù)服務(wù)背后都是由Hadoop來(lái)支撐的。電子商務(wù):大型電子商務(wù)公司都在使用Hadoop處理自己的數(shù)據(jù)。能源開(kāi)采:石油公司利用Hadoop進(jìn)行數(shù)據(jù)的收集和處理,其中一些數(shù)據(jù)是海洋的地震數(shù)據(jù),用于尋找油礦的位置。標(biāo)題1.1.6Hadoop的應(yīng)用場(chǎng)景節(jié)能:能源服務(wù)商使用Hadoop為消費(fèi)者提供節(jié)約電費(fèi)的服務(wù)。IT基礎(chǔ)架構(gòu)管理:利用Hadoop從服務(wù)器、交換機(jī)以及其它的設(shè)備中收集并分析數(shù)據(jù)。圖像處理:使用Hadoop來(lái)存儲(chǔ)并處理圖片數(shù)據(jù),從衛(wèi)星拍攝的高清圖像中探測(cè)地理變化。詐騙檢測(cè):金融服務(wù)或者政府機(jī)構(gòu)利用Hadoop來(lái)存儲(chǔ)所有的客戶(hù)交易數(shù)據(jù),能夠幫助機(jī)構(gòu)發(fā)現(xiàn)客戶(hù)的異常活動(dòng),預(yù)防欺詐行為。標(biāo)題1.1.6Hadoop的應(yīng)用場(chǎng)景IT安全:Hadoop可以用來(lái)處理計(jì)算機(jī)生成的數(shù)據(jù),以便甄別來(lái)自惡意軟件或者網(wǎng)絡(luò)中的攻擊。醫(yī)療保?。横t(yī)療行業(yè)也會(huì)用到Hadoop作為其服務(wù)的基礎(chǔ),其中包括語(yǔ)義分析等高級(jí)分析技術(shù)。醫(yī)療機(jī)構(gòu)可以利用語(yǔ)義分析為患者提供醫(yī)護(hù)服務(wù),并協(xié)助醫(yī)生更好地為患者進(jìn)行診斷。2.2Hadoop的核心組件PART022標(biāo)題2.2.1HDFS(1)HDFS是Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),它是一個(gè)分布式文件系統(tǒng)。(2)HDFS將大數(shù)據(jù)文件切分成若干個(gè)小的數(shù)據(jù)塊,再把這些數(shù)據(jù)塊分別寫(xiě)入不同的節(jié)點(diǎn),這些負(fù)責(zé)保存文件數(shù)據(jù)的節(jié)點(diǎn)被稱(chēng)為數(shù)據(jù)節(jié)點(diǎn)(DataNode)。(3)HDFS使用一個(gè)專(zhuān)門(mén)保存文件屬性信息的節(jié)點(diǎn)—名稱(chēng)節(jié)點(diǎn)(NameNode)。標(biāo)題2.2.1HDFS-架構(gòu)標(biāo)題2.2.1HDFS-主要組件NameNode,名稱(chēng)節(jié)點(diǎn),HDFS的管理者。(1)管理HDFS的名字空間,維護(hù)管理所有文件的元數(shù)據(jù)。(2)管理DataNode上的數(shù)據(jù)塊,決定文件數(shù)據(jù)塊存儲(chǔ)到哪個(gè)DataNode。(3)處理客戶(hù)端的讀寫(xiě)請(qǐng)求。(4)按用戶(hù)確定的副本策略管理HDFS中數(shù)據(jù)的副本標(biāo)題2.2.1HDFS-主要組件DataNode(數(shù)據(jù)節(jié)點(diǎn))負(fù)責(zé)存儲(chǔ)數(shù)據(jù)。(1)存儲(chǔ)實(shí)際的數(shù)據(jù)塊,每個(gè)HDFS數(shù)據(jù)塊默認(rèn)大小為128MB,存儲(chǔ)在本地文件系統(tǒng)的單獨(dú)文件中。(2)處理客戶(hù)端的讀寫(xiě)請(qǐng)求,執(zhí)行數(shù)據(jù)塊的讀和寫(xiě)。(3)向NameNode定期匯報(bào)數(shù)據(jù)塊信息,并定時(shí)向NameNode發(fā)送心跳信號(hào)保持聯(lián)系。標(biāo)題2.2.1HDFS-主要組件FSImage和edits文件(1)FSImage文件存儲(chǔ)文件的元數(shù)據(jù),HDFS運(yùn)行時(shí)會(huì)將該文件加載到內(nèi)存中。(2)edits文件記錄對(duì)文件的寫(xiě)操作(修改)。(3)寫(xiě)文件操作只會(huì)對(duì)內(nèi)存中的元數(shù)據(jù)進(jìn)行修改,不會(huì)對(duì)FSImage文件進(jìn)行修改。標(biāo)題2.2.1HDFS-
主要組件SecondaryNameNode,用于合并元數(shù)據(jù)文件FSImage。(1)將NameNode上的FSImage和edits文件復(fù)制到本地,并將兩者合并生成新的FSImage文件,再將新的FSImage文件復(fù)制回NameNode。(2)不是NameNode的備份,但可以幫助恢復(fù)NameNode,因?yàn)槠渖媳4媪舜蟛糠值脑獢?shù)據(jù)信息。標(biāo)題2.2.1HDFS-主要組件客戶(hù)端,接收用戶(hù)的讀寫(xiě)請(qǐng)求,處理后轉(zhuǎn)發(fā)給NameNode和DataNode。(1)與NameNode進(jìn)行信息交互,獲得文件的位置信息。(2)與DataNode進(jìn)行信息交互,指示DataNode執(zhí)行具體的數(shù)據(jù)讀寫(xiě)。(3)向用戶(hù)提供接口來(lái)管理和訪(fǎng)問(wèn)HDFS。(4)三類(lèi)客戶(hù)端:行命令、Web客戶(hù)端和程序調(diào)用的API接口。標(biāo)題2.2.1HDFS-優(yōu)缺點(diǎn)優(yōu)點(diǎn):(1)適合處理大數(shù)據(jù):HDFS能夠處理TB級(jí)甚至PB級(jí)的數(shù)據(jù),文件數(shù)量也可達(dá)百萬(wàn)以上。(2)高容錯(cuò)性:自動(dòng)保存數(shù)據(jù)的多個(gè)副本,當(dāng)某一副本丟失,可以自動(dòng)重備。(3)低成本運(yùn)行:HDFS可以運(yùn)行在廉價(jià)的商用計(jì)算機(jī)上。通過(guò)多副本機(jī)制提高可靠性。標(biāo)題2.2.1HDFS-優(yōu)缺點(diǎn)缺點(diǎn):(1)不適合處理低延時(shí)的數(shù)據(jù)訪(fǎng)問(wèn)。(2)不適合處理大量的小文件:小文件太多會(huì)消耗NameNode的內(nèi)存。同時(shí)小文件的尋址時(shí)間超過(guò)讀取時(shí)間,也違背了HDFS的設(shè)計(jì)目標(biāo)。(3)不支持并發(fā)寫(xiě)入和文件隨機(jī)修改:HDFS的文件同時(shí)只能有一個(gè)用戶(hù)進(jìn)行寫(xiě)操作,也僅支持文件的數(shù)據(jù)追加。標(biāo)題2.2.2YARN(1)Yarn就是通用資源管理系統(tǒng),負(fù)責(zé)將系統(tǒng)資源分配給在Hadoop集群中運(yùn)行的各種應(yīng)用程序,并調(diào)度要在不同集群節(jié)點(diǎn)上執(zhí)行的任務(wù),相當(dāng)于一個(gè)分布式操作系統(tǒng)平臺(tái)。(2)YARN的組件有ResourceManager、ApplicationMaster、NodeManager和Container,采用的是Master/Slave(主/從)結(jié)構(gòu)。標(biāo)題2.2.2YARN–架構(gòu)標(biāo)題2.2.2YARN-
主要組件ResourceManager(資源管理器),負(fù)責(zé)整個(gè)系統(tǒng)的資源管理與分配。由兩個(gè)組件構(gòu)成:(1)調(diào)度器(Scheduler):根據(jù)資源情況和預(yù)先定義的策略以及應(yīng)用程序的資源需求,將系統(tǒng)中的資源分配給各個(gè)正在運(yùn)行的應(yīng)用程序。(2)應(yīng)用程序管理器(ApplicationsManager):負(fù)責(zé)管理整個(gè)系統(tǒng)中所有應(yīng)用程序,監(jiān)控ApplicationMaster運(yùn)行狀態(tài)并在其失敗時(shí)重新啟動(dòng)它。標(biāo)題2.2.2YARN-
主要組件NodeManager管理單個(gè)節(jié)點(diǎn)上的資源。(1)定時(shí)向ResourceManager匯報(bào)節(jié)點(diǎn)的資源使用情況和節(jié)點(diǎn)中各Container的運(yùn)行狀態(tài)。(2)負(fù)責(zé)接收ResourceManager的資源分配要求,分配具體的Container給應(yīng)用的某個(gè)任務(wù)。(3)處理來(lái)自ApplicationMaster的Container啟動(dòng)或停止請(qǐng)求。標(biāo)題2.2.2YARN-
主要組件ApplicationMaster,應(yīng)用程序的第一個(gè)進(jìn)程,負(fù)責(zé)監(jiān)控、管理應(yīng)用程序所有任務(wù)的運(yùn)行。(1)將要處理的數(shù)據(jù)進(jìn)行切分,為每個(gè)切分的數(shù)據(jù)塊在該數(shù)據(jù)塊所在節(jié)點(diǎn)啟動(dòng)一個(gè)運(yùn)算任務(wù),由該任務(wù)對(duì)數(shù)據(jù)進(jìn)行處理。(2)為了啟動(dòng)任務(wù)向ResourceManager申請(qǐng)資源,然后指示任務(wù)所在的NodeManager啟動(dòng)Container。(3)在任務(wù)的運(yùn)行過(guò)程中,監(jiān)視任務(wù)的運(yùn)行狀態(tài),重新啟動(dòng)失敗的任務(wù)。當(dāng)任務(wù)運(yùn)行完畢,負(fù)責(zé)返還資源。標(biāo)題2.2.2YARN-
主要組件Container是YARN中動(dòng)態(tài)創(chuàng)建的資源容器,它封裝了某個(gè)節(jié)點(diǎn)上的多維度資源,如內(nèi)存、CPU、磁盤(pán)、網(wǎng)絡(luò)等。(1)當(dāng)ApplicationMaster為任務(wù)向ResourceManager申請(qǐng)資源時(shí),ResourceManager為ApplicationMaster返回的資源便是用Container來(lái)表示的。(2)ResourceManager只負(fù)責(zé)告訴ApplicationMaster哪些Container可以用,ApplicationMaster還需要去找NodeManager請(qǐng)求分配具體的Container。標(biāo)題2.2.2YARN-應(yīng)用程序的運(yùn)行過(guò)程(1)客戶(hù)端向ResourceManager提交應(yīng)用程序并請(qǐng)求運(yùn)行一個(gè)ApplicationMaster進(jìn)程。(2)ResourceManager計(jì)算所需要的資源,指定某個(gè)NodeManager初始化Container,在NodeManager的協(xié)助下啟動(dòng)第一個(gè)Container,并在Container中啟動(dòng)ApplicationMaster進(jìn)程。(3)ApplicationMaster向ResourceManager注冊(cè),為內(nèi)部要執(zhí)行的任務(wù)申請(qǐng)資源。標(biāo)題2.2.2YARN-應(yīng)用程序的運(yùn)行過(guò)程(4)ApplicationMaste拿到資源后,根據(jù)資源信息指定相應(yīng)的NodeManager啟動(dòng)Container,在Container中啟動(dòng)對(duì)應(yīng)的任務(wù)。(5)所有任務(wù)運(yùn)行完成后,ApplicationMaster向ResourceManager注銷(xiāo),歸還所使用的全部資源,整個(gè)應(yīng)用程序運(yùn)行結(jié)束。標(biāo)題2.2.3MapReduce(1)MapReduce是面向大型數(shù)據(jù)處理的、簡(jiǎn)化的、并行計(jì)算模型。(2)將用戶(hù)編寫(xiě)的業(yè)務(wù)邏輯代碼和自帶的默認(rèn)組件整合成一個(gè)完整的分布式運(yùn)算程序,使得開(kāi)發(fā)并行計(jì)算應(yīng)用程序變得很容易。(3)MapReduce把對(duì)大數(shù)據(jù)的操作分發(fā)給多個(gè)子節(jié)點(diǎn)并行處理,然后整合各個(gè)子節(jié)點(diǎn)的輸出結(jié)果,得到最終的計(jì)算結(jié)果。標(biāo)題2.2.3MapReduce-運(yùn)行模型標(biāo)題2.2.3MapReduce-運(yùn)行流程(1)讀取數(shù)據(jù)階段。從本地的HDFS文件系統(tǒng)中讀取數(shù)據(jù)并分片。(2)Map處理階段。每個(gè)分片會(huì)讓一個(gè)Map任務(wù)來(lái)處理。(3)Shuffle階段。分為兩步:A.在單個(gè)Map任務(wù)所在的節(jié)點(diǎn)上,將Map任務(wù)的輸出數(shù)據(jù)進(jìn)行分區(qū)、排序、合并。B.在Reduce任務(wù)所在的節(jié)點(diǎn)上,將各個(gè)Map任務(wù)節(jié)點(diǎn)上對(duì)應(yīng)的分區(qū)數(shù)據(jù)復(fù)制過(guò)來(lái),進(jìn)行排序、合并。(4)Reduce階段。Reduce任務(wù)讀入Shuffle處理后的數(shù)據(jù)進(jìn)行處理,處理后的結(jié)果寫(xiě)入磁盤(pán)。標(biāo)題2.2.3MapReduce-WordCount案例標(biāo)題2.2.3MapReduce-優(yōu)缺點(diǎn)優(yōu)點(diǎn):(1)易于編程:使用它的一些簡(jiǎn)單接口,就可以完成一個(gè)分布式程序。(2)良好的拓展性:當(dāng)計(jì)算資源不足時(shí),可以簡(jiǎn)單地通過(guò)增加計(jì)算機(jī)的數(shù)量來(lái)擴(kuò)展它的計(jì)算能力。(3)高容錯(cuò)性:當(dāng)運(yùn)算節(jié)點(diǎn)出現(xiàn)故障時(shí),MapReduce的計(jì)算任務(wù)可以自動(dòng)轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)運(yùn)行,不需要人工干預(yù)。(4)適合處理離線(xiàn)大數(shù)據(jù):能夠處理PB級(jí)的離線(xiàn)數(shù)據(jù)。標(biāo)題2.2.3MapReduce-優(yōu)缺點(diǎn)缺點(diǎn):(1)不適合實(shí)時(shí)計(jì)算:MapReduce達(dá)不到在秒級(jí)以?xún)?nèi)反饋運(yùn)算結(jié)果。(2)不適合流式計(jì)算:流式計(jì)算處理的數(shù)據(jù)是動(dòng)態(tài)的,而MapReduce只能處理靜態(tài)的數(shù)據(jù)。(3)不適合有向圖計(jì)算:對(duì)于有向圖計(jì)算,MapReduce在處理數(shù)據(jù)的過(guò)程中,每個(gè)任務(wù)的輸出結(jié)果都會(huì)寫(xiě)入磁盤(pán),會(huì)造成大量的磁盤(pán)讀寫(xiě),形成瓶頸,降低系統(tǒng)的性能。2.3Linux系統(tǒng)環(huán)境設(shè)置PART03
3標(biāo)題2.3.1配置Linux系統(tǒng)基礎(chǔ)環(huán)境(1)配置服務(wù)器的IP地址
查看機(jī)器的網(wǎng)卡名稱(chēng)。
ipaddressshow。標(biāo)題2.3.1配置Linux系統(tǒng)基礎(chǔ)環(huán)境(2)設(shè)置服務(wù)器的主機(jī)名稱(chēng)
設(shè)置主機(jī)名稱(chēng)
hostnamectlset-hostnamemaster
查看當(dāng)前服務(wù)器的名稱(chēng)。
hostname標(biāo)題2.3.1配置Linux系統(tǒng)基礎(chǔ)環(huán)境(3)綁定主機(jī)名與IP地址
編輯本地名字解析文件hosts。
vi/etc/hosts
在其中增加相應(yīng)內(nèi)容(下面的內(nèi)容表示主機(jī)名master對(duì)應(yīng)的IP地址為):
master標(biāo)題2.3.1配置Linux系統(tǒng)基礎(chǔ)環(huán)境(4)查看SSH服務(wù)狀態(tài) CentOS7默認(rèn)安裝SSH服務(wù),查看SSH的狀態(tài)。
systemctlstatussshd
關(guān)閉防火墻
關(guān)閉命令:
systemctlstopfirewalld
查看防火墻的狀態(tài)
systemctlstatusfirewalld標(biāo)題2.3.1配置Linux系統(tǒng)基礎(chǔ)環(huán)境(5)創(chuàng)建hadoop用戶(hù) Hadoop運(yùn)行環(huán)境都安裝配置好后,需要使用普通用戶(hù)來(lái)運(yùn)行Hadoop。(6)創(chuàng)建一個(gè)普通用戶(hù)hadoop:
useraddhadoop標(biāo)題2.3.2安裝JAVA環(huán)境下載JDK安裝包(1)JDK安裝包需要在Oracle官網(wǎng)下載,下載地址為:/java/technologies/javase-jdk8-downloads.html。(2)Hadoop2.7.1所需要的JDK版本為JDK7以上。(3)在H3C教學(xué)與實(shí)踐管理平臺(tái)進(jìn)行實(shí)訓(xùn)時(shí),平臺(tái)會(huì)事先準(zhǔn)備好JDK安裝包和Hadoop安裝包,不需要去下載。2.3.2安裝JAVA環(huán)境卸載自帶的OpenJDK
rpm–qa|grepjava標(biāo)題2.3.2安裝JAVA環(huán)境安裝JDK
安裝包解壓到/opt/module目錄下
tar-zxvf~/jdk-8u231-linux-x64.tar.gz-C/usr/local/src
查看目錄確認(rèn)
ll/usr/local/src標(biāo)題2.3.2安裝JAVA環(huán)境設(shè)置JAVA環(huán)境變量
配置/etc/profile文件
vi/etc/profile
在文件的最后增加如下兩行:
exportJAVA_HOME=/opt/module/jdk1.8.0_231
exportPATH=$PATH:$JAVA_HOOME/bin標(biāo)題2.3.2安裝JAVA環(huán)境設(shè)置JAVA環(huán)境變量
使設(shè)置生效:
source/etc/profile
檢查JAVA是否可用。
echo$JAVA_HOME
java-version2.4安裝Hadoop軟件PART04
4標(biāo)題2.4.1獲取Hadoop安裝包ApacheHadoop各個(gè)版本的下載網(wǎng)址:/dist/hadoop/common/。在H3C教學(xué)與實(shí)踐管理平臺(tái)進(jìn)行實(shí)訓(xùn)時(shí),平臺(tái)會(huì)事先準(zhǔn)備好相關(guān)安裝包,不需要去下載。標(biāo)題2.4.2安裝Hadoop軟件安裝Hadoop軟件
將安裝包解壓到/usr/local/src/目錄下
tar-zxvf~/hadoop-2.7.1.tar.gz-C/usr/local/src/
查看目錄確認(rèn)。
ll/usr/local/src/標(biāo)題2.4.2安裝Hadoop軟件配置Hadoop環(huán)境變量
修改/etc/profile文件。
vi/etc/profile
在文件的最后增加兩行:
exportHADOOP_HOME=/usr/local/src/hadoop-2.7.1
exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin標(biāo)題2.4.2安裝Hadoop軟件配置Hadoop環(huán)境變量
使設(shè)置生效:
source/etc/profile
檢查設(shè)置是否生效:
hadoop標(biāo)題2.4.3修改目錄所有者和所有者組使hadoop用戶(hù)能夠運(yùn)行Hadoop軟件
將目錄/usr/local/src的所有者改為hadoop用戶(hù)。
chown-Rhadoop:hadoop/usr/local/src
檢查設(shè)置是否生效:
ll/usr/local/src2.5安裝單機(jī)版Hadoop系統(tǒng)PART05
5標(biāo)題2.5.1配置Hadoop配置文件進(jìn)入Hadoop目錄
cd/usr/local/src/hadoop-2.7.1/
配置hadoop-env.sh文件
配置命令
vietc/hadoop/hadoop-env.sh
在文件中查找exportJAVA_HOME這行,改為如下所示內(nèi)容。
exportJAVA_HOME=/usr/local/src/jdk1.8.0_231標(biāo)題2.5.2測(cè)試Hadoop本地模式的運(yùn)行切換到hadoop用戶(hù)
使用hadoop這個(gè)用戶(hù)來(lái)運(yùn)行Hadoop軟件。
su-hadoop
創(chuàng)建輸入數(shù)據(jù)存放目錄
將輸入數(shù)據(jù)存放在~/input目錄(hadoop用戶(hù)主目錄下的input目錄中)。
mkdir~/input標(biāo)題2.5.2測(cè)試Hadoop本地模式的運(yùn)行創(chuàng)建數(shù)據(jù)輸入文件
創(chuàng)建數(shù)據(jù)文件data.txt,將要測(cè)試的數(shù)據(jù)內(nèi)容輸入到data.txt文件中。
vi~/input/data.txt
輸入如下內(nèi)容,保存退出。
HelloWorld
HelloHadoop
HelloHuasan標(biāo)題2.5.2測(cè)試Hadoop本地模式的運(yùn)行測(cè)試MapReduce運(yùn)行
運(yùn)行WordCount官方案例,命令如下:
hadoopjar/usr/local/src/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar
wordcount~/input/data.txt~/output
查看運(yùn)行結(jié)果:
ll~/output
處理的結(jié)果存放在part-r-00000文件中,查看該文件:
cat~/output/part-r-00000新華三集團(tuán)Thanks!第3章平臺(tái)基礎(chǔ)環(huán)境配置學(xué)習(xí)目標(biāo)掌握Hadoop全分布式結(jié)構(gòu)掌握集群網(wǎng)絡(luò)連接與配置掌握J(rèn)DK安裝配置掌握SSH無(wú)密碼登錄配置
平臺(tái)基礎(chǔ)環(huán)境配置直接關(guān)系影響到平臺(tái)及相關(guān)組件的安裝是否成功,若基礎(chǔ)環(huán)境配置錯(cuò)誤會(huì)導(dǎo)致后期安裝失敗。本章會(huì)介紹到基礎(chǔ)環(huán)境配置涉及的網(wǎng)絡(luò)連接配置、主機(jī)地址映射、無(wú)密鑰登錄、JDK的安裝配置等內(nèi)容。3.1集群網(wǎng)絡(luò)連接PART01
13.1.1實(shí)驗(yàn)環(huán)境下大數(shù)據(jù)Hadoop平臺(tái)集群網(wǎng)絡(luò)平臺(tái)集群網(wǎng)絡(luò)大數(shù)據(jù)Hadoop平臺(tái)集群采用Master/Slave架構(gòu)。集群包含單獨(dú)的Master節(jié)點(diǎn)和多個(gè)Slave節(jié)點(diǎn)服務(wù)器組成,實(shí)驗(yàn)環(huán)境下一般分為三個(gè)節(jié)點(diǎn),分別是master、slave1和slave2。Master節(jié)點(diǎn)主要承載平臺(tái)中HDFS的Namenode節(jié)點(diǎn),負(fù)責(zé)管理文件系統(tǒng)的名字空間(namespace)以及客戶(hù)端對(duì)文件的訪(fǎng)問(wèn)Slave節(jié)點(diǎn)Slave節(jié)點(diǎn)主要承載平臺(tái)中HDFS的Datanode節(jié)點(diǎn),負(fù)責(zé)管理在此節(jié)點(diǎn)上的存儲(chǔ)數(shù)據(jù)和負(fù)責(zé)處理文件系統(tǒng)客戶(hù)端的讀寫(xiě)請(qǐng)求對(duì)于實(shí)驗(yàn)環(huán)境下Hadoop集群網(wǎng)絡(luò)需考慮地址規(guī)劃、連通性。由于實(shí)驗(yàn)環(huán)境下數(shù)據(jù)負(fù)載較小、可靠性要求不高,鏈路一般采用單鏈路連接。IP地址規(guī)劃在同一網(wǎng)絡(luò)中,一般設(shè)定地址為(/24)網(wǎng)段。具體IP地址在Centos7中配置。集群網(wǎng)絡(luò)配置中會(huì)詳細(xì)介紹IP地址配置。3.1.1實(shí)驗(yàn)環(huán)境下大數(shù)據(jù)Hadoop平臺(tái)集群網(wǎng)絡(luò)大數(shù)據(jù)Hadoop平臺(tái)集群在生產(chǎn)環(huán)境下,由于承載生產(chǎn)中大量數(shù)據(jù)存儲(chǔ)計(jì)算,考慮整體容錯(cuò)性,會(huì)考慮采用多Master架構(gòu)。本實(shí)例采用兩臺(tái)Master服務(wù)器、多臺(tái)Slave服務(wù)器。生產(chǎn)環(huán)境下大數(shù)據(jù)Hadoop平臺(tái)集群網(wǎng)絡(luò)網(wǎng)絡(luò)需考慮其可用性和彈性。一個(gè)高冗余性和可擴(kuò)展的網(wǎng)絡(luò),不但可以提高集群可用時(shí)間,也能滿(mǎn)足Hadoop集群的增長(zhǎng)。部署網(wǎng)絡(luò)需要有每個(gè)節(jié)點(diǎn)雙鏈路連接。防止單鏈路故障導(dǎo)致集群網(wǎng)絡(luò)中斷。交換機(jī)段需要配置鏈路綁定配置防止產(chǎn)生鏈路環(huán)路。使用中需檢測(cè)網(wǎng)絡(luò)運(yùn)行狀態(tài)防止出現(xiàn)網(wǎng)絡(luò)延遲和數(shù)據(jù)過(guò)載。3.1.2生產(chǎn)環(huán)境下大數(shù)據(jù)Hadoop平臺(tái)集群網(wǎng)絡(luò)3.2SSH無(wú)密碼登錄PART02
23.2.1SSH簡(jiǎn)介SecureShell(SSH)是由IETF(TheInternetEngineeringTaskForce國(guó)際互聯(lián)網(wǎng)工程任務(wù)組)制定的建立在應(yīng)用層基礎(chǔ)上的安全網(wǎng)絡(luò)協(xié)議。它是專(zhuān)為遠(yuǎn)程登錄會(huì)話(huà)(甚至可以用Windows遠(yuǎn)程登錄Linux服務(wù)器進(jìn)行文件互傳)和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,可有效彌補(bǔ)網(wǎng)絡(luò)中的漏洞。通過(guò)SSH,可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,也能夠防止DNS欺騙和IP欺騙。還有一個(gè)額外優(yōu)勢(shì)就是傳輸?shù)臄?shù)據(jù)是經(jīng)過(guò)壓縮的,所以可以加快傳輸?shù)乃俣取D壳耙呀?jīng)成為L(zhǎng)inux系統(tǒng)的標(biāo)準(zhǔn)配置。SSH只是一種協(xié)議,存在多種實(shí)現(xiàn),既有商業(yè)實(shí)現(xiàn),也有開(kāi)源實(shí)現(xiàn)。本文主要介紹OpenSSH免費(fèi)開(kāi)源實(shí)現(xiàn)。如果要在Windows中使用SSH,需要使用另外的SSH客戶(hù)端軟件,例如Putty、SecureCRT、XShell等。3.2.2SSH特點(diǎn)介紹1.SSH是傳輸層和應(yīng)用層上的安全協(xié)議,它只能通過(guò)加密連接雙方會(huì)話(huà)的方式來(lái)保證連接的安全性。當(dāng)使用SSH連接成功后,將建立客戶(hù)端和服務(wù)端之間的會(huì)話(huà),該會(huì)話(huà)是被加密之后進(jìn)行會(huì)話(huà)傳輸。2.SSH服務(wù)的守護(hù)進(jìn)程為sshd,默認(rèn)監(jiān)聽(tīng)在22端口上。3.所有SSH客戶(hù)端工具,包括ssh命令,scp,sftp,ssh-copy-id等命令都是借助于ssh連接來(lái)完成任務(wù)。也就是說(shuō)它們都連接服務(wù)端的22端口,只不過(guò)連接之后將待執(zhí)行的相關(guān)命令轉(zhuǎn)換傳送到遠(yuǎn)程主機(jī),由遠(yuǎn)程主機(jī)執(zhí)行。4.SSH客戶(hù)端命令(ssh、scp、sftp等)讀取兩個(gè)配置文件:全局配置文件/etc/ssh/ssh_config和用戶(hù)配置文件~/.ssh/config。實(shí)際命令行上也可以傳遞配置選項(xiàng)。它們生效的優(yōu)先級(jí)是:“命令行配置選項(xiàng)”優(yōu)先于“用戶(hù)配置文件~/.ssh/config”,“用戶(hù)配置文件~/.ssh/config”優(yōu)先于“全局配置文件/etc/ssh/ssh_config”。3.2.2SSH特點(diǎn)介紹5.SSH涉及到兩個(gè)驗(yàn)證:主機(jī)驗(yàn)證和用戶(hù)身份驗(yàn)證。通過(guò)主機(jī)驗(yàn)證,再通過(guò)該主機(jī)上的用戶(hù)驗(yàn)證,就能唯一確定該用戶(hù)的身份。一個(gè)主機(jī)上可以有很多用戶(hù),所以每臺(tái)主機(jī)的驗(yàn)證只需一次,但主機(jī)上每個(gè)用戶(hù)都需要單獨(dú)進(jìn)行用戶(hù)驗(yàn)證。6.SSH支持多種身份驗(yàn)證,最常用的是密碼驗(yàn)證機(jī)制和公鑰認(rèn)證機(jī)制,其中公鑰認(rèn)證機(jī)制在某些場(chǎng)景實(shí)現(xiàn)雙機(jī)互信時(shí)幾乎是必須的。7.SSH客戶(hù)端具有多個(gè)強(qiáng)大的功能,如端口轉(zhuǎn)發(fā)(隧道模式)、代理認(rèn)證、連接共享(連接復(fù)用)等。8.SSH服務(wù)端配置文件為/etc/ssh/sshd_config,客戶(hù)端的全局配置文件為/etc/ssh/ssh_config。3.2.3非對(duì)稱(chēng)加密機(jī)制舉例說(shuō)明,如果A生成了(私鑰A,公鑰A),B生成了(私鑰B,公鑰B),那么A和B之間的非對(duì)稱(chēng)加密會(huì)話(huà)如下:加密和解密使用一樣的算法,只要解密時(shí)提供與加密時(shí)一致的密碼就可以完成解密。對(duì)稱(chēng)加密通過(guò)公鑰(publickey)和私鑰(privatekey)來(lái)加密、解密。公鑰加密的內(nèi)容可以使用私鑰解密,私鑰加密的內(nèi)容可以使用公鑰解密。非對(duì)稱(chēng)加密1.A將自己的公鑰A分發(fā)給B,B拿著公鑰A將數(shù)據(jù)進(jìn)行加密,并將加密的數(shù)據(jù)發(fā)送給A,A將使用自己的私鑰A解密數(shù)據(jù)。2.A將自己的公鑰A分發(fā)給B,并使用自己的私鑰A加密數(shù)據(jù),然后B使用公鑰A解密數(shù)據(jù)。3.B將自己的公鑰B分發(fā)給A,A拿著公鑰B將數(shù)據(jù)進(jìn)行加密,并將加密的數(shù)據(jù)發(fā)送給B,B將使用自己的私鑰B解密數(shù)據(jù)。4.B將自己的公鑰B分發(fā)給A,并使用自己的私鑰B加密數(shù)據(jù),然后A使用公鑰B解密數(shù)據(jù)。雖然理論上非對(duì)稱(chēng)加密支持以上4種場(chǎng)景,但在SSH的身份驗(yàn)證階段,SSH只支持服務(wù)端保留公鑰,客戶(hù)端保留私鑰的方式,所以SSH的實(shí)現(xiàn)方式只有兩種:客戶(hù)端生成密鑰對(duì),將公鑰分發(fā)給服務(wù)端;服務(wù)端生成密鑰對(duì),將私鑰分發(fā)給客戶(hù)端。只不過(guò)出于安全性和便利性,一般都是客戶(hù)端生成密鑰對(duì),并分發(fā)公鑰。3.2.3非對(duì)稱(chēng)加密機(jī)制3.2.4SSH安全機(jī)制SSH之所以能夠保證安全,原因在于它采用了非對(duì)稱(chēng)加密技術(shù)(RSA)。傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如FTP、Pop和Telnet本質(zhì)上都是不安全的;因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用明文傳送數(shù)據(jù)、用戶(hù)賬號(hào)和用戶(hù)口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。第一種級(jí)別基于口令的安全驗(yàn)證第二種級(jí)別基于密鑰的安全驗(yàn)證只要知道自己帳號(hào)和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都會(huì)被加密,但是不能保證正在連接的服務(wù)器就是用戶(hù)想連接的服務(wù)器??赡軙?huì)有別的服務(wù)器在冒充真正的服務(wù)器,也就是受到“中間人攻擊。用戶(hù)必須為自己創(chuàng)建一對(duì)密鑰,并把公鑰放在需要訪(fǎng)問(wèn)的服務(wù)器上。如果要連接到SSH服務(wù)器,客戶(hù)端軟件就會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求使用用戶(hù)的密鑰進(jìn)行安全驗(yàn)證。3.2.4SSH安全機(jī)制使用密碼登錄,每次都必須輸入密碼,操作過(guò)程比較麻煩。SSH還提供公鑰登錄的方式,可以省去輸入密碼的步驟。所謂"公鑰登錄"就是用戶(hù)將自己的公鑰儲(chǔ)存在遠(yuǎn)程主機(jī)上。登錄時(shí),遠(yuǎn)程主機(jī)會(huì)向用戶(hù)發(fā)送一段隨機(jī)字符串,用戶(hù)用自己的私鑰加密后再返回。遠(yuǎn)程主機(jī)用事先儲(chǔ)存的公鑰進(jìn)行解密,如果成功,就證明用戶(hù)是可信的,直接允許登錄shell,不再要求密碼。這種方法要求用戶(hù)必須提供自己的公鑰。如果沒(méi)有公鑰,可以直接用ssh-keygen命令生成:$ssh-keygen3.2.6基于密鑰的安全驗(yàn)證運(yùn)行上面的命令以后,系統(tǒng)會(huì)出現(xiàn)一系列提示問(wèn)題,可以一直回車(chē)確認(rèn),使用默認(rèn)的配置。其中有一個(gè)提示問(wèn)題是,要不要對(duì)私鑰設(shè)置口令(passphrase),如果擔(dān)心私鑰的安全,這里可以設(shè)置口令。運(yùn)行結(jié)束以后,在$HOME/.ssh/目錄下,會(huì)新生成兩個(gè)文件:id_rsa.pub和id_rsa。前者是當(dāng)前用戶(hù)的公鑰,后者是私鑰。這時(shí)再輸入下面的命令,將公鑰傳送到遠(yuǎn)程主機(jī)host上面:$ssh-copy-iduser@host以后再登錄遠(yuǎn)程主機(jī),就不需要輸入密碼可以直接登錄。3.2.6基于密鑰的安全驗(yàn)證3.3集群網(wǎng)絡(luò)配置PART03
3根據(jù)實(shí)驗(yàn)環(huán)境下集群網(wǎng)絡(luò)IP地址規(guī)劃,為主機(jī)master設(shè)置IP地址是“”,掩碼是“”;slave1設(shè)置IP地址是“”,掩碼是“”;slave2設(shè)置IP地址是“”,掩碼是“”。根據(jù)我們?yōu)镠adoop設(shè)置的主機(jī)名為“master、slave1、slave2”,映射地址是“、、”,分別修改主機(jī)配置文件“/etc/hosts”,在命令終端輸入如下命令:#vi/etc/hosts“/etc/hosts”文件給出主機(jī)到IP的映射關(guān)系,修改“/etc/hosts”文件,在文件末尾添加以下配置。masterslave1slave2配置完畢,執(zhí)行“reboot”命令重新啟動(dòng)系統(tǒng)。3.3.1實(shí)驗(yàn)環(huán)境下集群網(wǎng)絡(luò)配置3.4SSH無(wú)密碼驗(yàn)證配置PART04
43.4.1生成SSH密鑰Hadoop運(yùn)行過(guò)程中需要管理遠(yuǎn)端Hadoop守護(hù)進(jìn)程,在Hadoop啟動(dòng)以后,NameNode是通過(guò)SSH(SecureShell)來(lái)啟動(dòng)和停止各個(gè)DataNode上的各種守護(hù)進(jìn)程的。這就必須在節(jié)點(diǎn)之間執(zhí)行指令的時(shí)候是不需要輸入密碼的形式,故我們需要配置SSH運(yùn)用無(wú)密碼公鑰認(rèn)證的形式,這樣NameNode使用SSH無(wú)密碼登錄并啟動(dòng)DataName進(jìn)程,同樣原理,DataNode上也能使用SSH無(wú)密碼登錄到NameNode。`123458761.安裝和啟動(dòng)SSH協(xié)議3.每個(gè)節(jié)點(diǎn)生成秘鑰對(duì)5.將id_rsa.pub追加到授權(quán)key文件中7.配置SSH服務(wù)6.修改文件"authorized_keys"權(quán)限4.查看.ssh文件夾2.切換到hadoop用戶(hù)8.重啟SSH服務(wù)3.4.1生成SSH密鑰1.安裝和啟動(dòng)SSH協(xié)議實(shí)現(xiàn)SSH登錄需要openssh和rsync兩個(gè)服務(wù),一般情況下默認(rèn)已經(jīng)安裝,可以通過(guò)下面命令查看結(jié)果。[root@master~]#rpm-qa|grepopensshopenssh-server-7.4p1-11.el7.x86_64openssh-7.4p1-11.el7.x86_64openssh-clients-7.4p1-11.el7.x86_64[root@master~]#rpm-qa|greprsyncrsync-3.1.2-6.el7_6.1.x86_64如果沒(méi)有安裝openssh和rsync,可以通過(guò)下面命令進(jìn)行安裝。[root@master~]#yuminstallopenssh*-y[root@master~]#yuminstallrsync-y2.切換到hadoop用戶(hù)[root@master~]#su-hadoop3.4.1生成SSH密鑰3.每個(gè)節(jié)點(diǎn)生成秘鑰對(duì)[hadoop@master~]$ssh-keygen-trsa-P''Generatingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/hadoop/.ssh/id_rsa):Youridentificationhasbeensavedin/home/hadoop/.ssh/id_rsa.Yourpublickeyhasbeensavedin/home/hadoop/.ssh/id_rsa.pub.Thekeyfingerprintis:SHA256:UxFuDHHLiMNQsZ11o3F7NApvDPfKMBqaxE+rlccKdk4hadoop@masterThekey'srandomartimageis:+---[RSA2048]----+|..o.o.O.=o||++X&*.||B*@*o||.*O=o||=Eoo||.B+||.o|||||+----[SHA256]-----+3.4.1生成SSH密鑰4.查看"/home/hadoop/"下是否有".ssh"文件夾,且".ssh"文件下是否有兩個(gè)剛生產(chǎn)的無(wú)密碼密鑰對(duì)。[hadoop@master.ssh]$cd~/.ssh/[hadoop@master.ssh]$lsid_rsaid_rsa.pub5.將id_rsa.pub追加到授權(quán)key文件中[hadoop@master.ssh]$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys[hadoop@master.ssh]$ls~/.ssh/authorized_keysid_rsaid_rsa.pub3.4.1生成SSH密鑰6.修改文件"authorized_keys"權(quán)限通過(guò)ll命令查看,可以看到修改后authorized_keys文件的權(quán)限為“rw-------”,表示所有者可讀寫(xiě),其他用戶(hù)沒(méi)有訪(fǎng)問(wèn)權(quán)限。如果該文件權(quán)限太大,ssh服務(wù)會(huì)拒絕工作,出現(xiàn)無(wú)法通過(guò)密鑰文件進(jìn)行登錄認(rèn)證的情況。[hadoop@master.ssh]$chmod600~/.ssh/authorized_keys[hadoop@master.ssh]$ll~/.ssh/總用量12-rw-------.1hadoophadoop3954月915:34authorized_keys-rw-------.1hadoophadoop16794月915:26id_rsa-rw-r--r--.1hadoophadoop3954月915:26id_rsa.pub7.配置SSH服務(wù)使用root用戶(hù)登錄,修改SSH配置文件"/etc/ssh/sshd_config"的下列內(nèi)容,需要將該配置字段前面的#號(hào)刪除,啟用公鑰私鑰配對(duì)認(rèn)證方式。[root@master~]#vi/etc/ssh/sshd_configPubkeyAuthenticationyes3.4.1生成SSH密鑰8.重啟SSH服務(wù)設(shè)置完后需要重啟SSH服務(wù),才能使配置生效。[root@master~]#systemctlrestartsshd3.4.1生成SSH密鑰9.切換到hadoop用戶(hù)[root@master~]#su-hadoop10.驗(yàn)證SSH登錄本機(jī)在hadoop用戶(hù)下驗(yàn)證能否嵌套登錄本機(jī),若可以不輸入密碼登錄,則本機(jī)通過(guò)密鑰登錄認(rèn)證成功。[hadoop@master~]$sshlocalhostTheauthenticityofhost'localhost(::1)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:mCBXMeGA6BsP/aYJH3Ie5723JAWRSOzBr7FReICWLtQ.ECDSAkeyfingerprintisMD5:b2:88:99:ee:00:30:24:61:75:7e:7f:8a:f5:d0:98:97.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'localhost'(ECDSA)tothelistofknownhosts.Lastlogin:ThuApr916:02:142020首次登錄時(shí)會(huì)提示系統(tǒng)無(wú)法確認(rèn)host主機(jī)的真實(shí)性,只知道它的公鑰指紋,詢(xún)問(wèn)用戶(hù)是否還想繼續(xù)連接。需要輸入“yes”,表示繼續(xù)登錄。第二次再登錄同一個(gè)主機(jī),則不會(huì)再出現(xiàn)該提示,可以直接進(jìn)行登錄。讀者需要關(guān)注是否在登錄過(guò)程中是否需要輸入密碼,不需要輸入密碼才表示通過(guò)密鑰認(rèn)證成功。3.4.1生成SSH密鑰3.4.2交換SSH密鑰在master和slave1、slave2節(jié)點(diǎn)之間交換密鑰,實(shí)現(xiàn)Master和兩個(gè)Slave節(jié)點(diǎn)之間能夠SSH無(wú)密碼登錄。0
20
40
30
11.將Master節(jié)點(diǎn)的公鑰id_rsa.pub復(fù)制到每個(gè)Slave點(diǎn)3.在每個(gè)Slave節(jié)點(diǎn)刪除id_rsa.pub文件2.在每個(gè)Slave節(jié)點(diǎn)把Master節(jié)點(diǎn)復(fù)制的公鑰復(fù)制到authorized_keys文件4.將每個(gè)Slave節(jié)點(diǎn)的公鑰保存到Master3.4.2交換SSH密鑰1.將Master節(jié)點(diǎn)的公鑰id_rsa.pub復(fù)制到每個(gè)Slave點(diǎn)hadoop用戶(hù)登錄,通過(guò)scp命令實(shí)現(xiàn)密鑰拷貝。[hadoop@master~]$scp~/.ssh/id_rsa.pubhadoop@slave1:~/Theauthenticityofhost'slave1(2)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:VQHM02+x2s0xCE7Qw+EbjdPfgfZV3W7B+gDiozC80c4.ECDSAkeyfingerprintisMD5:3e:a1:47:e9:fe:1b:55:7e:cf:a9:90:58:9b:a2:0d:26.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'slave1,2'(ECDSA)tothelistofknownhosts.hadoop@slave1'spassword:id_rsa.pub100%395259.2KB/s00:00首次遠(yuǎn)程連接時(shí)系統(tǒng)會(huì)詢(xún)問(wèn)用戶(hù)是否要繼續(xù)連接。需要輸入“yes”,表示繼續(xù)。因?yàn)槟壳吧形赐瓿擅荑€認(rèn)證的配置,所以使用scp命令拷貝文件需要輸入slave1節(jié)點(diǎn)hadoop用戶(hù)的密碼。3.4.2交換SSH密鑰2.在每個(gè)Slave節(jié)點(diǎn)把Master節(jié)點(diǎn)復(fù)制的公鑰復(fù)制到authorized_keys文件hadoop用戶(hù)登錄slave1和slave2節(jié)點(diǎn),執(zhí)行命令。[hadoop@slave1~]$cat~/id_rsa.pub>>~/.ssh/authorized_keys3.在每個(gè)Slave節(jié)點(diǎn)刪除id_rsa.pub文件[hadoop@slave1~]$rm-f~/id_rsa.pub3.4.2交換SSH密鑰4.將每個(gè)Slave節(jié)點(diǎn)的公鑰保存到Master以下步驟1)到3)為一組,在slave1節(jié)點(diǎn)上執(zhí)行完成一組命令后,再在slave2節(jié)點(diǎn)執(zhí)行。(1)將Slave節(jié)點(diǎn)的公鑰復(fù)制到Master[hadoop@slave1~]$scp~/.ssh/id_rsa.pubhadoop@master:~/Theauthenticityofhost'master(1)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:mCBXMeGA6BsP/aYJH3Ie5723JAWRSOzBr7FReICWLtQ.ECDSAkeyfingerprintisMD5:b2:88:99:ee:00:30:24:61:75:7e:7f:8a:f5:d0:98:97.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'master,1'(ECDSA)tothelistofknownhosts.hadoop@master'spassword:id_rsa.pub100%39551.5KB/s00:00(2)在Master節(jié)點(diǎn)把從Slave節(jié)點(diǎn)復(fù)制的公鑰復(fù)制到authorized_keys文件[hadoop@master~]$cat~/id_rsa.pub>>~/.ssh/authorized_keys(3)在Master節(jié)點(diǎn)刪除id_rsa.pub文件[hadoop@master~]$rm-f~/id_rsa.pub3.4.2交換SSH密鑰0
20
40
30
11.查看Master節(jié)點(diǎn)authorized_keys文件3.驗(yàn)證Master到每個(gè)Slave節(jié)點(diǎn)無(wú)密碼登錄2.查看Slave節(jié)點(diǎn)authorized_keys文件4.驗(yàn)證兩個(gè)Slave節(jié)點(diǎn)到Master節(jié)點(diǎn)無(wú)密碼登錄3.4.3驗(yàn)證SSH無(wú)密碼登錄1.查看Master節(jié)點(diǎn)authorized_keys文件[hadoop@master.ssh]$cat~/.ssh/authorized_keys可以看到Master節(jié)點(diǎn)authorized_keys文件中包括master、slave1、slave2三個(gè)節(jié)點(diǎn)的公鑰。2.查看Slave節(jié)點(diǎn)authorized_keys文件[hadoop@slave1.ssh]$cat~/.ssh/authorized_keys可以看到Slave節(jié)點(diǎn)authorized_keys文件中包括Master、當(dāng)前Slave兩個(gè)節(jié)點(diǎn)的公鑰。3.4.3驗(yàn)證SSH無(wú)密碼登錄3.5本章小結(jié)PART05
53.驗(yàn)證Master到每個(gè)Slave節(jié)點(diǎn)無(wú)密碼登錄hadoop用戶(hù)登錄master節(jié)點(diǎn),執(zhí)行SSH命令登錄slave1和slave2節(jié)點(diǎn)??梢杂^察到不需要輸入密碼即可實(shí)現(xiàn)SSH登錄。[hadoop@master~]$sshslave1Lastlogin:ThuApr919:24:362020[hadoop@master~]$sshslave2Lastlogin:ThuApr919:32:092020[hadoop@slave2~]$4.驗(yàn)證兩個(gè)Slave節(jié)點(diǎn)到Master節(jié)點(diǎn)無(wú)密碼登錄[hadoop@slave1~]$sshmasterLastlogin:ThuApr919:19:072020[hadoop@master~]$3.4.3驗(yàn)證SSH無(wú)密碼登錄3.5本章小結(jié)本章主要介紹Hadoop平臺(tái)搭建的相關(guān)集群網(wǎng)絡(luò)配置、SSH無(wú)密鑰登錄等相關(guān)的動(dòng)手實(shí)操實(shí)驗(yàn)詳細(xì)配置內(nèi)容。新華三集團(tuán)Thanks!第4章Hadoop文件參數(shù)配置學(xué)習(xí)目標(biāo)掌握Hadoop配置文件修改規(guī)則掌握Hadoop相關(guān)配置文件掌握Hadoop相關(guān)配置文件參數(shù)掌握Master節(jié)點(diǎn)上安裝HadoopHadoop全分布式系統(tǒng)安裝和配置是大數(shù)據(jù)分析平臺(tái)運(yùn)維管理的重要內(nèi)容,是后續(xù)進(jìn)行各組件部署的基礎(chǔ)。本章會(huì)介紹部署Hadoop安裝包、在Master節(jié)點(diǎn)上安裝Hadoop、Hadoop相關(guān)配置文件參數(shù)等內(nèi)容。4.1Hadoop配置文件說(shuō)明PART01
14.1.1Hadoop環(huán)境配置環(huán)境配置通常情況下,Hadoop集群中需要配置的文件主要包括四個(gè),分別是core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml,這四個(gè)文件分別是對(duì)不同組件的配置參數(shù)。序號(hào)配置文件名配置對(duì)象主要內(nèi)容1core-site.xml集群全局參數(shù)用于定義系統(tǒng)級(jí)別的參數(shù),如HDFSURL、Hadoop的臨時(shí)目錄等。2hdfs-site.xmlHDFS參數(shù)名稱(chēng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的存放位置、文件副本的個(gè)數(shù)、文件讀取權(quán)限等。3mapred-site.xmlMapreduce參數(shù)包括JobHistoryServer和應(yīng)用程序參數(shù)兩部分,如reduce任務(wù)的默認(rèn)個(gè)數(shù)、任務(wù)所能夠使用內(nèi)存的默認(rèn)上下限等。4yarn-site.xml集群資源管理系統(tǒng)參數(shù)配置ResourceManager,NodeManager的通信端口,web監(jiān)控端口等。4.1.2Hadoop守護(hù)進(jìn)程環(huán)境配置環(huán)境配置使用腳本文件etc/hadoop/hadoop-env.sh、etc/hadoop/mapred-env.sh和etc/hadoop/yarn-env.sh定制Hadoop守護(hù)進(jìn)程的環(huán)境變量值。在每個(gè)遠(yuǎn)程節(jié)點(diǎn)指定JAVA_HOME,使其具有正確定義。管理員可以使用右表所示的配置選項(xiàng)配置單獨(dú)的守護(hù)進(jìn)程環(huán)境變量。守護(hù)進(jìn)程環(huán)境變量NameNodeHADOOP_NAMENODE_OPTSDataNodeHADOOP_DATANODE_OPTSSecondaryNameNodeHADOOP_SECONDARYNAMENODE_OPTSResourceManagerYARN_RESOURCEMANAGER_OPTSNodeManagerYARN_NODEMANAGER_OPTSWebAppProxyYARN_PROXYSERVER_OPTSMapReduceJobHistoryServerHADOOP_JOB_HIS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年梓潼縣招教考試備考題庫(kù)附答案解析(奪冠)
- 2025年黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(必刷)
- 2025年屏山縣招教考試備考題庫(kù)含答案解析(奪冠)
- 2025年廣東省梅州市單招職業(yè)傾向性測(cè)試題庫(kù)附答案解析
- 2024年海安縣幼兒園教師招教考試備考題庫(kù)附答案解析(必刷)
- 2024年湖南中醫(yī)藥高等專(zhuān)科學(xué)校馬克思主義基本原理概論期末考試題帶答案解析
- 2024年青島城市學(xué)院馬克思主義基本原理概論期末考試題帶答案解析(必刷)
- 2024年甘南縣招教考試備考題庫(kù)附答案解析(必刷)
- 吳和成統(tǒng)計(jì)學(xué)課件
- 2025年南京視覺(jué)藝術(shù)職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)帶答案解析
- (2025年)上海公務(wù)員考試真題附答案
- (一模)濟(jì)南市2026屆高三第一次模擬考試生物試卷(含答案)
- 肺出血-腎炎綜合征診療指南(2025年版)
- 旅游景區(qū)旅游安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- FZ∕T 54007-2019 錦綸6彈力絲行業(yè)標(biāo)準(zhǔn)
- 顱腦外傷的麻醉管理
- AED(自動(dòng)體外除顫儀)的使用
- FZ∕T 74002-2014 運(yùn)動(dòng)文胸行業(yè)標(biāo)準(zhǔn)
- 2024年福建寧德高速交警招聘筆試參考題庫(kù)附帶答案詳解
- 中國(guó)礦業(yè)權(quán)評(píng)估準(zhǔn)則(2011年)
- 房地產(chǎn)營(yíng)銷(xiāo)費(fèi)效分析
評(píng)論
0/150
提交評(píng)論