Hadoop大數(shù)據(jù)平臺(tái)構(gòu)建與應(yīng)用教程 課件 項(xiàng)目1-4 Linux操作系統(tǒng)配置 -Mapreduce分布式計(jì)算編程實(shí)戰(zhàn)_第1頁(yè)
Hadoop大數(shù)據(jù)平臺(tái)構(gòu)建與應(yīng)用教程 課件 項(xiàng)目1-4 Linux操作系統(tǒng)配置 -Mapreduce分布式計(jì)算編程實(shí)戰(zhàn)_第2頁(yè)
Hadoop大數(shù)據(jù)平臺(tái)構(gòu)建與應(yīng)用教程 課件 項(xiàng)目1-4 Linux操作系統(tǒng)配置 -Mapreduce分布式計(jì)算編程實(shí)戰(zhàn)_第3頁(yè)
Hadoop大數(shù)據(jù)平臺(tái)構(gòu)建與應(yīng)用教程 課件 項(xiàng)目1-4 Linux操作系統(tǒng)配置 -Mapreduce分布式計(jì)算編程實(shí)戰(zhàn)_第4頁(yè)
Hadoop大數(shù)據(jù)平臺(tái)構(gòu)建與應(yīng)用教程 課件 項(xiàng)目1-4 Linux操作系統(tǒng)配置 -Mapreduce分布式計(jì)算編程實(shí)戰(zhàn)_第5頁(yè)
已閱讀5頁(yè),還剩392頁(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)介

項(xiàng)目一Linux操作系統(tǒng)配置CONTENTS目錄01

項(xiàng)目導(dǎo)讀02

知識(shí)目標(biāo)03

技能目標(biāo)04

素質(zhì)(思政)目標(biāo)CONTENTS目錄05

任務(wù)一Linux網(wǎng)絡(luò)配置06

任務(wù)二Linux遠(yuǎn)程連接及安全配置07

項(xiàng)目總結(jié)08

項(xiàng)目考核項(xiàng)目導(dǎo)讀01項(xiàng)目導(dǎo)讀Hadoop集群搭建準(zhǔn)備現(xiàn)在公司要求工程師小丁搭建Hadoop完全分布式集群,但是Hadoop集群是搭建在Linux操作系統(tǒng)里面,搭建之前需要先做一些Linux基礎(chǔ)配置工作。本書(shū)虛擬機(jī)用的是VMware操作系統(tǒng)用的是CentOS7知識(shí)目標(biāo)02知識(shí)目標(biāo)

了解常見(jiàn)的虛擬機(jī)種類

了解常見(jiàn)的網(wǎng)絡(luò)類型

了解SELinux概念

了解SSH協(xié)議技能目標(biāo)03技能目標(biāo)01掌握Linux網(wǎng)絡(luò)配置02掌握SSH遠(yuǎn)程連接Linux技術(shù)03掌握關(guān)閉SELinuxSElinux技術(shù)素質(zhì)(思政)目標(biāo)04素質(zhì)(思政)目標(biāo)

培養(yǎng)嚴(yán)謹(jǐn)細(xì)致的工匠精神

厚植技術(shù)報(bào)國(guó)夢(mèng)

培養(yǎng)不驕不躁的工匠心態(tài)任務(wù)一Linux網(wǎng)絡(luò)配置05任務(wù)工單

任務(wù)場(chǎng)景虛擬機(jī)裝好了,Linux操作系統(tǒng)也配置好了,主機(jī)名配置為master,公司要求該主機(jī)能夠連接外網(wǎng),訪問(wèn)百度

任務(wù)準(zhǔn)備全班學(xué)生以4人一組,各組選出組長(zhǎng)。請(qǐng)組長(zhǎng)組員查找相關(guān)資料,并進(jìn)行討論和匯總問(wèn)題1:虛擬機(jī)有幾種網(wǎng)絡(luò)模式問(wèn)題2:NAT模式和橋接模式有什么區(qū)別必備知識(shí)技能:一、虛擬機(jī)介紹

虛擬機(jī)軟件及應(yīng)用虛擬機(jī)是指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng),目前流行的虛擬機(jī)軟件有VMware、VirtualBox和VirtualPC,它們都能在Windows系統(tǒng)上虛擬出多個(gè)計(jì)算機(jī),每個(gè)虛擬計(jì)算機(jī)均可以獨(dú)立運(yùn)行,可以安裝各種軟件與應(yīng)用等

虛擬機(jī)資源分配影響性能通俗說(shuō),虛擬機(jī)是將一臺(tái)計(jì)算機(jī)虛擬化,使一臺(tái)計(jì)算機(jī)具備多臺(tái)計(jì)算機(jī)的功能,但整機(jī)性能也會(huì)被各個(gè)虛擬機(jī)所分配劃分,因此劃分虛擬機(jī)越多,各個(gè)虛擬機(jī)所分配的CPU、內(nèi)存、存儲(chǔ)空間資源就越少,因此組建虛擬機(jī)通常是配置越高越好

虛擬機(jī)的應(yīng)用與游戲多開(kāi)技巧虛擬機(jī)在現(xiàn)實(shí)中的作用還是相當(dāng)大的,比如最簡(jiǎn)單我們計(jì)算機(jī)中沒(méi)有光驅(qū),如果要安裝系統(tǒng)就可以使用虛擬機(jī)來(lái)安裝系統(tǒng),虛擬機(jī)內(nèi)部擁有虛擬光驅(qū),支持直接打開(kāi)系統(tǒng)鏡像文件安裝系統(tǒng),另外虛擬機(jī)技術(shù)在游戲愛(ài)好者朋友眼中也相當(dāng)實(shí)用,比如一般一臺(tái)計(jì)算機(jī)很多游戲不支持同時(shí)多開(kāi),但我們可以在計(jì)算機(jī)中多創(chuàng)建幾個(gè)虛擬機(jī),那么在虛擬機(jī)系統(tǒng)中即可單獨(dú)再運(yùn)行程序了,這樣即可實(shí)現(xiàn)一臺(tái)計(jì)算機(jī)同時(shí)多開(kāi)同一游戲了必備知識(shí)技能:一、虛擬機(jī)介紹虛擬機(jī)在企業(yè)中的應(yīng)用其實(shí)虛擬機(jī)在企業(yè)中應(yīng)用非常廣,由于服務(wù)器通常配置很高,因?yàn)楹芏喾?wù)器網(wǎng)絡(luò)商為了滿足中小站長(zhǎng)需求,通常將一臺(tái)服務(wù)器劃分出多個(gè)虛擬機(jī)服務(wù)器,這樣每個(gè)網(wǎng)站即可分配獨(dú)立服務(wù)器資源一部分,并且互相不影響且可以配獨(dú)立IP地址,大大解決了中小企業(yè)使用單獨(dú)服務(wù)器費(fèi)用過(guò)高的問(wèn)題,目前購(gòu)買的VPS服務(wù)器則均采用該技術(shù),做過(guò)網(wǎng)站的朋友初期用到的虛擬空間也是該原理必備知識(shí)技能:二、虛擬機(jī)的三種網(wǎng)絡(luò)連接模式橋接模式直接連接物理網(wǎng)絡(luò)。將虛擬機(jī)的虛擬網(wǎng)絡(luò)適配器與主機(jī)的物理網(wǎng)絡(luò)適配器進(jìn)行連接,虛擬機(jī)中的虛擬網(wǎng)絡(luò)適配器可通過(guò)主機(jī)中的物理網(wǎng)絡(luò)適配器直接訪問(wèn)外部網(wǎng)絡(luò)。簡(jiǎn)而言之,這就好像在局域網(wǎng)中添加了一臺(tái)新的、獨(dú)立的計(jì)算機(jī)一樣。因此,虛擬機(jī)也會(huì)占用局域網(wǎng)中的一個(gè)IP地址,并且可以和其他終端進(jìn)行相互訪問(wèn)必備知識(shí)技能:二、虛擬機(jī)的三種網(wǎng)絡(luò)連接模式

NAT模式共享主機(jī)的IP地址。NAT是NetworkAddressTranslation的縮寫意即網(wǎng)絡(luò)地址轉(zhuǎn)換。NAT模式也是VMware創(chuàng)建虛擬機(jī)的默認(rèn)網(wǎng)絡(luò)連接模式。使用NAT模式進(jìn)行網(wǎng)絡(luò)連接時(shí),VMware會(huì)在主機(jī)上建立單獨(dú)的專用網(wǎng)絡(luò),用以在主機(jī)和虛擬機(jī)之間相互通信。虛擬機(jī)向外部網(wǎng)絡(luò)發(fā)送的請(qǐng)求數(shù)據(jù)包,都會(huì)交由NAT網(wǎng)絡(luò)適配器加上"特殊標(biāo)記"并以主機(jī)的名義轉(zhuǎn)發(fā)出去,外部網(wǎng)絡(luò)返回的響應(yīng)數(shù)據(jù)"包",也是先由主機(jī)接收,然后交由NAT網(wǎng)絡(luò)適配器根據(jù)"特殊標(biāo)記"進(jìn)行識(shí)別并轉(zhuǎn)發(fā)給對(duì)應(yīng)的虛擬機(jī),因此,虛擬機(jī)在外部網(wǎng)絡(luò)中不必具有自己的IP地址。從外部網(wǎng)絡(luò)來(lái)看,虛擬機(jī)和主機(jī)在共享一個(gè)IP地址,默認(rèn)情況下,外部網(wǎng)絡(luò)終端也無(wú)法訪問(wèn)到虛擬機(jī)此外,在一臺(tái)主機(jī)上只允許有一個(gè)NAT模式的虛擬網(wǎng)絡(luò)。因此,同一臺(tái)主機(jī)上的多個(gè)采用NAT模式網(wǎng)絡(luò)連接的虛擬機(jī)也是可以相互訪問(wèn)的前面我們已經(jīng)提到,默認(rèn)情況下,外部網(wǎng)絡(luò)無(wú)法訪問(wèn)到虛擬機(jī),不過(guò)我們也可以通過(guò)手動(dòng)修改NAT設(shè)置實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能,將外部網(wǎng)絡(luò)發(fā)送到主機(jī)指定端口的數(shù)據(jù)轉(zhuǎn)發(fā)到指定的虛擬機(jī)上。比如,我們?cè)谔摂M機(jī)的80端口上"建立"了一個(gè)站點(diǎn),只要我們?cè)O(shè)置端口轉(zhuǎn)發(fā),將主機(jī)88端口上的數(shù)據(jù)轉(zhuǎn)發(fā)給虛擬機(jī)的80端口,就可以讓外部網(wǎng)絡(luò)通過(guò)主機(jī)的88端口訪問(wèn)到虛擬機(jī)80端口上的站點(diǎn)必備知識(shí)技能:二、虛擬機(jī)的三種網(wǎng)絡(luò)連接模式

僅主機(jī)模式

與主機(jī)共享專用網(wǎng)絡(luò)。僅主機(jī)模式,是一種比NAT模式更加封閉網(wǎng)絡(luò)連接模式,它將創(chuàng)建完全包含在主機(jī)中的專用網(wǎng)絡(luò)。僅主機(jī)模式的虛擬網(wǎng)絡(luò)適配器僅對(duì)主機(jī)可見(jiàn),并在虛擬機(jī)和主機(jī)系統(tǒng)之間提供網(wǎng)絡(luò)連接。相對(duì)于NAT模式而言,僅主機(jī)模式不具備NAT功能,因此在默認(rèn)情況下,使用僅主機(jī)模式進(jìn)行網(wǎng)絡(luò)連接的虛擬機(jī)無(wú)法連接到Internet

在同一臺(tái)主機(jī)上可以創(chuàng)建多個(gè)僅主機(jī)模式的虛擬網(wǎng)絡(luò),如果多臺(tái)多個(gè)虛擬機(jī)處于同一個(gè)僅主機(jī)模式網(wǎng)絡(luò)中,那么它們之間是可以相互通信的;如果它們處于不同的僅主機(jī)模式網(wǎng)絡(luò),則默認(rèn)情況下無(wú)法進(jìn)行相互通信任務(wù)實(shí)施:一、虛擬網(wǎng)絡(luò)配置

配置VMnet8網(wǎng)絡(luò)設(shè)置啟動(dòng)主機(jī)名為master的虛擬機(jī)(虛擬機(jī)版本建議17以上),選擇“編輯”-〉“虛擬網(wǎng)絡(luò)編輯器”命令,在打開(kāi)的“虛擬網(wǎng)絡(luò)編輯器”對(duì)話框選擇“VMnet8”選項(xiàng),配置“子網(wǎng)IP”為“”,配置“子網(wǎng)掩碼”為“”,單擊“確定”按鈕,如圖1-1-1所示注意:這里IP地址選擇局域網(wǎng)IP段就可,本書(shū)選擇/24子網(wǎng)段任務(wù)實(shí)施:二、有線網(wǎng)絡(luò)配置

步驟1以root身份登錄Linux,單擊右上角的揚(yáng)聲器(1號(hào)圈位)圖標(biāo),會(huì)彈出下拉菜單,單擊下拉菜單左下角的設(shè)置圖標(biāo)(2號(hào)圈位),彈出“Settings”對(duì)話框,單擊“Settings”對(duì)話框左下角選項(xiàng)卡“Network”(3號(hào)圈位)顯示出“NewWork”選項(xiàng)卡,單擊“Wired”選項(xiàng)卡欄目的設(shè)置圖標(biāo)(4號(hào)圈位),彈出“Wired”對(duì)話框,也就是有線網(wǎng)絡(luò)設(shè)置主界面,如圖1-1-3所示步驟2在“Wired”對(duì)話框,也就是有線網(wǎng)絡(luò)設(shè)置主界面,如圖1-1-3所示,單擊“IPV4”選項(xiàng)卡,在“IPvV4Method”單選框選中“Automatic(DHCP)”單選按鈕,單擊“Apply”按鈕步驟3打開(kāi)Linux終端,檢測(cè)是否能夠ping通外網(wǎng)。能夠ping通電子工業(yè)出版社官網(wǎng),則說(shuō)明Linux有外網(wǎng)。命令如下ping任務(wù)二Linux遠(yuǎn)程連接及安全配置06任務(wù)工單

任務(wù)場(chǎng)景工程師小丁下班回到家中,需要遠(yuǎn)程連接公司機(jī)房里的Linux服務(wù)器進(jìn)行管理和操作,這個(gè)時(shí)候就需要使用終端模擬軟件(SecureCRT等)來(lái)完成

任務(wù)準(zhǔn)備全班學(xué)生以4人左右為一組,各組選出組長(zhǎng)。請(qǐng)組長(zhǎng)組員查找相關(guān)資料,并進(jìn)行討論和匯總問(wèn)題1:Linux遠(yuǎn)程終端連接軟件有哪些問(wèn)題2:SELinux有什么作用必備知識(shí)技能:一、SSH服務(wù)

SSH簡(jiǎn)介SSH協(xié)議(SecureShell,安全外殼)是一種需要進(jìn)行加密和認(rèn)證的,用于遠(yuǎn)程訪問(wèn)及文件傳輸?shù)木W(wǎng)絡(luò)安全協(xié)議。SSH功能類似于Telnet服務(wù),但SSH基于加密和認(rèn)證的特性可以為用戶提供更強(qiáng)大的安全保障機(jī)制,在用戶使用不安全的網(wǎng)絡(luò)環(huán)境登錄設(shè)備時(shí),SSH能夠有效保護(hù)設(shè)備不受IP地址欺詐、明文密碼截取等攻擊。目前存在SSHv1和SSHv2兩個(gè)版本,二者互不兼容。相比SSHv1,SSHv2能夠提供更高的性能和安全性

SSH基本結(jié)構(gòu)SSH協(xié)議基于客戶端/服務(wù)器結(jié)構(gòu),客戶端可以使用SSH協(xié)議登錄到服務(wù)器,進(jìn)行遠(yuǎn)程訪問(wèn)或文件傳輸?shù)炔僮?/p>

SSH基本交互流程SSH客戶端和SSH服務(wù)器交互流程可以分為以下七個(gè)階段:建立連接、版本號(hào)協(xié)商、密鑰交換與算法協(xié)商、用戶認(rèn)證、會(huì)話請(qǐng)求、會(huì)話交互和會(huì)話關(guān)閉必備知識(shí)技能:一、SSH服務(wù)3.SSH基本交互流程

建立連接階段a.服務(wù)器端監(jiān)聽(tīng)TCP22號(hào)端口,等待客戶端連接b.客戶端向服務(wù)器22號(hào)端口發(fā)起TCP連接請(qǐng)求,與服務(wù)器建立TCP連接版本號(hào)協(xié)商階段a.服務(wù)器端向客戶端發(fā)送版本協(xié)商報(bào)文b.客戶端接收并處理該報(bào)文后,回復(fù)服務(wù)端決定采用的協(xié)議版本號(hào)c.服務(wù)器端處理客戶端回復(fù)的信息,確認(rèn)協(xié)商版本成功與否密鑰交換與算法協(xié)商階段若版本號(hào)協(xié)商成功,進(jìn)入密鑰交換與算法協(xié)商a.服務(wù)器端與客戶端互相向?qū)Χ税l(fā)送算法協(xié)商報(bào)文,根據(jù)本端支持的算法來(lái)確定最終使用的算法b.服務(wù)器端與客戶端利用密鑰交換算法、主機(jī)密鑰等相關(guān)信息,生成會(huì)話密鑰與會(huì)話ID,利用它們進(jìn)行后續(xù)的用戶認(rèn)證以及數(shù)據(jù)傳輸?shù)募咏饷鼙貍渲R(shí)技能:一、SSH服務(wù)用戶認(rèn)證階段

加密通道建立起來(lái)之后,進(jìn)入用戶認(rèn)證階段a.客戶端向服務(wù)器端發(fā)送認(rèn)證請(qǐng)求b.服務(wù)器端對(duì)客戶端進(jìn)行認(rèn)證。若認(rèn)證成功,則進(jìn)入下一階段;若認(rèn)證失敗次數(shù)達(dá)到上限,則服務(wù)器端關(guān)閉連接會(huì)話請(qǐng)求階段

a.認(rèn)證成功后,客戶端向服務(wù)器端發(fā)送會(huì)話請(qǐng)求b.服務(wù)器等待并處理客戶端的會(huì)話請(qǐng)求,請(qǐng)求被處理成功之后,SSH進(jìn)入會(huì)話交互階段會(huì)話交互階段

會(huì)話請(qǐng)求成功后,進(jìn)入會(huì)話交互階段,允許加密數(shù)據(jù)雙向傳送與處理a.客戶端將需要執(zhí)行的命令發(fā)送給服務(wù)器b.服務(wù)器接收到命令后進(jìn)行解密、解析并處理c.服務(wù)器將處理結(jié)果加密后發(fā)給客戶端d.客戶端收到服務(wù)器消息后進(jìn)行解密與處理會(huì)話關(guān)閉階段

服務(wù)器和客戶端斷開(kāi)連接并關(guān)閉會(huì)話必備知識(shí)技能:二、常用的SSH連接工具SecureCRT:安全遠(yuǎn)程連接工具SecureCRT,一款用于連接運(yùn)行包括Windows、UNIX和VMS的遠(yuǎn)程系統(tǒng)的理想工具,通過(guò)使用內(nèi)含的VCP命令行程序可以進(jìn)行加密文件的傳輸。SecureCRT將SSH(SecureShell)的安全登錄、數(shù)據(jù)傳送性能和Windows終端仿真提供的可靠性、可用性和可配置性結(jié)合在一起Xshell:強(qiáng)大的終端模擬軟件Xshell,一個(gè)強(qiáng)大的安全終端模擬軟件,它支持SSH1,SSH2,以及MicrosoftWindows平臺(tái)的TELNET協(xié)議。Xshell通過(guò)Internet到遠(yuǎn)程主機(jī)的安全連接以及它創(chuàng)新性的設(shè)計(jì)和特色幫助用戶在復(fù)雜的網(wǎng)絡(luò)環(huán)境中享受他們的工作。Xshell可以在Windows界面下用來(lái)訪問(wèn)遠(yuǎn)端不同系統(tǒng)下的服務(wù)器,從而比較好地達(dá)到遠(yuǎn)程控制終端的目的。除此之外,其還有豐富的外觀配色方案以及樣式選擇必備知識(shí)技能:二、常用的SSH連接工具

01Termius:Cross-PlatformSSHToolTermius,一款支持跨平臺(tái)多終端的SSH工具,適用于Windows、MacOS、Linux、iPhone、iPad、Android等多個(gè)平臺(tái),并支持全平臺(tái)賬號(hào)數(shù)據(jù)的同步。用戶可以選擇免費(fèi)版或付費(fèi)版,免費(fèi)版功能相對(duì)有限但足夠滿足基本需求。有些時(shí)候可以通過(guò)GitHub教育優(yōu)惠,可以免費(fèi)享受到付費(fèi)版功能。Termius提供了便捷的SSH連接管理和操作,為用戶提供了高效的遠(yuǎn)程訪問(wèn)解決方案。無(wú)論是個(gè)人用戶還是專業(yè)人士,Termius都是一個(gè)實(shí)用且靈活的工具,幫助用戶輕松管理和連接到遠(yuǎn)程服務(wù)器

02FinalShell:一體化服務(wù)器管理軟件FinalShell,國(guó)產(chǎn)的一體化的服務(wù)器和網(wǎng)絡(luò)管理軟件,不僅作為SSH客戶端,還承擔(dān)著開(kāi)發(fā)和運(yùn)維工具的重要功能,完美滿足用戶在開(kāi)發(fā)和運(yùn)維方面的需求。其特色功能包括云端同步、本地化命令輸入框、支持自動(dòng)補(bǔ)全、命令歷史記錄、自定義命令參數(shù)等。FinalShell提供跨Windows、MacOS、Linux等多終端平臺(tái)的支持,并提供免費(fèi)版和高級(jí)版兩個(gè)版本,高級(jí)版增加了一些監(jiān)控功能,直觀地查看和運(yùn)維服務(wù)器提供幫助參考必備知識(shí)技能:二、常用的SSH連接工具

MobaXterm:RemoteWorkToolsetMobaXterm,一款功能豐富的Win客戶端的SSH工具組合,專為程序員、網(wǎng)站管理員、IT管理員以及所有需要以更簡(jiǎn)單方式處理遠(yuǎn)程工作的用戶量身定制。用戶可以方便地獲得各種重要的遠(yuǎn)程網(wǎng)絡(luò)工具(如SSH、X11、RDP、VNC、FTP、MOSH等)和Unix命令(如bash、ls、cat、sed、grep、awk、rsync等),全部集成在一個(gè)開(kāi)箱即用的可移植exe文件中TabbySSH:Multi-TabSSHClientTabbySSH是一款跨平臺(tái)的SSH客戶端應(yīng)用程序。它提供了直觀的用戶界面和便捷的功能,使用戶可以輕松連接和管理遠(yuǎn)程服務(wù)器。TabbySSH支持多標(biāo)簽頁(yè),用戶可以同時(shí)管理多個(gè)SSH會(huì)話,提高工作效率。該軟件還具有分屏功能,方便用戶在同一窗口內(nèi)同時(shí)查看和操作多個(gè)會(huì)話Xterminal:強(qiáng)大開(kāi)發(fā)工具Xterminal,一款國(guó)產(chǎn)的強(qiáng)大開(kāi)發(fā)工具,不僅僅是SSH客戶端和終端工具,還集成了筆記、云端倉(cāng)庫(kù)、監(jiān)控等功能。該工具具有快捷操作和命令提示等特性,為用戶提供便捷的操作體驗(yàn)。Xterminal支持Windows、macOS和Linux等多個(gè)平臺(tái),使用戶能夠在不同操作系統(tǒng)上靈活地進(jìn)行開(kāi)發(fā)工作,并提供了全面的開(kāi)發(fā)環(huán)境和工具,滿足各種開(kāi)發(fā)需求SSH工具很多,本書(shū)使用的是SecureCRT必備知識(shí)技能:三、SELinux介紹

SELinux簡(jiǎn)介安全增強(qiáng)型Linux(Security-EnhancedLinux)簡(jiǎn)稱SELinux,它是一個(gè)Linux內(nèi)核模塊,也是Linux的一個(gè)安全子系統(tǒng)。SELinux主要由美國(guó)國(guó)家安全局開(kāi)發(fā)。2.6及以上版本的Linux內(nèi)核都已經(jīng)集成了SELinux模塊必備知識(shí)技能:三、SELinux介紹

2.SELinux基本概念主體(Subject)可以完全等同于進(jìn)程對(duì)象(Object)被主體訪問(wèn)的資源??梢允俏募?、目錄、端口、設(shè)備等。以下均把文件或者目錄視為對(duì)象政策和規(guī)則(Policy&Rule)系統(tǒng)中通常有大量的文件和進(jìn)程,為了節(jié)省時(shí)間和開(kāi)銷,通常我們只是選擇性地對(duì)某些進(jìn)程進(jìn)行管制。而哪些進(jìn)程需要管制、要怎么管制是由政策決定的。一套政策里面有多個(gè)規(guī)則。部分規(guī)則可以按照需求啟用或禁用(以下把該類型的規(guī)則稱為布爾型規(guī)則)規(guī)則是模塊化、可擴(kuò)展的。在安裝新的應(yīng)用程序時(shí),應(yīng)用程序可通過(guò)添加新的模塊來(lái)添加規(guī)則。用戶也可以手動(dòng)地增減規(guī)則在CentOS7系統(tǒng)中,有三套政策,分別是a.targeted:對(duì)大部分網(wǎng)絡(luò)服務(wù)進(jìn)程進(jìn)行管制。這是系統(tǒng)默認(rèn)使用的政策b.minimum:以targeted為基礎(chǔ),僅對(duì)選定的網(wǎng)絡(luò)服務(wù)進(jìn)程進(jìn)行管制。一般不用c.mls:多級(jí)安全保護(hù)。對(duì)所有的進(jìn)程進(jìn)行管制。這是最嚴(yán)格的政策,配置難度非常大。一般不用,除非對(duì)安全性有極高的要求政策可以在/etc/selinux/config中設(shè)定必備知識(shí)技能:三、SELinux介紹

安全上下文(SecurityContext)安全上下文是SELinux的核心。安全上下文我自己把它分為“進(jìn)程安全上下”和“文件安全上下文”。一個(gè)“進(jìn)程安全上下文”一般對(duì)應(yīng)多個(gè)“文件安全上下文”。只有兩者的安全上下文對(duì)應(yīng)上了,進(jìn)程才能訪問(wèn)文件。它們的對(duì)應(yīng)關(guān)系由政策中的規(guī)則決定。文件安全上下文由文件創(chuàng)建的位置和創(chuàng)建文件的進(jìn)程所決定。而且系統(tǒng)有一套默認(rèn)值,用戶也可以對(duì)默認(rèn)值進(jìn)行設(shè)定。需要注意的是,單純的移動(dòng)文件操作并不會(huì)改變文件的安全上下文必備知識(shí)技能:三、SELinux介紹

SELinux的工作模式SELinux有三種工作模式,分別是a.enforcing:強(qiáng)制模式。違反SELinux規(guī)則的行為將被阻止并記錄到日志中b.permissive:寬容模式。違反SELinux規(guī)則的行為只會(huì)記錄到日志中。一般為調(diào)試用c.disabled:關(guān)閉SELinuxSELinux工作模式可以在/etc/selinux/config中設(shè)定如果想從disabled切換到enforcing或者permissive的話,需要重啟系統(tǒng)。反過(guò)來(lái)也一樣。enforcing和permissive模式可以通過(guò)setenforce1或者setenforce0命令臨時(shí)切換需要注意的是,如果系統(tǒng)已經(jīng)在關(guān)閉SELinux的狀態(tài)下運(yùn)行了一段時(shí)間,在打開(kāi)SELinux之后的第一次重啟速度可能會(huì)比較慢,因?yàn)橄到y(tǒng)必須為磁盤中的文件創(chuàng)建安全上下文。另外,SELinux日志的記錄需要借助auditd.service這個(gè)服務(wù)任務(wù)實(shí)施:一、SecureCRT遠(yuǎn)程連接Linux

步驟1啟動(dòng)主機(jī)名為master的虛擬機(jī),打開(kāi)SecureCRT軟件,選擇點(diǎn)擊菜單“文件”-〉“快速連接”命令,打開(kāi)“快速連接”對(duì)話框,如圖1-2-1所示,在“主機(jī)名”文本框中填寫master的IP地址,在“用戶名”文本框中填入“root”,單擊“連接”按鈕,彈出“輸入安全外殼密碼”對(duì)話框

步驟2在“輸入安全外殼密碼”對(duì)話框中輸入用戶名“root”及其密碼,選中“保存密碼”復(fù)選框,如圖1-2-2所示,單擊“確定”按鈕

步驟3:成功連接上master,如圖1-2-3所示單擊此處添加項(xiàng)正文任務(wù)實(shí)施:二、關(guān)閉SELinux

步驟1:暫時(shí)關(guān)閉SELinux。在上面連接上的SecureCRT界面或者Linux終端執(zhí)行以下命令setenforce0步驟2永久關(guān)閉SELinux。編輯SELinux的config文件,在SecureCRT界面或者Linux終端輸入命令vim/etc/selinux/config禁用SELINUX配置編輯config文件,找到“#SELINUX=enforcing“開(kāi)頭的行,刪掉改行開(kāi)頭的“#”字符,修改配置項(xiàng):SELINUX=disabled,如圖1-2-4。未修改前默認(rèn)的是“SELINUX=enforcing“項(xiàng)目總結(jié)07項(xiàng)目總結(jié)Linux網(wǎng)絡(luò)配置演示項(xiàng)目本項(xiàng)目主要演示了Linux虛擬網(wǎng)絡(luò)配置、有線網(wǎng)絡(luò)配置、遠(yuǎn)程連接等操作。項(xiàng)目、任務(wù)里面穿插了相關(guān)的理論知識(shí)項(xiàng)目考核08填空題

虛擬機(jī)網(wǎng)絡(luò)模式1.虛擬機(jī)有、、三種網(wǎng)絡(luò)模式

SElinux配置文件參數(shù)SELINUX可能的取值有、單擊此處添加項(xiàng)正文判斷題

不建議使用SSH軟件遠(yuǎn)程連接Linux。()

SSH是安全的。()

關(guān)閉SELinux會(huì)降低系統(tǒng)的安全性。()選擇題單擊此處添加正文

常見(jiàn)的SSH遠(yuǎn)程連接軟件有()(多選題)

A.SecureCRTB.XshellC.FinalShellD.MobaXterm

常用的虛擬機(jī)軟件有?()(多選題)

A.VMwareWorkstationB.VirtualBoxTHEEND謝謝項(xiàng)目二Hadoop集群搭建CONTENTS目錄01

項(xiàng)目導(dǎo)讀02

知識(shí)目標(biāo)03

技能目標(biāo)04

素質(zhì)(思政)目標(biāo)05

任務(wù)一Hadoop本地模式搭建CONTENTS目錄06

任務(wù)二Hadoop偽分布式集群搭建07

任務(wù)三Hadoop完全分布式集群搭建08

項(xiàng)目總結(jié)09

項(xiàng)目考核項(xiàng)目導(dǎo)讀01項(xiàng)目導(dǎo)讀

Hadoop集群搭建指南工欲善其事,必先利其器,要想使用Hadoop做大數(shù)據(jù)分析,首先得掌握Hadoop大數(shù)據(jù)集群平臺(tái)的搭建。Hadoop運(yùn)行模式主要包括三種:本地模式、偽分布式模式以及完全分布式模式,本項(xiàng)目帶領(lǐng)大家從零開(kāi)始搭建Hadoop完全分布式集群知識(shí)目標(biāo)02知識(shí)目標(biāo)

了解Hadoop生態(tài)體系

熟悉Hadoop應(yīng)用場(chǎng)景

熟悉XML文件

熟悉shell腳本

熟悉hosts文件知識(shí)目標(biāo)熟悉Linux環(huán)境變量了解密鑰公鑰熟悉Hadoop的三種運(yùn)行模式熟悉Hadoop日志技能目標(biāo)03技能目標(biāo)

掌握J(rèn)DK安裝

掌握SSH免密登錄

掌握Hadoop本地模式配置

掌握Hadoop偽分布式模式配置

掌握Hadoop完全分布式集群搭建素質(zhì)(思政)目標(biāo)04素質(zhì)(思政)目標(biāo)

培養(yǎng)嚴(yán)謹(jǐn)細(xì)致的工匠精神

厚植技術(shù)報(bào)國(guó)夢(mèng)

培養(yǎng)不驕不躁的工匠心態(tài)

培養(yǎng)保密意識(shí)

培養(yǎng)網(wǎng)絡(luò)安全意識(shí)任務(wù)一Hadoop本地模式搭建05任務(wù)場(chǎng)景

本地運(yùn)行模式下的Hadoop開(kāi)發(fā)與調(diào)試在無(wú)需部署完整Hadoop集群,僅需進(jìn)行開(kāi)發(fā)與調(diào)試的場(chǎng)景下,可采用本地運(yùn)行模式。此模式下,Hadoop將在單一Java虛擬機(jī)(JVM)進(jìn)程中運(yùn)行,通過(guò)本地存儲(chǔ)系統(tǒng)與內(nèi)存資源模擬分布式文件系統(tǒng)(HDFS)及MapReduce并行計(jì)算過(guò)程任務(wù)準(zhǔn)備單擊此處添加正文

學(xué)生技術(shù)研討小組任務(wù)全體學(xué)生以4至5人為單位組建研討小組,每組推選組長(zhǎng)一名。組長(zhǎng)需組織組員完成以下工作:1.查閱相關(guān)技術(shù)文獻(xiàn)資料2.主持組內(nèi)技術(shù)討論3.匯總形成技術(shù)結(jié)論問(wèn)題1:XML文件具備哪些技術(shù)特征單擊此處添加項(xiàng)正文問(wèn)題2:請(qǐng)闡述代碼風(fēng)格的核心要義及其在軟件開(kāi)發(fā)實(shí)踐中的意義單擊此處添加項(xiàng)正文問(wèn)題3:請(qǐng)描述Java可執(zhí)行文件的具體執(zhí)行流程與方法單擊此處添加項(xiàng)正文必備知識(shí)技能Hadoop生態(tài)體系

Hadoop概述Hadoop是由Apache軟件基金會(huì)開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),旨在解決海量數(shù)據(jù)存儲(chǔ)與分析計(jì)算問(wèn)題。廣義而言,Hadoop常指代更廣泛的概念——Hadoop生態(tài)系統(tǒng)Hadoop生態(tài)體系:2.Hadoop發(fā)展歷史Hadoop起源與發(fā)展Hadoop最初源于Lucene項(xiàng)目,由DougCutting主導(dǎo)開(kāi)發(fā)的ApacheNutch項(xiàng)目,始于2002年,是ApacheLucene的子項(xiàng)目之一。該項(xiàng)目采用Java語(yǔ)言編寫,旨在實(shí)現(xiàn)與Google類似的全文搜索功能,提供包含完整查詢引擎和搜索引擎的全文檢索引擎架構(gòu)。2001年底,Lucene成為Apache基金會(huì)子項(xiàng)目。面對(duì)海量數(shù)據(jù)處理挑戰(zhàn),Lucene借鑒Google的解決方案,衍生出微型版Nutch框架Nutch性能提升的秘密2003至2004年期間,Google公開(kāi)了部分GFS(Google文件系統(tǒng))與MapReduce的核心設(shè)計(jì)思想?;诖?,DougCutting團(tuán)隊(duì)耗費(fèi)兩年業(yè)余時(shí)間實(shí)現(xiàn)了分布式文件系統(tǒng)(DFS)和MapReduce機(jī)制,顯著提升Nutch性能Hadoop的誕生與發(fā)展2005年,Hadoop作為L(zhǎng)ucene子項(xiàng)目Nutch的組成部分引入Apache基金會(huì)。2006年3月,MapReduce和Nutch分布式文件系統(tǒng)(NDFS)被整合至獨(dú)立項(xiàng)目Hadoop。其名稱源自DougCutting兒子的玩具象,標(biāo)志Hadoop正式誕生并快速發(fā)展Hadoop三大發(fā)行版本中Apache版本保持最原始基礎(chǔ)架構(gòu),適用于入門學(xué)習(xí);Cloudera版本在大型互聯(lián)網(wǎng)企業(yè)應(yīng)用廣泛;Hortonworks版本則以完善文檔著稱Hadoop生態(tài)體系:3.Hadoop核心優(yōu)勢(shì)

高可靠性:預(yù)設(shè)計(jì)算單元與存儲(chǔ)節(jié)點(diǎn)可能失效,通過(guò)維護(hù)多副本數(shù)據(jù)機(jī)制實(shí)現(xiàn)故障節(jié)點(diǎn)的任務(wù)重分配

高擴(kuò)展性:支持在集群節(jié)點(diǎn)間分配任務(wù)數(shù)據(jù),可便捷擴(kuò)展至數(shù)千節(jié)點(diǎn)規(guī)模

高效性:基于MapReduce并行計(jì)算模型實(shí)現(xiàn)任務(wù)高速處理

高容錯(cuò)性:自動(dòng)維護(hù)數(shù)據(jù)多副本存儲(chǔ),并對(duì)失敗任務(wù)執(zhí)行重新分配Hadoop生態(tài)體系:4.Hadoop生態(tài)體系Hadoop生態(tài)體系Hadoop體系作為計(jì)算框架,支持通過(guò)多機(jī)構(gòu)構(gòu)成的集群,采用簡(jiǎn)易編程模型實(shí)現(xiàn)大數(shù)據(jù)集的分布式處理。其具備良好擴(kuò)展性,可從單服務(wù)器無(wú)縫擴(kuò)展至數(shù)千服務(wù)器集群,各節(jié)點(diǎn)獨(dú)立執(zhí)行本地計(jì)算與存儲(chǔ)。除依賴硬件高可用性外,軟件庫(kù)本身提供數(shù)據(jù)保護(hù)機(jī)制,并在應(yīng)用層實(shí)現(xiàn)故障處理,從而在集群層面保障高可用服務(wù)HDFSHadoop分布式文件系統(tǒng)(HDFS)是生態(tài)體系的數(shù)據(jù)存儲(chǔ)管理基礎(chǔ),具備高度容錯(cuò)能力,可檢測(cè)并響應(yīng)硬件故障YARNApacheHadoopYARN(YetAnotherResourceNegotiator)作為新型資源管理器,是通用資源管理系統(tǒng),為上層應(yīng)用提供統(tǒng)一的資源管理與調(diào)度服務(wù),顯著提升集群利用率、資源統(tǒng)一管理及數(shù)據(jù)共享能力MapReduce分布式計(jì)算框架MapReduce采用特定計(jì)算模型處理海量數(shù)據(jù)。Map階段對(duì)數(shù)據(jù)集獨(dú)立元素執(zhí)行指定操作,生成鍵-值對(duì)形式的中間結(jié)果;Reduce階段對(duì)相同鍵值的中間結(jié)果進(jìn)行規(guī)約,輸出最終結(jié)果Hive基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,由Facebook開(kāi)源,最初用于海量結(jié)構(gòu)化日志數(shù)據(jù)統(tǒng)計(jì)分析。其類SQL查詢語(yǔ)言(HQL)可將查詢指令轉(zhuǎn)化為MapReduce任務(wù)在Hadoop集群執(zhí)行Hadoop生態(tài)體系:4.Hadoop生態(tài)體系

HBaseHBase是針對(duì)結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能分布式列式動(dòng)態(tài)模式數(shù)據(jù)庫(kù)。區(qū)別于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù),其采用BigTable數(shù)據(jù)模型,優(yōu)化稀疏排序映射表(鍵/值存儲(chǔ))。數(shù)據(jù)鍵由行關(guān)鍵字、列關(guān)鍵字及時(shí)間戳構(gòu)成,支持大規(guī)模數(shù)據(jù)的實(shí)時(shí)隨機(jī)讀寫訪問(wèn),并可通過(guò)MapReduce進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)存儲(chǔ)與并行計(jì)算的深度整合

ZooKeeper分布式協(xié)作服務(wù),解決分布式環(huán)境下的統(tǒng)一命名、狀態(tài)同步、集群管理及配置同步等數(shù)據(jù)協(xié)同問(wèn)題

Sqoop結(jié)構(gòu)化數(shù)據(jù)同步工具(SQL-to-Hadoop),主要實(shí)現(xiàn)傳統(tǒng)數(shù)據(jù)庫(kù)與Hadoop間的數(shù)據(jù)傳輸。其導(dǎo)入導(dǎo)出過(guò)程本質(zhì)為MapReduce程序,充分應(yīng)用了MapReduce的并行處理與容錯(cuò)特性

Pig基于Hadoop的數(shù)據(jù)流處理系統(tǒng),通過(guò)專用數(shù)據(jù)流語(yǔ)言PigLatin將腳本轉(zhuǎn)化為MapReduce任務(wù),適用于離線分析場(chǎng)景

Mahout機(jī)器學(xué)習(xí)算法庫(kù),旨在創(chuàng)建可擴(kuò)展的經(jīng)典機(jī)器學(xué)習(xí)算法實(shí)現(xiàn),助力開(kāi)發(fā)者高效構(gòu)建智能應(yīng)用。涵蓋聚類、分類、推薦引擎(協(xié)同過(guò)濾)及頻繁項(xiàng)集挖掘等數(shù)據(jù)挖掘方法,并提供數(shù)據(jù)輸入/輸出工具及與數(shù)據(jù)庫(kù)、MongoDB、Cassandra等存儲(chǔ)系統(tǒng)的集成架構(gòu)

Flume分布式高可靠日志收集系統(tǒng)(由Cloudera開(kāi)源),具備高容錯(cuò)性、易定制及可擴(kuò)展特性。其將數(shù)據(jù)產(chǎn)生、傳輸、處理至目標(biāo)路徑的過(guò)程抽象為數(shù)據(jù)流模型,支持定制化數(shù)據(jù)發(fā)送方以適配多協(xié)議數(shù)據(jù)采集Hadoop應(yīng)用場(chǎng)景01實(shí)踐案例表明2009年Facebook約30%非編程人員使用HiveQL(HQL)進(jìn)行數(shù)據(jù)分析;淘寶搜索平臺(tái)采用Hive實(shí)現(xiàn)自定義篩選功能;Pig支撐高級(jí)數(shù)據(jù)處理,如Twitter與LinkedIn的社交關(guān)系挖掘、Amazon式協(xié)同過(guò)濾推薦(淘寶商品推薦系統(tǒng)同理應(yīng)用);Yahoo約40%的Hadoop作業(yè)通過(guò)Pig運(yùn)行,涵蓋垃圾郵件識(shí)別過(guò)濾及用戶特征建模02知名科技專欄作家DerrickHarris基于多年Hadoop技術(shù)追蹤,總結(jié)十大典型應(yīng)用場(chǎng)景單擊此處添加項(xiàng)正文Hadoop應(yīng)用場(chǎng)景在線旅游全球80%在線旅游網(wǎng)站采用ClouderaHadoop發(fā)行版,典型案例包括Expedia等平臺(tái)移動(dòng)數(shù)據(jù)服務(wù)美國(guó)70%智能手機(jī)數(shù)據(jù)服務(wù)依托Hadoop實(shí)現(xiàn),涵蓋數(shù)據(jù)存儲(chǔ)及運(yùn)營(yíng)商數(shù)據(jù)處理環(huán)節(jié)電子商務(wù)eBay為代表性實(shí)踐者,國(guó)內(nèi)電商企業(yè)亦具備深厚Hadoop技術(shù)儲(chǔ)備能源勘探全美第二大石油公司Chevron利用Hadoop處理海洋地震數(shù)據(jù),輔助油田定位勘探能源節(jié)約能源服務(wù)商Opower通過(guò)Hadoop分析用戶電費(fèi)數(shù)據(jù),提供節(jié)能建議及費(fèi)用預(yù)測(cè)基礎(chǔ)設(shè)施管理支持從服務(wù)器、交換機(jī)等設(shè)備采集并分析運(yùn)行數(shù)據(jù),實(shí)現(xiàn)基礎(chǔ)架構(gòu)智能化管理Hadoop應(yīng)用場(chǎng)景

衛(wèi)星圖像處理初創(chuàng)企業(yè)SkyboxImaging應(yīng)用Hadoop存儲(chǔ)處理衛(wèi)星高清圖像,探測(cè)地理變遷信息金融反欺詐金融服務(wù)及政府機(jī)構(gòu)通過(guò)存儲(chǔ)全量交易數(shù)據(jù)(含非結(jié)構(gòu)化數(shù)據(jù)),識(shí)別異?;顒?dòng)以預(yù)防欺詐行為IT安全防護(hù)處理機(jī)器生成數(shù)據(jù)以識(shí)別惡意軟件攻擊及網(wǎng)絡(luò)入侵行為,增強(qiáng)企業(yè)安全防護(hù)能力醫(yī)療健康IBMWatson等醫(yī)療系統(tǒng)以Hadoop集群為基礎(chǔ),結(jié)合語(yǔ)義分析技術(shù)輔助醫(yī)護(hù)人員診斷決策Hadoop運(yùn)行模式本地模式(獨(dú)立模式)無(wú)需啟用守護(hù)進(jìn)程,所有程序于單一JVM內(nèi)執(zhí)行。數(shù)據(jù)存儲(chǔ)于本地Linux文件系統(tǒng),適用于學(xué)習(xí)及MapReduce程序調(diào)試偽分布式模式守護(hù)進(jìn)程運(yùn)行于單臺(tái)物理機(jī),模擬小規(guī)模集群環(huán)境。數(shù)據(jù)存儲(chǔ)于HDFS文件系統(tǒng)完全分布式模式守護(hù)進(jìn)程部署于多節(jié)點(diǎn)集群(企業(yè)級(jí)部署標(biāo)準(zhǔn))。數(shù)據(jù)存儲(chǔ)于HDFS文件系統(tǒng),由多臺(tái)服務(wù)器協(xié)同工作任務(wù)實(shí)施Linux系統(tǒng)配置

步驟1:修改主機(jī)名。切換至root用戶,在master節(jié)點(diǎn)執(zhí)行以下命令

hostnamectlset-hostnamemaster

步驟2:配置hosts文件,在三臺(tái)虛擬機(jī)中分別編輯hosts文件,命令為

vim/etc/hostsLinux系統(tǒng)配置

hosts文件內(nèi)容為

0master

注意:0為master的IP地址JDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

LinuxJDK安裝配置指南Linux上一般會(huì)預(yù)裝OpenJDK,系統(tǒng)預(yù)裝的OpenJDK需先行卸載,隨后安裝指定版本JDK并配置環(huán)境變量步驟1:卸載系統(tǒng)自帶的OpenJDK以及相關(guān)的Java文件。在命令窗口鍵入java-version可以看到系統(tǒng)自帶的OpenJDK版本信息,如圖2-1-1所示步驟2:查看OpenJDK自帶Java文件。在終端命令窗口鍵入rpm-qa|grepjavaJDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

可以看到系統(tǒng)自帶的OpenJDKJava相關(guān)文件,如圖2-1-2上圖文件中,文件名下面以“java-”開(kāi)頭的4個(gè)文件需要?jiǎng)h除,分別是Java1.8Update161java-1.8.0-openjdk-headless-61-2.b14.el7.x86_64java-1.7.0-openjdk-71-.el7.x86_64java-1.8.0-openjdk-61-2.b14.el7.x86_64JavaOpenJDK1.8.0Update102java-1.8.0-openjdk-headless-02-4.b14.el7.x86_64JDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

JavaOpenJDKUpdatesjava-1.7.0-openjdk-headless-71-.el7.x86_64java-1.7.0-openjdk-headless-11-.el7.x86_64下面這3個(gè)noarch文件可以不用刪除python-javapackages-3.4.1-11.el7.noarchtzdata-java-2016g-2.el7.noarchjavapackages-tools-3.4.1-11.el7.noarch步驟3:刪除OpenJDK自帶Java文件。在終端命令窗口鍵入JDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

卸載OpenJDKrpm-e--nodepsjava-1.7.0-openjdk-11-.el7.x86_64UninstallOpenJDK1.8rpm-e--nodepsjava-1.8.0-openjdk-02-4.b14.el7.x86_64卸載OpenJDK1.8rpm-e--nodepsjava-1.8.0-openjdk-headless-02-4.b14.el7.x86_64卸載OpenJDKrpm-e--nodepsjava-1.7.0-openjdk-headless-11-.el7.x86_64步驟4:檢查是否已經(jīng)刪除成功,在命令窗口鍵入java-versionJDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

執(zhí)行結(jié)果如圖2-1-3,代表Linux系統(tǒng)自帶的OpenJDK已經(jīng)刪除成功了步驟5拷貝JDK,把事先下載好的JDK安裝包用拖拽的方式,拷貝進(jìn)/usr/local/src目錄下(安裝的JDK版本和IDEA里面的配置一樣,因?yàn)镮DEA自帶JDK11)步驟6:解壓JDK,把事先下載好的JDK安裝包解壓縮成目錄,在命令窗口鍵入tar-zxvfjdk-8u144-linux-x64.tar.gz此時(shí),usr/local/src目錄下會(huì)有一個(gè)名為“jdk-8u144-linux-x64”的目錄步驟7:刪除JDK壓縮包,在命令窗口鍵入JDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

rm-rfjdk-8u144-linux-x64.tar.gz步驟8:配置JDK環(huán)境變量,在命令窗口鍵入vim/etc/profile粘貼內(nèi)容至文本末尾進(jìn)入文本編輯狀態(tài)下,光標(biāo)移動(dòng)到文件最后一行,鍵盤按下字母“i”,進(jìn)入插入狀態(tài),在文本的最后一行粘貼如下內(nèi)容#javaenvironmentexportJAVA_HOME=/usr/local/src/jdk1.8.0_221JDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)

JavaEnvironmentConfigurationexportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexportPATH=$PATH:${JAVA_HOME}/binHOME,CentOS7是${JAVA_HOME}步驟9:讓剛剛設(shè)置的環(huán)境變量生效,在命令窗口鍵入source/etc/profile步驟10:檢查Java是否配置成功,在命令窗口鍵入java-versionJDK環(huán)境部署(三臺(tái)虛擬機(jī)均需執(zhí)行)命令執(zhí)行結(jié)果如圖2-1-4,即為Java配置成功安裝Hadoop

步驟1把提前下載好的Hadoop安裝包“hadoop-2.7.3.tar.gz”拷貝到/usr/local/src目錄下步驟2:解壓安裝包。在命令窗口鍵入tar-zxvfhadoop-2.7.3.tar.gz步驟3:配置環(huán)境變量,編輯配置文件profile,在命令窗口鍵入vim/etc/profile在最后添加以下代碼安裝Hadoop#hadoopenvironmentexportHADOOP_HOME=/usr/local/src/hadoop-2.7.3exportPATH=$PATH:${HADOOP_HOME}/binexportPATH=$PATH:${HADOOP_HOME}/sbin步驟4:讓修改后的profile文件立即生效安裝Hadoop

source/etc/profile

步驟5:測(cè)試是否安裝成功,在命令窗口鍵入

hadoopversion

命令執(zhí)行結(jié)果如圖2-1-5,即安裝成功本地模式核心文件配置

步驟1在Hadoop主目錄下,配置hadoop-env.sh文件,修改JAVA_HOME值為:exportJAVA_HOME=/usr/local/src/jdk1.8.0_221本地模式運(yùn)行程序

01步驟1:在Hadoop主目錄下,創(chuàng)建一個(gè)input目錄,在命令窗口鍵入

02mkdirinput

03步驟2:將Hadoop的xml配置文件復(fù)制到input,在命令窗口鍵入

04cpetc/hadoop/*.xmlinput

05步驟3:執(zhí)行share目錄下的MapReduce程序,在命令窗口鍵入本地模式運(yùn)行程序

01HadoopGrepExamplebin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jargrepinputoutput'dfs[a-z]+

02步驟4:查看輸出結(jié)果,在命令窗口鍵入單擊此處添加項(xiàng)正文

03catoutput/*單擊此處添加項(xiàng)正文任務(wù)二Hadoop偽分布式集群搭建06任務(wù)場(chǎng)景偽分布式Hadoop開(kāi)發(fā)測(cè)試開(kāi)發(fā)人員需在本地設(shè)備進(jìn)行開(kāi)發(fā)與測(cè)試工作。在偽分布式模式下,Hadoop運(yùn)行于單臺(tái)設(shè)備,各組件以獨(dú)立進(jìn)程形式運(yùn)行,可模擬真實(shí)分布式環(huán)境任務(wù)準(zhǔn)備學(xué)生小組任務(wù)分配

全體學(xué)生以約4人為單位分組,每組推選組長(zhǎng)。組長(zhǎng)需組織組員完成以下工作:1.檢索相關(guān)技術(shù)資料;2.組織研討與觀點(diǎn)匯總問(wèn)題1:闡述對(duì)分布式系統(tǒng)的理解

單擊此處添加項(xiàng)正文問(wèn)題2:論述進(jìn)程相關(guān)概念及其特性

單擊此處添加項(xiàng)正文XML文件介紹

XML數(shù)據(jù)描述與傳輸XML(可擴(kuò)展標(biāo)記語(yǔ)言)是一種標(biāo)記語(yǔ)言,用于描述數(shù)據(jù)的結(jié)構(gòu)和含義。它被設(shè)計(jì)用來(lái)存儲(chǔ)和傳輸數(shù)據(jù),并可以用于創(chuàng)建自定義的標(biāo)記語(yǔ)言。XML提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)存儲(chǔ)和傳輸結(jié)構(gòu)化數(shù)據(jù),通過(guò)其自我描述性和可擴(kuò)展性,XML成為數(shù)據(jù)交換和配置文件的重要格式XML文檔結(jié)構(gòu)解析XML文檔由一系列的元素組成,每個(gè)元素可以包含屬性和文本內(nèi)容。元素可以嵌套在其他元素中,以表示數(shù)據(jù)的層次結(jié)構(gòu)。例如,一個(gè)XML文檔可以用來(lái)描述一個(gè)購(gòu)物車中的商品列表,每個(gè)商品都可以表示為一個(gè)元素,包含商品的名稱、價(jià)格和數(shù)量等信息XML標(biāo)簽與屬性詳解在XML中,標(biāo)簽用于定義元素的名稱,屬性用于提供有關(guān)元素的附加信息。例如,在上面的購(gòu)物車示例中,每個(gè)商品都可以使用一個(gè)名為“product”的標(biāo)簽來(lái)表示,并使用屬性來(lái)指定商品的名稱、價(jià)格和數(shù)量XML文檔可以使用任何文本編輯器創(chuàng)建和編輯,也可以使用各種編程語(yǔ)言和工具進(jìn)行處理和解析XML的用途是存儲(chǔ)數(shù)據(jù),作為系統(tǒng)之間傳輸數(shù)據(jù)的格式,作為項(xiàng)目的配置文件,保存有結(jié)構(gòu)關(guān)系的數(shù)據(jù)XML與HTML的比較XML文檔的標(biāo)記可以隨意擴(kuò)展,HTML的標(biāo)記是預(yù)定義好的;XML區(qū)分大小寫,HTML不區(qū)分大小寫;HTML主要是用來(lái)顯示數(shù)據(jù)的,XML是用來(lái)保存數(shù)據(jù)的;HTML中,空格會(huì)自動(dòng)過(guò)濾,而XML不會(huì);HTML中可以有多個(gè)根節(jié)點(diǎn),在XML里面只有一個(gè)XML基本語(yǔ)法

XML聲明

XML聲明應(yīng)該位于文檔的第一行,指示文檔是XML文檔,并定義版本和編碼

<?xmlversion="1.0"encoding="UTF-8"XML基本語(yǔ)法:2.標(biāo)簽和元素單擊此處添加正文

XML標(biāo)簽是成對(duì)出現(xiàn)的,用于包圍元素內(nèi)容,起始標(biāo)簽和結(jié)束標(biāo)簽應(yīng)該匹配

<note>

<to>bob</to>XML基本語(yǔ)法:2.標(biāo)簽和元素

<heading>warning</heading>單擊此處添加項(xiàng)正文

RemembertheUmbrella<body>Remembertobringanumbrellawithyou!</body>

</note>單擊此處添加項(xiàng)正文XML基本語(yǔ)法

01屬性元素可以擁有屬性,屬性提供了有關(guān)元素的額外信息<notedate="2024-06-01"><to>bob</to></note>

02注釋XML中的注釋以<!--開(kāi)始,以-->結(jié)束<!--Thisisacomment-->

03規(guī)范性XML標(biāo)簽對(duì)大小寫敏感。XML必須正確嵌套。XML文檔必須有一個(gè)根元素

04空元素如果元素為空,可以使用空元素語(yǔ)法<line-break/>

05實(shí)體引用為了表示特殊字符,XML定義了一些實(shí)體引用:lt;表示小于號(hào)<,>表示大于號(hào)>&表示和號(hào)&'表示單引號(hào)',"表示雙引號(hào)"LinuxShell腳本介紹

Shell腳本基礎(chǔ)Shell腳本就是命令解析器,包含一系列命令序列的文本文件。當(dāng)運(yùn)行這個(gè)腳本文件時(shí),文件中包含的命令序列將得到執(zhí)行。如果有一系列經(jīng)常使用的Linux命令,可以把它們存儲(chǔ)在一個(gè)文件中,Shell可以讀取這個(gè)文件并執(zhí)行其中的命令,這樣的文件被稱為腳本文件。比如,現(xiàn)在有個(gè)名為test.sh的文件,其內(nèi)容如下pwdwhoamiid首先,我們通過(guò)執(zhí)行以下命令給test.sh一個(gè)可執(zhí)行權(quán)限chmodu+xtest.shLinuxShell腳本介紹

接下來(lái)我們就可以執(zhí)行命令,輸入。test.sh,結(jié)果如下/root/scriptsrootuid=0(root)gid=0(root)groups=0(root)Shell腳本解析與執(zhí)行shell腳本本質(zhì)是一個(gè)文件,文件里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器解析指令并執(zhí)行,不需要編譯,shell既是應(yīng)用程序又是一種腳本語(yǔ)言使用命令cat/etc/shells查看當(dāng)前系統(tǒng)支持的shell,在master上執(zhí)行結(jié)果為L(zhǎng)inuxShell腳本介紹

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologinLinuxShell腳本介紹

/bin/tcsh

/bin/csh

使用命令echo$SHELL查看當(dāng)前shell,在master上執(zhí)行結(jié)果為

/bin/bash編寫Shell腳本:1.基本規(guī)則01腳本文件命名的后綴必須是“sh”單擊此處添加項(xiàng)正文02Shell腳本Shebang行規(guī)范(2)Shell腳本第一行必須以?Shebang(#!)?開(kāi)頭,后接解釋器的絕對(duì)路徑。正確格式為#!bin/sh或#!bin/bash,通常為/bin/bash。這一行不是注釋而是shell腳本的標(biāo)識(shí),表明這是一個(gè)腳本文件03腳本文件里以#作為語(yǔ)句的注釋單擊此處添加項(xiàng)正文04使用echo輸出內(nèi)容單擊此處添加項(xiàng)正文05使用cat查看文件內(nèi)容單擊此處添加項(xiàng)正文編寫Shell腳本:2.Shell變量Shell變量Shell變量沒(méi)有數(shù)據(jù)類型,都是字符串,即使數(shù)值也是字符串創(chuàng)建變量命令:變量名稱=值等號(hào)兩邊不能有空格。如果值有空格則必須用雙引號(hào)或單引號(hào)引用起來(lái)#!bin/basha=10b="10"readonlyc=3#只讀變量,不可修改引用變量命令:$變量名。以下三種引用變量的方式等價(jià)#!bin/basha=10echo$aecho${a}echo"${a}"運(yùn)行腳本:輸出三行10刪除變量命令:unset變量名#!bin/basha=10unsetaecho$a因?yàn)橹虚g刪除了變量,所以不會(huì)輸出任何東西從鍵盤讀取變量命令:read變量。允許用戶從鍵盤輸入,實(shí)現(xiàn)程序交互#!bin/bashecho"Pleaseinputthefirstnumber:"readaecho"Thisnumberis:$a"編寫Shell腳本:2.Shell變量

特殊變量在Shell腳本編程中,特殊變量是用來(lái)引用Shell環(huán)境或腳本執(zhí)行過(guò)程中的一些特定值。這些特殊變量通常以美元符號(hào)($)開(kāi)頭,后面跟著一個(gè)或多個(gè)字母或符號(hào)來(lái)代表特定的含義。特殊變量如表2-2-1$@是參數(shù)列表,本質(zhì)上是所有位置參數(shù)的列表集合,把參數(shù)看作一個(gè)數(shù)組,每個(gè)元素保持獨(dú)立,保持每個(gè)參數(shù)的原始邊界和完整性。$*是參數(shù)字符串,本質(zhì)上是所有位置參數(shù)的字符串拼接,把參數(shù)看作一個(gè)長(zhǎng)字符串,參數(shù)間用空格連接,將所有參數(shù)合并為單個(gè)字符串。$@和$*關(guān)鍵區(qū)別如表2-2-2特殊變量應(yīng)用示例如下#!bin/bashecho"腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào):$$"echo"傳遞給腳本的參數(shù)個(gè)數(shù):$#"echo"\$*不使用雙引號(hào):"forargin$*;doecho"參數(shù):$arg"doneecho"\"\$*\"使用雙引號(hào):"forargin"$*";doecho"參數(shù):$arg"doneecho"\$@不加雙引號(hào):"forargin$@;doecho"參數(shù):[$arg]"doneecho"\"\$@\"加雙引號(hào):"forargin"$@";doecho"參數(shù):[$arg]"done運(yùn)行上述名為“bob.sh”的腳本并傳遞三個(gè)參數(shù):bob.sharg1arg2arg3,輸出結(jié)果如下腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào):3707傳遞給腳本的參數(shù)個(gè)數(shù):3$*不使用雙引號(hào)參數(shù):arg1參數(shù):arg2參數(shù):arg3"$*"使用雙引號(hào)參數(shù):arg1arg2arg3$@不加雙引號(hào)參數(shù):[arg1]參數(shù):[arg2]參數(shù):[arg3]"$@"加雙引號(hào)參數(shù):[arg1]參數(shù):[arg2]參數(shù):[arg3]編寫Shell腳本:3.系統(tǒng)(環(huán)境)變量

系統(tǒng)預(yù)定義的變量,一般在/etc/profile中進(jìn)行定義。使用env查看所有系統(tǒng)變量

HOME:用戶主目錄PATH:文件搜索路徑

PWD:用戶當(dāng)前工作目錄

HOSTNAME:主機(jī)名字編寫Shell腳本:3.系統(tǒng)(環(huán)境)變量單擊此處添加正文

USER:指目前環(huán)境使用者的名稱等。還有其他的系統(tǒng)變量單擊此處添加項(xiàng)正文使用export命令可以把變量變?yōu)槿肿兞?。格式為單擊此處添加?xiàng)正文exportvar單擊此處添加項(xiàng)正文環(huán)境變量持久化方法變?yōu)槿肿兞亢?,就可以在多個(gè)文件里使用該變量。但是在命令行,使用export聲明為全局變量后,只對(duì)當(dāng)前的命令窗口有效。如果要想始終有效可以直接將環(huán)境變量添加到bashrc中去。使用vi~bashrc編輯,添加后,使用source~bashrc刷新來(lái)使得文件生效編寫Shell腳本:4.重定向符

使用重定向符時(shí),文件不存在則自動(dòng)創(chuàng)建文件

#!bin/bash

echohello>1.c#將hello輸入到1.c文件里

cat<1.c>2.c#從1.c文件里獲取內(nèi)容,輸出到2.c文件里

cat2.c#查看2.c文件里的內(nèi)容編寫Shell腳本

管道符號(hào)‘|’管道操作符|用于連接左右兩個(gè)命令,將|左邊的命令執(zhí)行結(jié)果(輸出)作為|右邊命令的輸入編寫Shell腳本:6.單雙引號(hào)

使用單引號(hào)時(shí),字符串內(nèi)的內(nèi)容會(huì)被原樣輸出,不進(jìn)行任何解釋或擴(kuò)展雙引號(hào)內(nèi)字符串解釋與擴(kuò)展規(guī)則使用雙引號(hào)時(shí),字符串內(nèi)的內(nèi)容除了特定的特殊字符($、\和?。┩?,其他大部分內(nèi)容都會(huì)被解釋或擴(kuò)展,特別是變量會(huì)被擴(kuò)展為它們的值#!bin/bashb=10編寫Shell腳本:6.單雙引號(hào)

echo$#輸出:10echo"$"#輸出:10echo'$'#輸出:$任務(wù)實(shí)施配置HDFS集群

步驟1進(jìn)入Hadoop配置文件主目錄,編輯hadoop-env.sh文件,修改JAVA_HOME路徑,將以“#exportJAVA_HOME=”開(kāi)頭的那一行代碼替換成如下exportJAVA_HOME=/usr/local/src/jdk1.8.0_221注意本書(shū)Hadoop配置文件路徑為“usr/local/src/hadoop-2.7.3/etc/hadoop”步驟2:編輯core-site.xml文件,清空文件,在里面輸入如下代碼<configuration><!--指定HDFS中NameNode的地址-->配置HDFS集群<property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><!--指定Hadoop運(yùn)行時(shí)產(chǎn)生文件的存儲(chǔ)目錄--><property>配置HDFS集群

HadoopTemporaryDirectoryConfiguration<name>hadoop.tmp.dir</name><value>usr/local/src/hadoop-2.7.3/data/tmp</value></property></configuration>步驟3:編輯hdfs-site.xml,清空文件,在里面輸入如下代碼<configuration><property>配置HDFS集群

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>啟動(dòng)HDFS集群

步驟1:進(jìn)入Hadoop配置主目錄,在Hadoop主目錄下,格式化NameNode,命令如下注意第一次啟動(dòng)時(shí)格式化,以后不用格式化。本書(shū)Hadoop主目錄路徑為“usr/local/src/hadoop-2.7.3”bin/hdfsnamenode-format步驟2:在Hadoop主目錄下,啟動(dòng)Hadoop,命令如下sbin/start-dfs.sh步驟3:查看集群是否啟動(dòng)成功,命令為jps,有4個(gè)進(jìn)程則啟動(dòng)成功,如圖2-2-1啟動(dòng)HDFS集群

注意:jps是JDK中的命令,不是Linux命令。不安裝JDK不能使用jps步驟4:Web端查看HDFS文件系統(tǒng)是否啟動(dòng)成功,網(wǎng)址為http://master的ip:50070/啟動(dòng)成功頁(yè)面如圖2-2-2注意格式化NameNode,會(huì)產(chǎn)生新的集群ID,導(dǎo)致NameNode和DataNode的集群ID不一致,集群找不到以往數(shù)據(jù)。所以,格式化NameNode時(shí),一定要先刪除data數(shù)據(jù)和log日志,然后再格式化NameNode配置YARN集群

步驟1進(jìn)入Hadoop配置文件主目錄,編輯yarn-env.sh文件,配置其JAVA_HOME,修改JAVA_HOME路徑,將以“#exportJAVA_HOME=”開(kāi)頭的那一行代碼替換成如下exportJAVA_HOME=/usr/local/src/jdk1.8.0_221步驟2:編輯yarn-site.xml文件,清空文件,在里面輸入如下代碼<configuration><!--Reducer獲取數(shù)據(jù)的方式--><property>配置YARN集群

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!--指定YARN的ResourceManager的地址-->

<property>

<name>yarn.resourcemanager.hostname</name>配置YARN集群

<value>master</value></property></configuration>步驟3編輯mapred-env.sh文件,修改JAVA_HOME路徑,將以“#exportJAVA_HOME=”開(kāi)頭的那一行代碼替換成如下exportJAVA_HOME=/usr/local/src/jdk1.8.0_221步驟4:生成mapred-site.xml文件。在Hadoop主目錄下執(zhí)行如下命令配置YARN集群?jiǎn)螕舸颂幪砑诱腃onfigureMapRedSiteXMLcpetc/hadoop/mapred-site.xml.templateetc/hadoop/mapred-site.xml步驟5:清空文件mapred-site.xml,在里面輸入如下代碼單擊此處添加項(xiàng)正文<configuration>單擊此處添加項(xiàng)正文<!--指定MR運(yùn)行在YARN上-->單擊此處添加項(xiàng)正文<property>單擊此處添加項(xiàng)正文<name></name>單擊此處添加項(xiàng)正文配置YARN集群

<value>yarn</value>

</property>

</configuration>啟動(dòng)YARN集群注意:?jiǎn)?dòng)前必須保證NameNode和DataNode已經(jīng)啟動(dòng)步驟1:在Hadoop主目錄下,啟動(dòng)ResourceManager,命令如下sbin/yarn-daemon.shstartresourcemanager步驟2:?jiǎn)?dòng)NodeManager。命令如下sbin/yarn-daemon.shstartnodemanager啟動(dòng)YARN集群

步驟3:Web端查看YARN是否啟動(dòng)成功,網(wǎng)址為

http://master的ip:8088/cluster

啟動(dòng)成功頁(yè)面如圖2-2-3任務(wù)三Hadoop完全分布式集群搭建07任務(wù)工單

任務(wù)場(chǎng)景現(xiàn)在需要構(gòu)建企業(yè)級(jí)Hadoop系統(tǒng),Hadoop的守護(hù)進(jìn)程分別運(yùn)行在由多個(gè)主機(jī)搭建的集群上,不同節(jié)點(diǎn)擔(dān)任不同的角色

任務(wù)準(zhǔn)備全班學(xué)生以4人左右為一組,各組選出組長(zhǎng)。請(qǐng)組長(zhǎng)組織組員查找相關(guān)資料,并組織討論和匯總問(wèn)題1:Linux的shell腳本怎么編寫問(wèn)題2:請(qǐng)談?wù)勀銓?duì)端口號(hào)的理解問(wèn)題3:什么是SSH免密登錄必備知識(shí)技能:一、Linuxhosts文件"hosts文件功能解釋"hosts是一個(gè)沒(méi)有擴(kuò)展名的系統(tǒng)文件,其作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的IP地址建立一個(gè)關(guān)聯(lián)“數(shù)據(jù)庫(kù)”。當(dāng)用戶在瀏覽器中輸入一個(gè)需要登錄的網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從hosts文件中尋找對(duì)應(yīng)的IP地址,一旦找到,系統(tǒng)會(huì)立即打開(kāi)對(duì)應(yīng)網(wǎng)頁(yè)版。hosts文件通常用于補(bǔ)充或取代網(wǎng)絡(luò)中DNS的功能,與DNS不同的是,計(jì)算機(jī)的用戶可以直接對(duì)hosts文件進(jìn)行控制修改hosts文件實(shí)現(xiàn)域名解析hosts文件還可用于將IP地址映射到主機(jī)名。hosts文件位于/etc/目錄下。通過(guò)修改hosts文件,我們可以手動(dòng)指定某個(gè)域名(主機(jī)名)對(duì)應(yīng)的IP地址,從而實(shí)現(xiàn)域名(主機(jī)名)解析。修改hosts文件需要root權(quán)限,在進(jìn)行操作前請(qǐng)確認(rèn)自己是否具備足夠的權(quán)限。如果你不確定要添加哪些內(nèi)容到hosts文件,請(qǐng)謹(jǐn)慎操作。修改完hosts文件后,請(qǐng)務(wù)必重啟網(wǎng)絡(luò)服務(wù)或者重啟計(jì)算機(jī)以使修改生效必備知識(shí)技能:二、Linux環(huán)境變量

概念環(huán)境變量(environmentvariables),一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。環(huán)境變量通常具有某些特殊用途,在系統(tǒng)當(dāng)中通常具有全局特性(類似于程序中的全局變量)

運(yùn)行程序要執(zhí)行一個(gè)程序,首先要找到該程序在磁盤中的位置,那么如何去尋找該程序呢?當(dāng)然是通過(guò)該程序的路徑。問(wèn)題來(lái)了,為什么系統(tǒng)命令也是程序,但是執(zhí)行它們時(shí)我們不需要帶上路徑,而我們自己的程序需要帶上路徑(例如:執(zhí)行當(dāng)前目錄下的可執(zhí)行文件ta,需要用。ta,字符。是當(dāng)前路徑的意思,因此是執(zhí)行當(dāng)前路徑的文件ta)。如果我們想讓自己的程序在執(zhí)行時(shí)也不需要帶上路徑(即,直接使用ta)應(yīng)該怎樣做方法1:將要執(zhí)行的文件拷貝到系統(tǒng)的默認(rèn)路徑下(系統(tǒng)執(zhí)行命令會(huì)在默認(rèn)路徑下尋找)。命令cp文件名/usr/bin/但是,我們不推薦這種方法,因?yàn)槲覀冏约旱某绦蛭唇?jīng)過(guò)測(cè)試會(huì)污染操作系統(tǒng)的指令池。這種方法之所以可以實(shí)現(xiàn),是因?yàn)橄到y(tǒng)的環(huán)境變量會(huì)幫助編譯器查找對(duì)應(yīng)的文件方法2:直接將程序路徑添加到環(huán)境變量里。命令exportPATH=$PATH:#程序路徑添加到“”后面在Linux中的bash(命令行)是可以定義變量的。Linux終端或者SecureCRT等遠(yuǎn)程連接工具登錄的時(shí)候,系統(tǒng)會(huì)將。bash_profile執(zhí)行一次,將環(huán)境變量放置在當(dāng)前的shell中,所以一旦啟動(dòng)成功系統(tǒng)就會(huì)在內(nèi)存中維護(hù)一個(gè)環(huán)境變量$PATH必備知識(shí)技能:二、Linux環(huán)境變量etc/profile文件Linux的/etc/profile文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境變量信息,此文件的修改會(huì)影響到所有用戶。登錄Linux時(shí),etc/profile、bash_profile等文件有一定的執(zhí)行順序,執(zhí)行順序?yàn)?etc/profile->(bash_profile|~bash_login|~profile)->bashrc->/etc/bashrc->~bash_logout必備知識(shí)技能:二、Linux環(huán)境變量

3.etc/profile文件執(zhí)行順序分析在剛登錄Linux時(shí),首先啟動(dòng)/etc/profile文件,然后再啟動(dòng)用戶目錄下的~bash_profile、bash_login或~profile文件中的其中一個(gè),執(zhí)行的順序?yàn)椋篵ash_profile、bash_login、profile。如果~bash_profile文件存在的話,一般還會(huì)執(zhí)行~bashrc文件。因?yàn)樵趡bash_profile文件中一般會(huì)有下面的代碼if[-f~bashrc];then.~bashrcfi~bashrc中,一般還會(huì)有以下代碼if[-f/etc/bashrc];then.bashrcfi所以,bashrc會(huì)調(diào)用/etc/bashrc文件。最后,在退出shell時(shí),還會(huì)執(zhí)行~bash_logout文件必備知識(shí)技能:二、Linux環(huán)境變量

文件作用域1)/etc/profile此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行,并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置2)/etc/bashrc為每一個(gè)運(yùn)行bashshell的用戶執(zhí)行此文件,當(dāng)bashshell被打開(kāi)時(shí),該文件被讀取3)~bash_profile每個(gè)用戶都可使用該文件輸入自己專用的shell信息,用戶登錄時(shí),該文件僅執(zhí)行一次!默認(rèn)情況下,會(huì)執(zhí)行用戶的。bashrc文件4)~bashrc該文件包含專用于你的bashshell的bash信息,當(dāng)?shù)卿浺约懊看未蜷_(kāi)新的shell時(shí),該文件被讀取5)~bash_logout當(dāng)每次退出系統(tǒng)(退出bashshell)時(shí),執(zhí)行該文件。另外,etc/profile中設(shè)定的變量(全局)可以作用于任何用戶,而~bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,它們是"父子"關(guān)系注意1)~bash_profile是交互式、login方式進(jìn)入bash運(yùn)行的2)~bashrc是交互式、non-login方式進(jìn)入bash運(yùn)行的通常二者設(shè)置大致相同,前者會(huì)調(diào)用后者必備知識(shí)技能:三、SSH免密登錄

SSH免密登錄原理SSH(SecureShell)是一種網(wǎng)絡(luò)通信協(xié)議,用于在不安全的網(wǎng)絡(luò)上進(jìn)行加密的連接。為了避免登錄時(shí)每次都要輸入密碼,可以使用SSH免密登錄功能。免密登錄的原理如下使用ssh-keygen命令生成A服務(wù)器的密鑰對(duì)(一對(duì)密鑰,公鑰A和私鑰A)將A服務(wù)器的公鑰A拷貝給另外一臺(tái)服務(wù)器B保存起來(lái),這個(gè)過(guò)程也叫作授權(quán)授權(quán)完成后,A服務(wù)器再訪問(wèn)B服務(wù)器,會(huì)攜帶著用私鑰A加密過(guò)的數(shù)據(jù)B服務(wù)器接收到請(qǐng)求數(shù)據(jù)后,使用公鑰A解密必備知識(shí)技能:三、SSH免密登錄

B服務(wù)器將解密成功的信息通過(guò)公鑰A加密后返回給A服務(wù)器A服務(wù)器接收到數(shù)據(jù)后,用私鑰A解密,解密成功,即“對(duì)暗號(hào)”成功,登錄成功.ssh目錄下(ssh)的文件功能如表2-3-1注意SSH免密登錄僅適用于已經(jīng)知道正確的私鑰的情況。因此,必須小心管理好自己的私鑰,不要與他人共享。當(dāng)更換計(jì)算機(jī)、重裝系統(tǒng)等情況時(shí),需要重新生成新的密鑰對(duì),然后再將公鑰添加到目標(biāo)主機(jī)的authorized_keys文件中必備知識(shí)技能:四、Hadoop日志

Hadoop日志Hadoop存在多種日志文件,其中master上的日志文件記錄全面信息,包括slave上的jobtracker與datanode也會(huì)將錯(cuò)誤信息寫到master中。而slave中的日志主要記錄完成的task信息默認(rèn)情況下,Hadoop日志保存在HADOOP_HOME/logs目錄,但一般情況下建議重新指定路徑,常用的是/var/log/hadoop,通過(guò)在hadoop-env.sh中增加以下一行來(lái)實(shí)現(xiàn)exportHADOOP_LOG_DIR=/var/log/hadoop以本書(shū)為例,slave為hadoop1和hadoop2,本書(shū)的完全分布式Hadoop主目錄HADOOP_HOME值為/usr/local/src/hadoop-2.7.3/啟動(dòng)HDFS的時(shí)候就提示了日志路徑,日志文件存儲(chǔ)路徑為:/usr/local/src/hadoop-2.7.3/logsnamenode日志文件名為hadoop-root-namenode-master.outdatanode日志文件名為hadoop-root-datanode-master.outhadoop-root-datanode-hadoop1.outhadoop-root-datanode-hadoop2.outsecondarynamenode日志文件名為hadoop-root-secondarynamenode-hadoop2.outresourcemanager日志文件名為yarn-root-resourcemanager-hadoop1.outnodemanager日志文件名為yarn-root-nodemanager-hadoop1.outyarn-root-nodemanager-hadoop1.outyarn-root-nodemanager-hadoop2.out必備知識(shí)技能:四、Hadoop日志master服務(wù)器上的日志master中主要有2種日志,分別以log與out作后綴,其中每一個(gè)守護(hù)進(jìn)程都會(huì)產(chǎn)生這2個(gè)日志,如jobtracker、namenode、tasktracker、datanode均會(huì)分別產(chǎn)生這2個(gè)日志文件,這2個(gè)文件均是每天生成一個(gè)。log日志文件通過(guò)log4j記錄的,大部分應(yīng)用程序的日志消息都寫到該日志文件中,故障診斷的首要步驟即為檢查該文件,此日志文件最重要。out日志文件記錄標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤日志,由于大多日志均使用log4j輸出至log日志文件中,因此此文件很小或者為空,系統(tǒng)僅保留最新的5個(gè)日志。這2類日志的命名均包含用戶名稱、守護(hù)進(jìn)程名和本地主機(jī)名等信息。tasktracker與datanode上的部分日志會(huì)保存在master中,方便出現(xiàn)問(wèn)題時(shí)定位至具體服務(wù)器slave服務(wù)器上的日志每個(gè)tasktracker子進(jìn)程都用log4j產(chǎn)生日志文件,這些日志記錄了各個(gè)task的日志輸出。tasktracker會(huì)記錄它所運(yùn)行的所有task的日志,默認(rèn)目錄為$HADOOP_LOG_DIR/userlogs,且每個(gè)job單獨(dú)生成一個(gè)目錄。slave上面還有datanode相關(guān)日志必備知識(shí)技能:四、Hadoop日志

審計(jì)日志

這個(gè)日志記錄所有HDFS請(qǐng)求,默認(rèn)是關(guān)閉的。一般寫入namenode的日志中,在perties屬性文件中設(shè)置以下選項(xiàng)

#AllauditeventsareloggedatINFOlevel

node.FSNamesystem.audit=WARN

由于審計(jì)信息在INFO級(jí)別實(shí)現(xiàn)的,因此將WARN改為INFO即可開(kāi)啟審計(jì)任務(wù)實(shí)施:一、HDFS集群配置

步驟1進(jìn)入Hadoop配置文件主目錄,配置core-site.xml,清空文件,在里面輸入如下代碼

<configuration>單擊此處添加項(xiàng)正文

<!--指定HDFS中NameNode的地址-->單擊此處添加項(xiàng)正文

<property>單擊此處添加項(xiàng)正文

<name>fs.defaultFS</nam

溫馨提示

  • 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)論