Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程_第1頁
Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程_第2頁
Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程_第3頁
Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程_第4頁
Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程_第5頁
已閱讀5頁,還剩189頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)閱讀全文

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

文檔簡介

高等學(xué)校大數(shù)據(jù)技術(shù)與應(yīng)用規(guī)劃教材

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

彭梅胡必波李滿◎主編

劉曉娟左文濤蔡敏劉鐘凌馮毅鵬◎副主編

內(nèi)容簡介

本書以Hadoop大數(shù)據(jù)技術(shù)生態(tài)圈主流框架的應(yīng)用為主線,介紹了數(shù)據(jù)處理與分析中典型軟

件的使用和基礎(chǔ)編程方法。

全書共包含七個基礎(chǔ)實訓(xùn)和兩個綜合案例,內(nèi)容涵蓋操作系統(tǒng)(Linux)、開發(fā)工具(IDEA和

Maven)以及大數(shù)據(jù)相關(guān)軟件(Hadoop、HDFS、HBase、Hive、MapReduce、Spark、MySQL)

等,可以較好地滿足大數(shù)據(jù)實踐教學(xué)需求。

本書適合作為高等學(xué)校大數(shù)據(jù)技術(shù)及相關(guān)專業(yè)的教材,也可作為教學(xué)輔助用書與其他大數(shù)據(jù)

教材配套使用。

圖書在版編目(CIP)數(shù)據(jù)

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程/彭梅,胡必波,李滿主編.—北京:

中國鐵道出版社有限公司,2022.2

高等學(xué)校大數(shù)據(jù)技術(shù)與應(yīng)用規(guī)劃教材

ISBN978-7-113-28752-8

Ⅰ.①H…Ⅱ.①彭…②胡…③李…Ⅲ.①數(shù)據(jù)處理軟件-高等

學(xué)校-教材Ⅳ.①TP274

中國版本圖書館CIP數(shù)據(jù)核字(2022)第000791號

書名:Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

作者:彭梅胡必波李滿

策劃:唐旭編輯部電話:(010)51873202

責(zé)任編輯:劉麗麗徐盼欣

封面設(shè)計:穆麗

封面制作:劉穎

責(zé)任校對:苗丹

責(zé)任印制:樊啟鵬

出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)

網(wǎng)址:/51eds/

印刷:國鐵印務(wù)有限公司

版次:2022年2月第1版2022年2月第1次印刷

開本:787mm×1092mm1/16印張:12字?jǐn)?shù):269千

書號:ISBN978-7-113-28752-8

定價:39.80元

版權(quán)所有侵權(quán)必究

凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836

打擊盜版舉報電話:(010)63549461

前言

前言

近年來,大數(shù)據(jù)已成為國家和企業(yè)的重要戰(zhàn)略資源,大數(shù)據(jù)相關(guān)產(chǎn)業(yè)已成為我國

未來科技創(chuàng)新和經(jīng)濟(jì)結(jié)構(gòu)轉(zhuǎn)型的戰(zhàn)略性支柱產(chǎn)業(yè)之一,在國民經(jīng)濟(jì)的方方面面發(fā)揮著

重要的作用。大數(shù)據(jù)技術(shù)的廣泛應(yīng)用也帶來了巨大的人才缺口,各行各業(yè)都亟需大量

掌握大數(shù)據(jù)處理技術(shù)的人才。要培養(yǎng)大數(shù)據(jù)人才,建設(shè)和完善大數(shù)據(jù)課程體系成為各

高校的迫切任務(wù)。面對這種情況,高校需及時建立和完善大數(shù)據(jù)課程體系。

Hadoop作為開源的大數(shù)據(jù)平臺是大數(shù)據(jù)課程教學(xué)和企業(yè)大數(shù)據(jù)應(yīng)用中的重要

內(nèi)容。從實踐教學(xué)的教學(xué)過程和反饋來看,Hadoop大數(shù)據(jù)技術(shù)課程具備較強(qiáng)的應(yīng)

用性和綜合性特征,學(xué)生反映實踐難度較大。為推進(jìn)高校大數(shù)據(jù)課程體系的完善,

滿足高校實踐教學(xué)的需求,加強(qiáng)課程中Hadoop大數(shù)據(jù)實踐環(huán)節(jié)的訓(xùn)練,減少學(xué)生

搭建大數(shù)據(jù)實訓(xùn)環(huán)境的障礙,我們組織編寫了本書。

本書以Hadoop大數(shù)據(jù)技術(shù)生態(tài)圈主流框架的應(yīng)用為主線,從搭建初始化的Linux

集群到Hadoop完全分布式集群入手,重點闡述分布式文件系統(tǒng)HDFS、分布式并行計

算框架MapReduce基礎(chǔ)編程方法,詳細(xì)介紹分布式數(shù)據(jù)庫HBase、數(shù)據(jù)倉庫Hive的安

裝和部署方法,拓展介紹基于內(nèi)存的分布式并行計算框架Spark安裝和部署方法以及

Hadoop應(yīng)用開發(fā)環(huán)境配置過程,便于學(xué)生為后續(xù)大數(shù)據(jù)開發(fā)學(xué)習(xí)做好準(zhǔn)備。

通過學(xué)習(xí)本書,學(xué)生即使沒有任何大數(shù)據(jù)基礎(chǔ),也可以對照書中的步驟成功

搭建屬于自己的大數(shù)據(jù)集群并獨立完成項目開發(fā),從而降低學(xué)習(xí)大數(shù)據(jù)的門檻。

本書共九個實訓(xùn),包括七個基礎(chǔ)實訓(xùn)和兩個綜合案例?;A(chǔ)實訓(xùn)部分詳細(xì)介

紹系統(tǒng)和軟件的安裝、使用以及基礎(chǔ)編程方法。綜合案例部分側(cè)重于系統(tǒng)培養(yǎng)學(xué)

生大數(shù)據(jù)處理設(shè)計開發(fā)、編程測試、部署調(diào)優(yōu)等能力,使學(xué)生加深對知識的理解。

各實訓(xùn)主要內(nèi)容如下:

實訓(xùn)1介紹Linux系統(tǒng)的安裝。

實訓(xùn)2介紹分布式計算框架Hadoop的安裝和配置。

實訓(xùn)3介紹分布式文件系統(tǒng)HDFS的操作方法和基礎(chǔ)編程。

實訓(xùn)4介紹分布式數(shù)據(jù)庫HBase和基于Hadoop的數(shù)據(jù)倉庫Hive的安裝和配置。

實訓(xùn)5介紹如何編寫基本的MapReduce程序。

實訓(xùn)6介紹基于內(nèi)存的分布式并行計算框架Spark的安裝和部署。

實訓(xùn)7介紹Hadoop應(yīng)用開發(fā)環(huán)境的安裝和部署。

實訓(xùn)8為綜合案例——電信流量大數(shù)據(jù)分析統(tǒng)計,介紹電信流量大數(shù)據(jù)分析統(tǒng)

計,讓學(xué)生掌握Hadoop+Spark數(shù)據(jù)分析處理的實戰(zhàn)應(yīng)用。

實訓(xùn)9為綜合案例——基于Hadoop的云盤信息管理系統(tǒng)的設(shè)計與實現(xiàn),介紹

基于Hadoop的云信息管理系統(tǒng)的設(shè)計與實現(xiàn),讓學(xué)生掌握Hadoop結(jié)合JavaWeb

技術(shù)的實戰(zhàn)應(yīng)用。

下圖展示了本書中大數(shù)據(jù)軟件之間的相互關(guān)系,由底向上簡要說明如下:

I

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

Hive

數(shù)據(jù)倉庫Spark

基于內(nèi)存的

MapReduce分布式計算框架

分布式計算框架IDEA

HBase開發(fā)工具

分布式數(shù)據(jù)庫

HDFS

分布式文件系統(tǒng)

Linux操作系統(tǒng)

①操作系統(tǒng)層,采用Linux操作系統(tǒng)作為基礎(chǔ)平臺。

②數(shù)據(jù)存儲與管理層,主要包括分布式文件系統(tǒng)HDFS、分布式數(shù)據(jù)庫HBase

等,其中HBase借助HDFS作為底層存儲。

③數(shù)據(jù)處理與分析層,主要包括分布式計算框架MapReduce、數(shù)據(jù)倉庫Hive、

基于內(nèi)存的分布式計算框架Spark等,其中數(shù)據(jù)倉庫Hive既可以作為數(shù)據(jù)分析工

具,也可以作為數(shù)據(jù)存儲和管理工具。用戶可以直接編寫MapReduce程序,也可

以先編寫HiveSQL查詢語句再自動轉(zhuǎn)換成MapReduce程序執(zhí)行,實現(xiàn)對數(shù)據(jù)存儲

與管理層中的數(shù)據(jù)的處理和分析。

④Hadoop應(yīng)用開發(fā)環(huán)境,與Java應(yīng)用開發(fā)環(huán)境類似。IDEA作為一種集成化

開發(fā)工具,支持Java、Scala等面向?qū)ο笳Z言,讓用戶既可以編寫MapReduce、Spark

等應(yīng)用程序,實現(xiàn)數(shù)據(jù)分析和處理,也可以編寫HadoopJavaAPI程序?qū)崿F(xiàn)數(shù)據(jù)存

儲與管理操作。

本書由廣州粵嵌科技股份有限公司一線工程師和廣州工商學(xué)院多年從事大數(shù)

據(jù)專業(yè)教學(xué)和科研的一線教師合作編寫而成,其中彭梅、胡必波、李滿任主編,

劉曉娟、左文濤、蔡敏、劉鐘凌、馮毅鵬任副主編。

本書實踐內(nèi)容由淺到深,循序漸進(jìn),凸顯學(xué)習(xí)的認(rèn)知規(guī)律,著重介紹當(dāng)前最

新的知識和主流技術(shù),保證學(xué)生所學(xué)知識和技術(shù)都與行業(yè)聯(lián)系密切,讓學(xué)生能夠

學(xué)以致用。

本書適合作為高等學(xué)校大數(shù)據(jù)技術(shù)及相關(guān)專業(yè)的教材,也可作為教學(xué)輔助用

書與其他大數(shù)據(jù)教材配套使用。

盡管我們力求精益求精,但由于編者水平有限,書中難免存在不足及疏漏之

處,敬請廣大讀者批評指正。

編者

2021年9月

II

目錄

目錄

實訓(xùn)1Linux操作系統(tǒng)的安裝1

1.1實訓(xùn)目的1

1.2實訓(xùn)要求1

1.3實訓(xùn)原理1

1.3.1虛擬化技術(shù)1

1.3.2Linux4

1.3.3Xmanager6

1.3.4JDK6

1.3.5SSH免密登錄7

1.3.6同步時鐘8

1.4實訓(xùn)步驟8

1.4.1安裝和配置Linux虛擬機(jī)9

1.4.2安裝和配置Linux系統(tǒng)17

1.4.3搭建Linux集群24

實訓(xùn)2Hadoop的安裝和配置31

2.1實訓(xùn)目的31

2.2實訓(xùn)要求31

2.3實訓(xùn)原理31

2.3.1Hadoop31

2.3.2Ambari32

2.3.3Docker33

2.4實訓(xùn)步驟34

2.4.1手工搭建方式35

2.4.2Ambari自動化搭建方式45

2.4.3使用Docker搭建Hadoop分布式集群50

實訓(xùn)3HDFS操作方法和基礎(chǔ)編程55

3.1實訓(xùn)目的55

3.2實訓(xùn)要求55

I

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

3.3實訓(xùn)原理55

3.3.1HDFS55

3.3.2HDFSShell56

3.3.3HDFSJavaAPI57

3.3.4HDFS運(yùn)行原理58

3.4實訓(xùn)步驟60

3.4.1HDFSShell基本操作60

3.4.2JavaAPI基本操作61

3.4.3JavaAPI讀寫數(shù)據(jù)66

實訓(xùn)4HBase與Hive的安裝和配置69

4.1實訓(xùn)目的69

4.2實訓(xùn)要求69

4.3實訓(xùn)原理69

4.3.1HBase69

4.3.2Hive70

4.4實訓(xùn)步驟71

4.4.1安裝Zookeeper71

4.4.2安裝HBase72

4.4.3安裝Hive75

實訓(xùn)5MapReduce基礎(chǔ)編程81

5.1實訓(xùn)目的81

5.2實訓(xùn)要求81

5.3實訓(xùn)原理81

5.3.1MapReduce編程思想81

5.3.2單詞頻數(shù)統(tǒng)計83

5.3.3YARN框架84

5.4實訓(xùn)步驟86

實訓(xùn)6Spark的安裝和配置93

6.1實訓(xùn)目的93

6.2實訓(xùn)要求93

6.3實訓(xùn)原理93

6.3.1Zookeeper94

6.3.2Spark94

II

目錄

6.3.3Spark編程原理95

6.4實訓(xùn)步驟96

6.4.1搭建Zookeeper分布式集群96

6.4.2搭建Spark分布式集群99

6.4.3運(yùn)行Spark分布式集群103

實訓(xùn)7Hadoop開發(fā)環(huán)境的安裝和部署106

7.1實訓(xùn)目的106

7.2實訓(xùn)要求106

7.3實訓(xùn)原理106

7.3.1IntelliJIDEA106

7.3.2Eclipse108

7.3.3Maven108

7.3.4Tomcat109

7.3.5MySQL109

7.4實訓(xùn)步驟109

7.4.1部署IDEA109

7.4.2部署Eclipse127

7.4.3部署ScalaSDK131

7.4.4部署Maven133

7.4.5部署Tomcat服務(wù)器137

7.4.6部署MySQL服務(wù)器142

實訓(xùn)8綜合案例1——電信流量大數(shù)據(jù)分析統(tǒng)計151

8.1案例背景151

8.2優(yōu)化詞頻統(tǒng)計項目151

8.3使用Spark的local模式進(jìn)行數(shù)據(jù)清洗ETL實戰(zhàn)153

實訓(xùn)9綜合案例2——基于Hadoop的云盤信息管理系統(tǒng)的設(shè)計與實現(xiàn)158

9.1案例背景159

9.2系統(tǒng)開發(fā)工具與技術(shù)159

9.2.1HDFS159

9.2.2JSP技術(shù)159

9.2.3ApacheTomcat服務(wù)器160

9.2.4MySQL數(shù)據(jù)庫160

III

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

9.3搭建開發(fā)環(huán)境161

9.3.1搭建Hadoop開發(fā)環(huán)境161

9.3.2安裝和配置開發(fā)工具170

9.4系統(tǒng)分析172

9.5系統(tǒng)設(shè)計173

9.6部分模塊代碼實現(xiàn)179

IV

實訓(xùn)1Linux操作系統(tǒng)的安裝

實訓(xùn)1

Linux操作系統(tǒng)的安裝

Linux操作系統(tǒng)作為多用戶、多任務(wù)的網(wǎng)絡(luò)操作系統(tǒng),有著開放、穩(wěn)定、安全、費(fèi)

用低廉等其他操作系統(tǒng)無可比擬的優(yōu)勢,具有越來越廣泛的應(yīng)用前景。本實訓(xùn)通過虛擬

機(jī)軟件安裝Linux操作系統(tǒng)并進(jìn)行系統(tǒng)配置,以此為基礎(chǔ)完成Linux集群搭建與配置。

1.1實訓(xùn)目的

◆熟悉VMwareWorkstation的安裝及使用。

◆熟悉Xmanager的安裝及使用。

◆熟悉Linux虛擬機(jī),了解如何搭建Linux集群。

◆熟悉Linux基本命令及FTP服務(wù)器配置。

◆熟悉Java基本命令及JDK安裝方法。

◆掌握SSH免密碼登錄配置方法。

◆掌握同步時鐘配置方法。

1.2實訓(xùn)要求

本次實訓(xùn)完成后,要求學(xué)生能夠:

◆使用VMware創(chuàng)建Linux虛擬機(jī)。

◆通過Linux虛擬機(jī)安裝Linux系統(tǒng)。

◆通過Xmanager遠(yuǎn)程登錄Linux系統(tǒng)。

◆通過Linux系統(tǒng)安裝JDK。

◆Linux集群配置SSH免密碼登錄。

◆Linux集群配置同步時鐘。

1.3實訓(xùn)原理

本實訓(xùn)在Windows操作系統(tǒng)下使用虛擬機(jī)軟件安裝Linux操作系統(tǒng),并通過虛擬

機(jī)軟件模擬一個虛擬的實訓(xùn)環(huán)境來實現(xiàn)Hadoop集群搭建。

1.3.1虛擬化技術(shù)

虛擬化技術(shù)是一種計算機(jī)資源管理技術(shù),通過一個特殊虛擬化軟件虛擬機(jī)管理器

1

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

(VirtualMachineManager,VMM)在一臺計算機(jī)上模擬出一個或多個虛擬化環(huán)境,而

用戶察覺不到其與真實計算機(jī)的差別。目前,市場上有很多虛擬化軟件:有適合個人

使用的VMwareWorkstation、MicrosoftVirtualPC和SunVirtualBox等;有適合企業(yè)使

用的Hyper-V和VMwareESXServer等;有基于Linux內(nèi)核的虛擬機(jī)(Kernel-based

VirtualMachine,KVM);還有基于半虛擬化技術(shù)的Xen等,用戶可以根據(jù)需求來選

擇相應(yīng)的虛擬化軟件。常用虛擬化軟件介紹見表1-1。

表1-1常用虛擬化軟件介紹

開發(fā)產(chǎn)生

名稱Logo當(dāng)前版本特點適用范圍

公司時間

使用Vmware,可以同時運(yùn)

行Linux各種發(fā)行版、DOS、

VMware幾乎使用

VMwareWindows各種版本、UNIX等,

EMC1999年Workstation任何設(shè)備都

Workstation甚至可以在同一臺計算機(jī)上

16Pro能訪問

安裝多個Linux發(fā)行版、多個

Windows版本

KVM是輕量級的虛擬化管

自Linux

理程序模塊,該模塊主要來

Kernel-based2.6.20之后

自Linux內(nèi)核;KVM的虛擬化只能在具有

VirtualRed集成在

2007年需要硬件支持,如具有VT功虛擬化支持的

MachineHatLinux的各

能的IntelCPU和具有AMD-VCPU上運(yùn)行

(KVM)個主要發(fā)行

功能的AMDCPU,目前不支

版本中

持準(zhǔn)虛擬化

直接運(yùn)行在計算機(jī)硬件之Xen可以運(yùn)

上的用以替代操作系統(tǒng)的軟行在x86、

英國

件層,Xen能夠在計算機(jī)硬件x86_64和ARM

Xen劍橋2003年Xen4.12

上并發(fā)運(yùn)行多個客戶操作系系統(tǒng)上,并正

大學(xué)

統(tǒng)(GuestOS),同時支持全在向IA64、PPC

虛擬化和準(zhǔn)虛擬化移植

采用微內(nèi)核的架構(gòu),兼顧了處理器必須

安全性和性能的要求,可以支持AMD-V

Hyper-V微軟2008年Hyper-V1.13

采用半虛擬化和全虛擬化兩或者IntelVT

種模擬方式創(chuàng)建虛擬機(jī)技術(shù)

基于Linux內(nèi)核和作業(yè)系統(tǒng)OpenVZ的

SWsoft的操作系統(tǒng)級虛擬化技術(shù),主機(jī)與客戶

OpenVZ2005年OpenVZ7

公司允許物理服務(wù)器運(yùn)行多個操系統(tǒng)都必須

作系統(tǒng)是Linux

虛擬機(jī)能夠讓用戶在一臺物理主機(jī)上模擬出多個可以獨立運(yùn)行的機(jī)器,每個虛擬

機(jī)中可以安裝不同的操作系統(tǒng),每個操作系統(tǒng)的磁盤分區(qū)、數(shù)據(jù)配置都是獨立的,應(yīng)

用軟件在各自操作系統(tǒng)內(nèi)運(yùn)行互相不受影響,而且多臺虛擬機(jī)可以構(gòu)建一個局域網(wǎng)。

物理主機(jī)與虛擬機(jī)體系結(jié)構(gòu)如圖1-1所示(APP:應(yīng)用程序;VM-A:虛擬機(jī)A;VM-B:

虛擬機(jī)B)。

虛擬化常見的類型有系統(tǒng)虛擬化、服務(wù)器虛擬化、桌面虛擬化、存儲虛擬化、網(wǎng)

絡(luò)虛擬化以及應(yīng)用虛擬化等。

2

實訓(xùn)1Linux操作系統(tǒng)的安裝

圖1-1物理主機(jī)與虛擬機(jī)體系結(jié)構(gòu)

①系統(tǒng)虛擬化是指使用虛擬化軟件如VMwareWorkstation在個人計算機(jī)上虛擬

出一個邏輯系統(tǒng),用戶可以在這個虛擬的系統(tǒng)上安裝和使用另一個操作系統(tǒng)及其應(yīng)用

程序,如同在使用另一臺獨立的計算機(jī)。該虛擬系統(tǒng)就是上文提到“虛擬機(jī)”。

②服務(wù)器虛擬化是指將多臺服務(wù)器整合到一臺服務(wù)器中,運(yùn)行多個虛擬環(huán)境,

最終將節(jié)省物理空間。

③桌面虛擬化是指將計算機(jī)的終端系統(tǒng)(也稱桌面)進(jìn)行虛擬化,以達(dá)到桌面

使用的安全性和靈活性??梢酝ㄟ^任何設(shè)備,在任何地點、任何時間通過網(wǎng)絡(luò)訪問屬

于個人的桌面系統(tǒng)。

④存儲虛擬化是指通過存儲虛擬化的技術(shù)方法,將系統(tǒng)中各種異構(gòu)的存儲設(shè)備

映射為一個單一的存儲資源,對用戶完全透明,達(dá)到互操作性的目的。

⑤網(wǎng)絡(luò)虛擬化將網(wǎng)絡(luò)抽象化為一個廣義的網(wǎng)絡(luò)容量池,并將統(tǒng)一網(wǎng)絡(luò)容量池以

最佳的方式分割成多個邏輯網(wǎng)絡(luò),用戶可以創(chuàng)建跨越物理邊界的邏輯網(wǎng)絡(luò),從而實現(xiàn)

跨集群和單位的計算資源優(yōu)化。

⑥應(yīng)用虛擬化是基于應(yīng)用/服務(wù)器(A/S)的架構(gòu),采用類似虛擬終端的技術(shù),把

應(yīng)用程序的人機(jī)交互邏輯(應(yīng)用程序界面、鍵盤及鼠標(biāo)的操作、音頻輸入/輸出、讀卡

器、打印輸出等)與計算邏輯隔離開。從本質(zhì)上說,應(yīng)用虛擬化是把應(yīng)用對低層的系

統(tǒng)和硬件的依賴抽象出來,可以解決版本不兼容的問題。

要實現(xiàn)Hadoop集群安裝,至少要使用四臺計算機(jī)。本實訓(xùn)以四臺虛擬機(jī)節(jié)點為例

來組建Hadoop分布式集群,考慮虛擬機(jī)兼容性選擇VMware11,系統(tǒng)版本采用CentOS7。

根據(jù)表1-2所示資源配置來組建大數(shù)據(jù)基礎(chǔ)平臺。

表1-2Hadoop集群主機(jī)資源配置

主機(jī)名(FQDN)內(nèi)存/GB硬盤/GBIP地址角色

88040NameNode

44041DataNode、SecondaryNameNode

44042DataNode

44043DataNode

3

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

為節(jié)省安裝虛擬機(jī)操作系統(tǒng)的時間,使用VMwareWorkstation的虛擬機(jī)模板功能

和克隆功能,只新建一臺虛擬機(jī),安裝一次操作系統(tǒng)即可。虛擬機(jī)安裝完操作系統(tǒng)以

后,制作它的“快照”,并把它設(shè)置為“模板”。再使用“克隆”的方式,從模板虛

擬機(jī)的快照狀態(tài)復(fù)制得到三臺新的虛擬機(jī),如圖1-2所示。新虛擬機(jī)的環(huán)境與模板虛

擬機(jī)的快照狀態(tài)一致,節(jié)省了設(shè)置虛擬機(jī)硬件和安裝操作系統(tǒng)的時間。

圖1-2通過模板克隆虛擬機(jī)過程

VMware提供了三種網(wǎng)絡(luò)工作模式:Bridged(橋接)、NAT(NetworkAddressTranslation,

網(wǎng)絡(luò)地址轉(zhuǎn)換)、Host-Only(僅主機(jī))。橋接模式:選擇橋接模式,虛擬機(jī)和宿主機(jī)

在網(wǎng)絡(luò)上是平級的關(guān)系,相當(dāng)于連接在同一交換機(jī)上。NAT模式:選擇NAT模式,虛

擬機(jī)若要聯(lián)網(wǎng)需先通過宿主機(jī),才能和外面進(jìn)行通信。僅主機(jī)模式:選擇僅主機(jī)模式,

虛擬機(jī)與宿主機(jī)直接連起來。其中,橋接與NAT模式訪問互聯(lián)網(wǎng)過程如圖1-3所示。

圖1-3橋接與NAT模式訪問互聯(lián)網(wǎng)過程

本實訓(xùn)中把虛擬機(jī)的網(wǎng)絡(luò)連接設(shè)置為“NAT模式”。這樣虛擬機(jī)可以通過主機(jī)的

網(wǎng)絡(luò)連接訪問外部網(wǎng)絡(luò),為需要聯(lián)網(wǎng)安裝的軟件提供了便利。通過設(shè)置NAT映射,虛

擬機(jī)還可以為外部網(wǎng)站提供服務(wù)。此外,因為是在宿主機(jī)上運(yùn)行虛擬化軟件VMware

Workstation創(chuàng)建虛擬機(jī)安裝Linux系統(tǒng),所以對宿主機(jī)的配置有一定的要求,建議宿

主機(jī)配置CPUi5雙核及以上、硬盤500GB及以上、內(nèi)存4GB及以上。

1.3.2Linux

Linux全稱GNU/Linux,是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),其內(nèi)核

由林納斯·本納第克特·托瓦茲于1991年10月5日首次發(fā)布。它主要受到Minix和

UNIX思想的啟發(fā),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多

CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32

位和64位硬件設(shè)備。Linux繼承了UNIX以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定

4

實訓(xùn)1Linux操作系統(tǒng)的安裝

的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux有上百種不同的發(fā)行版,如基于社區(qū)開發(fā)的Debian、

ArchLinux,和基于商業(yè)開發(fā)的RedHatEnterpriseLinux、SUSE、OracleLinux等,它

們都使用了Linux內(nèi)核。Linux可安裝在各種計算機(jī)硬件設(shè)備中,例如手機(jī)、平板電腦、

路由器、視頻游戲控制臺、臺式計算機(jī)、大型計算機(jī)和超級計算機(jī)。

Linux的文件系統(tǒng)采用的是層級式的樹狀目錄結(jié)構(gòu)來組織文件,最上層是根目錄

“/”,然后在此目錄下再創(chuàng)建其他目錄,如圖1-4所示。

圖1-4Linux文件系統(tǒng)樹

CentOS(CommunityEnterpriseOperatingSystem,社區(qū)企業(yè)操作系統(tǒng))是Linux發(fā)

行版之一,每兩年發(fā)行一次,每個版本的系統(tǒng)會提供10年的安全維護(hù)支持。CentOS

源于RedHatEnterpriseLinux(RHEL)依照開放源代碼(大部分是GPL開源協(xié)議)規(guī)

定釋出的源碼編譯而成。自2004年3月以來,CentOSLinux一直是社區(qū)驅(qū)動的開源項

目,旨在與RHEL在功能上兼容。本實訓(xùn)推薦安裝的CentOS7系統(tǒng)于2014年7月7

日正式發(fā)布,實訓(xùn)中涉及一些Linux常用操作命令,見表1-3。

表1-3Linux系統(tǒng)常用命令及含義

命令含義

pwd用于顯示當(dāng)前目錄

cd用于切換目錄

ls用于查看文件與目錄

cp用于復(fù)制文件,若復(fù)制的對象為目錄,則需要使用-r參數(shù)

mv用于移動文件,在實際使用中,也常用于重命名文件或目錄

rm用于刪除文件,若刪除的對象為目錄,則需要使用-r參數(shù)

ps用于查看系統(tǒng)的所有進(jìn)程

tar用于文件壓縮與解壓,參數(shù)中的c表示壓縮,x表示解壓縮

cat用于查看文件內(nèi)容

ipaddr用于查看服務(wù)器IP配置

5

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

Linux提供了類似Windows操作系統(tǒng)記事本程序的vi文本編輯器程序,可以執(zhí)行

輸出、刪除、查找、替換、塊操作等眾多文本操作。通過在命令行嵌入“vi/vim文件

名”后,默認(rèn)進(jìn)入“命令模式”,不可編輯文檔,需按【I】鍵,方可編輯文檔;編輯

結(jié)束后,需按【Esc】鍵,先退回命令模式,再按【:】鍵進(jìn)入末行模式,接著嵌入“wq”

方可保存退出。vi編輯器的三種模式切換如圖1-5所示。

圖1-5vi編輯器的三種模式切換

1.3.3Xmanager

實訓(xùn)中,需要從Windows機(jī)器登錄到集群中的Linux服務(wù)器上,而絕大多數(shù)Linux

服務(wù)器采用的是SSH(SecureShell)登錄方式,因此需要在Windows機(jī)器上安裝一個

SSH登錄工具。常用的SSH工具包括XShell、SecureCRT、putty等。在UNIX/Linux

和Windows網(wǎng)絡(luò)環(huán)境中,本實訓(xùn)推薦XManager作為連通解決方案。

XManager全稱XmanagerEnterprise,是一個簡單易用的高性能的運(yùn)行在Windows

平臺上的XServer軟件。就像運(yùn)行在PC上的任何Windows應(yīng)用程序一樣,它可以無

縫拼接到UNIX應(yīng)用程序中。XManager安裝完以后會包含以下產(chǎn)品:Xbrowser、Xconfig、

Xftp、Xlpd、Xmanager–Broadcast、Xmanager-Passive、Xshell、Xstart,如圖1-6所示。

其中,Xshell是一個用于Windows平臺的強(qiáng)大的SSH、Telnet、和RLOGIN終端仿真軟

件。它使得用戶能輕松和安全地從WindowsPC上訪問UNIX/Linux主機(jī)。Xftp是一個

用于Windows平臺的強(qiáng)大的FTP和SFTP文件傳輸程序。Xftp讓用戶能安全地在

UNIX/Linux和WindowsPC之間傳輸文件。

圖1-6XmanagerEnterprise系列產(chǎn)品組件

1.3.4JDK

JDK(JavaDevelopmentKit,Java開發(fā)包或Java開發(fā)工具)是一個編寫JavaApplet

小程序和應(yīng)用程序的開發(fā)環(huán)境。JDK是整個Java的核心,包括JRE(JavaRuntime

Environment,Java運(yùn)行環(huán)境)、一些Java工具和JavaAPI(Java的核心類庫)等。主

流的JDK是Sun公司(已被甲骨文公司收購)發(fā)布的,除此之外,還有很多公司和組

織開發(fā)了自己的JDK,例如,IBM公司開發(fā)的JDK,BEA公司開發(fā)的JRocket,GNU

6

實訓(xùn)1Linux操作系統(tǒng)的安裝

組織開發(fā)的JDK。

JRE是支持Java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境,是運(yùn)行環(huán)境,而JDK是開發(fā)環(huán)境。因

此,寫Java程序的時候需要JDK,而運(yùn)行Java程序的時候需要JRE。JDK里面已經(jīng)包

含了JRE,因此只要安裝了JDK,就可以編輯和正常運(yùn)行Java程序。但由于JDK包含

了許多與運(yùn)行無關(guān)的內(nèi)容,占用的空間較大,因此運(yùn)行普通的Java程序無須安裝JDK

而只需要安裝JRE即可。本實訓(xùn)推薦JDK1.8以上。在安裝Java環(huán)境后,可以使用

Java命令來編譯、運(yùn)行或者打包Java程序,實訓(xùn)中涉及一些Java基本命令,見表1-4。

表1-4Java基本命令及含義

命令含義

java-version用于查看Java版本

javac用于編譯Java程序

Java用于運(yùn)行Java程序

Jar用于打包Java程序,打包時,加入-m參數(shù),并指定manifest文件名

1.3.5SSH免密登錄

集群中的計算機(jī)之間需要頻繁通信,但是Linux系統(tǒng)在相互通信中需要進(jìn)行用戶

身份認(rèn)證,也就是輸入登錄密碼。在集群規(guī)模不大的情況下,可以適用,但是,如果

集群有幾十臺、幾百臺甚至幾千臺計算機(jī),頻繁地認(rèn)證(輸入密碼)會增加任務(wù)負(fù)擔(dān),

降低工作效率。因此,實際的集群需要進(jìn)行免密登錄。Hadoop的基礎(chǔ)是分布式文件系

統(tǒng)HDFS,HDFS集群有兩類節(jié)點以管理者—工作者的模式運(yùn)行,即一個NameNode(管

理者)和多個DataNode(工作者)。在Hadoop啟動以后,NameNode通過SSH來啟動

和停止各個節(jié)點上的各種守護(hù)進(jìn)程,在這些節(jié)點之間執(zhí)行指令時采用無須輸入密碼的

認(rèn)證方式,因此,需要將SSH配置成使用無須輸入root密碼的密鑰文件認(rèn)證方式。SSH

免密登錄原理如圖1-7所示。

圖1-7SSH免密登錄原理

7

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

1.3.6同步時鐘

在一臺計算機(jī)上有兩個時鐘:一個稱為硬件時間時鐘(RTCRealTimeClock,又

稱實時時鐘);還有一個稱為系統(tǒng)時鐘(SystemClock)。硬件時鐘是指嵌在主板上的

特殊的電路,它的存在就是平時關(guān)機(jī)之后還可以計算時間的原因。RTC的英文全稱是

Real-TimeClock,譯為實時時鐘芯片。RTC是PC主板上的晶振及相關(guān)電路組成的時

鐘電路的生成脈沖。RTC經(jīng)過8254電路的變頻產(chǎn)生一個頻率較低的OS(系統(tǒng))時鐘

TSC,系統(tǒng)時鐘每一個CPU周期加一,每次系統(tǒng)時鐘在系統(tǒng)初起時通過RTC初始化。

8254電路本身工作也需要有自己的驅(qū)動時鐘(PIT)。

系統(tǒng)時鐘就是操作系統(tǒng)的kernel所用來計算時間的時鐘。它記錄從1970年1月1日

00:00:00UTC時間到目前為止秒數(shù)總和的值。在Linux下,系統(tǒng)時間在開機(jī)的時候會和硬

件時間同步(Synchronization),之后各自獨立運(yùn)行。在Linux運(yùn)行過程中,系統(tǒng)時間和

硬件時間以異步的方式運(yùn)行,互不干擾。硬件時間的運(yùn)行靠BIOS電池來維持,而系統(tǒng)時

間是用CPUtick來維持,這也是系統(tǒng)時間長時間運(yùn)行時會產(chǎn)生時間偏差的原因。

大數(shù)據(jù)系統(tǒng)是對時間敏感的計算處理系統(tǒng),時間同步是大數(shù)據(jù)能夠得到正確處理

的基礎(chǔ)保障,是大數(shù)據(jù)得以發(fā)揮作用的技術(shù)支撐。大數(shù)據(jù)時代,整個處理計算系統(tǒng)內(nèi)

的大數(shù)據(jù)通信都是通過網(wǎng)絡(luò)進(jìn)行。時間同步也是如此,利用大數(shù)據(jù)的互聯(lián)網(wǎng)絡(luò)傳送標(biāo)

準(zhǔn)時間信息,實現(xiàn)大數(shù)據(jù)系統(tǒng)內(nèi)時間同步。

在集群中,隨著集群節(jié)點數(shù)的增加,集群各節(jié)點之間時間不一致的問題會越來越嚴(yán)

重,經(jīng)常會引發(fā)故障。為避免類似問題出現(xiàn),需要假設(shè)獨立的時間同步服務(wù)器,并設(shè)置

所有節(jié)點定時與時間服務(wù)器進(jìn)行同步。例如,master作為時間同步服務(wù)器,其他機(jī)器如

slave1、slave2、slave3向該服務(wù)器通過內(nèi)網(wǎng)請求時間同步,來保證集群間系統(tǒng)時間一致。

Linux系統(tǒng)可以配置網(wǎng)絡(luò)時間同步,網(wǎng)絡(luò)時間協(xié)議(NetworkTimeProtocol,NTP)是用

于互聯(lián)網(wǎng)中時間同步的標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議。NTP的用途是把計算機(jī)的時間同步到某些時間

標(biāo)準(zhǔn)。目前采用的時間標(biāo)準(zhǔn)是世界協(xié)調(diào)時(UniversalTimeCoordinated,UTC)。

1.4實訓(xùn)步驟

完成本實訓(xùn),需要下載VMwareWorkstation。本實訓(xùn)知識導(dǎo)圖如圖1-8所示。

圖1-8實訓(xùn)知識導(dǎo)圖

8

實訓(xùn)1Linux操作系統(tǒng)的安裝

1.4.1安裝和配置Linux虛擬機(jī)

1.安裝VMware

Windows系統(tǒng)下,按照VMware11安裝向?qū)Р襟E,完成VMware安裝過程。VMware

安裝成功后,將顯示VMwareWorkstation工作界面,如圖1-9所示。

圖1-9VMwareWorkstation工作界面

2.安裝Xmanager

Windows系統(tǒng)下,按照Xmanager安裝向?qū)Р襟E,完成Xmanager安裝過程。在安

裝好的Xmanager工具里雙擊打開Xshell,將顯示Xshell工作界面,如圖1-10所示。

圖1-10Xshell工作界面

9

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

在安裝好的Xmanager工具里雙擊Xftp圖標(biāo),將顯示Xftp工作界面,如圖1-11所示。

圖1-11Xftp工作界面

3.創(chuàng)建Linux虛擬機(jī)

打開VMware后進(jìn)入VMwareWorkstation工作界面,單擊“創(chuàng)建新的虛擬機(jī)”按

鈕,打開“新建虛擬機(jī)向?qū)А睂υ捒颉?/p>

步驟1:選擇安裝類型。典型安裝:VMware會將主流的配置應(yīng)用在虛擬機(jī)的操作

系統(tǒng)上,對于新手很友好。自定義安裝:可以針對性地把一些資源加強(qiáng),把不需要的

資源移除,避免資源的浪費(fèi)。本實訓(xùn)推薦選擇“自定義(高級)”單選按鈕,如圖1-12

所示,單擊“下一步”按鈕。

圖1-12新建虛擬機(jī)向?qū)Р襟E1

10

實訓(xùn)1Linux操作系統(tǒng)的安裝

步驟2:選擇虛擬機(jī)硬件兼容性。這里要注意兼容性,如果是VMware11創(chuàng)建的

虛擬機(jī)復(fù)制到VMware10或者更低的版本會出現(xiàn)不兼容的現(xiàn)象。如果是用VMware10

創(chuàng)建的虛擬機(jī)在VMware11中打開則不會出現(xiàn)兼容性問題。如圖1-13所示,單擊“下

一步”按鈕。

圖1-13新建虛擬機(jī)向?qū)Р襟E2

步驟3:選擇安裝客戶機(jī)操作系統(tǒng)。為了讓VMwareTools更好地兼容,這里選擇

“稍后安裝操作系統(tǒng)”單選按鈕,如圖1-14所示,單擊“下一步”按鈕。

圖1-14新建虛擬機(jī)向?qū)Р襟E3

11

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

步驟4:選擇客戶機(jī)操作系統(tǒng)。這里選擇“Linux”單選按鈕,“版本”處選擇“CentOS

64位”選項,如圖1-15所示,單擊“下一步”按鈕。

圖1-15新建虛擬機(jī)向?qū)Р襟E4

步驟5:虛擬機(jī)位置與命名。虛擬機(jī)名稱就是一個名字,方便在虛擬機(jī)多的時候

進(jìn)行快速查找。在“虛擬機(jī)名稱”處填寫“master”。VMware的默認(rèn)位置是在“C”

盤下,本實訓(xùn)在“位置”處改成“D”盤,后續(xù)路徑可以自行定義,如圖1-16所示,

單擊“下一步”按鈕。

圖1-16新建虛擬機(jī)向?qū)Р襟E5

12

實訓(xùn)1Linux操作系統(tǒng)的安裝

步驟6:分配處理器。處理器要根據(jù)自己的實際需求來分配。如果在使用過程中

CPU不夠,還可以再增加,因此,在“處理器數(shù)量”與“每個處理器的核心數(shù)量”處

都選擇“1”,如圖1-17所示,單擊“下一步”按鈕。

圖1-17新建虛擬機(jī)向?qū)Р襟E6

步驟7:分配內(nèi)存。內(nèi)存也是要根據(jù)實際的情況進(jìn)行分配,例如宿主機(jī)內(nèi)存是32GB,

本實訓(xùn)給虛擬機(jī)master分配4GB內(nèi)存,因此,在“此虛擬機(jī)的內(nèi)存”處填寫“4096”,

如圖1-18所示,單擊“下一步”按鈕。

圖1-18新建虛擬機(jī)向?qū)Р襟E7

13

Hadoop大數(shù)據(jù)基礎(chǔ)實訓(xùn)教程

步驟8:選擇網(wǎng)絡(luò)連接類型。這里選擇“使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)”單選按鈕,

如圖1-19所示,單擊“下一步”按鈕。

圖1-19新建虛擬機(jī)向?qū)Р襟E8

步驟9:接下來三項按虛擬機(jī)默認(rèn)選項即可。

第一項“選擇I/O控制器類型”中,BusLogic是很老的技術(shù),I/O性能比LSI差不

少,但對一些老的系統(tǒng)有效,比如Windows2000。LSILogicSAS僅適用于具有硬件版

溫馨提示

  • 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

提交評論