基于Hive的用戶行為分析系統(tǒng)設(shè)計_第1頁
基于Hive的用戶行為分析系統(tǒng)設(shè)計_第2頁
基于Hive的用戶行為分析系統(tǒng)設(shè)計_第3頁
基于Hive的用戶行為分析系統(tǒng)設(shè)計_第4頁
基于Hive的用戶行為分析系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

目錄

1引言............................................................................................................................1

1.1開發(fā)技術(shù)簡介..............................................................................................1

1.1.1Hive簡介..............................................................................................1

1.1.2Spark簡介............................................................................................1

1.1.3Hadoop簡介..........................................................................................2

1.1.4LAMP/LNMP簡介....................................................................................2

1.1.5項目開發(fā)環(huán)境版本和部署...................................................................2

1.2可行性需求分析..........................................................................................5

1.2.1技術(shù)可行性分析...................................................................................5

1.2.2項目價值可行性分析...........................................................................5

1.3關(guān)鍵技術(shù)分析..............................................................................................5

1.3.1大數(shù)據(jù)技術(shù)引擎...................................................................................5

1.3.2大數(shù)據(jù)文件采集...................................................................................6

1.3.3數(shù)據(jù)倉庫建設(shè).......................................................................................6

2大數(shù)據(jù)環(huán)境搭建........................................................................................................6

2.1統(tǒng)一集群的環(huán)境配置..................................................................................6

2.2定義同步數(shù)據(jù)腳本......................................................................................9

2.3JDK環(huán)境的安裝...............................................................................................9

2.4MySQL環(huán)境的安裝.........................................................................................10

2.5Hadoop集群的安裝.......................................................................................11

3數(shù)據(jù)倉庫系統(tǒng)規(guī)劃..................................................................................................18

3.1安裝Hive環(huán)境..........................................................................................19

3.1.1使用編譯好的源碼軟件.....................................................................19

3.1.2配置環(huán)境變量.....................................................................................19

3.1.3修改配置文件.....................................................................................19

3.1.4初始化元數(shù)據(jù)信息.............................................................................20

3.1.5測試環(huán)境.............................................................................................20

I

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

3.2Saprk安裝環(huán)境配置.....................................................................................22

3.2.1上傳安裝文件.....................................................................................22

3.2.2解壓軟件.............................................................................................22

3.2.3HDFS創(chuàng)建歷史服務信息日志............................................................23

3.2.4測試程序.............................................................................................23

3.3Hive-on-Spark..............................................................................................25

3.3.1上傳Spark依賴到HDFS上...............................................................25

3.3.2修改Hive的配置文件.......................................................................25

3.3.3啟動測試/創(chuàng)建/插入測試數(shù)據(jù).........................................................25

3.4使用開發(fā)工具IDEA連接Hive.................................................................26

3.4.1后臺啟動程序.....................................................................................26

3.4.2使用IDEA軟件測試連接...................................................................26

4數(shù)據(jù)倉庫系統(tǒng)設(shè)計..................................................................................................27

4.1ODS源數(shù)據(jù)層.................................................................................................27

4.1.1創(chuàng)建用戶行為日志表.........................................................................27

4.1.2加載數(shù)據(jù).............................................................................................28

4.1.3查看數(shù)據(jù).............................................................................................30

4.2DWD明細層.....................................................................................................31

4.2.1創(chuàng)建DWD表數(shù)據(jù).................................................................................31

4.2.2查詢數(shù)據(jù).............................................................................................31

4.2.3查看數(shù)據(jù).............................................................................................31

4.3DWS寬度匯總數(shù)據(jù).........................................................................................32

4.3.1建表語句.............................................................................................32

4.3.2加載數(shù)據(jù).............................................................................................32

4.3.3查詢數(shù)據(jù).............................................................................................33

4.4創(chuàng)建維度表................................................................................................34

4.4.1時間維度表.........................................................................................34

4.4.2創(chuàng)建地區(qū)維度.....................................................................................34

II

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

4.4.3用戶城市分布.....................................................................................35

4.4.4網(wǎng)站的上網(wǎng)形式.................................................................................36

5設(shè)計小結(jié)..................................................................................................................38

參考資料.........................................................................................................................39

III

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

基于Hive的用戶行為分析系統(tǒng)設(shè)計

1引言

用戶行為分析,是指在獲得網(wǎng)站或APP等平臺訪問量基本數(shù)據(jù)的情況下,

對有關(guān)數(shù)據(jù)進行統(tǒng)計、分析,從中發(fā)現(xiàn)用戶訪問網(wǎng)站或APP等平臺的規(guī)律,并

將這些規(guī)律與網(wǎng)絡營銷策略等相結(jié)合,從而發(fā)現(xiàn)網(wǎng)絡營銷活動中可能存在的問

題,并為進一步修正或重新制定網(wǎng)絡營銷策略提供依據(jù)。這是狹義的只指網(wǎng)絡

上的用戶行為分析。

通過對用戶行為監(jiān)測獲得的數(shù)據(jù)進行分析,可以讓企業(yè)更加詳細、清楚地

了解用戶的行為習慣,從而找出網(wǎng)站、推廣渠道等企業(yè)營銷環(huán)境存在的問題,

有助于企業(yè)發(fā)掘的高轉(zhuǎn)化率頁面,讓企業(yè)的營銷更加精準、有效,提高業(yè)務轉(zhuǎn)

化率,從而提升企業(yè)的廣告收益。

用戶行為分析是對用戶在產(chǎn)品上的產(chǎn)生的行為及行為背后的數(shù)據(jù)進行分

析,通過構(gòu)建用戶行為模型和用戶畫像,來改變產(chǎn)品決策,實現(xiàn)精細化運營,

指導業(yè)務增長。在產(chǎn)品運營過程中,對用戶行為的數(shù)據(jù)進行收集、存儲、跟

蹤、分析與應用等,可以找到實現(xiàn)用戶自增長的病毒因素、群體特征與目標用

戶。從而深度還原用戶使用場景、操作規(guī)律、訪問路徑及行為特點等。

1.1開發(fā)技術(shù)簡介

1.1.1Hive簡介

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射

為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為

MapReduce任務進行運行。其優(yōu)點是學習成本低,可以通過類SQL語句快速實

現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應用,十分適合數(shù)據(jù)倉

庫的統(tǒng)計分析??梢詫QL語句轉(zhuǎn)換為MapReduce任務運行,通過自己的SQL

查詢分析需要的內(nèi)容,這套SQL簡稱HiveSQL,使不熟悉MAPREDUCE的用戶可

以很方便地利用SQL語言查詢、匯總和分析數(shù)據(jù)。而MAPREDUCE開發(fā)人員可以

把自己寫的mapper和reducer作為插件來支持Hive做更復雜的數(shù)據(jù)分析。它

與關(guān)系型數(shù)據(jù)庫的SQL略有不同,但支持了絕大多數(shù)的語句如DDL、DML以及常

見的聚合函數(shù)、連接查詢、條件查詢。

1.1.2Spark簡介

Spark是一個開源的、強大的分布式查詢和處理引擎,它提供MapReduce

1

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

的靈活性和擴展性,但速度明顯要快上很多;取數(shù)據(jù)存儲在內(nèi)存中的時候來

說,它比ApacheHadoop快100倍,訪問磁盤時也要快上10倍。運行速度快:

Spark使用先進的DAG(Directed-Acyclic-Graph,有向無環(huán)圖)執(zhí)行引擎,以

支持循環(huán)數(shù)據(jù)流與內(nèi)存計算,基于內(nèi)存的執(zhí)行速度可比HadoopMapReduce快上

百倍,基于磁盤的執(zhí)行速度也能快十倍;容易使用:Spark支持使用Scala、

Java、Python和R語言進行編程,簡潔的API設(shè)計有助于用戶輕松構(gòu)建并行程

序,并且可以通過Spark-Shell進行交互式編程;通用性:Spark提供了完整

而強大的技術(shù),包括SQL查詢、流式計算、機器學習和圖算法組件,這些組件

可以無縫整合在同一個應用中,足以應對復雜的計算。

1.1.3Hadoop簡介

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以

在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進

行高速運算和存儲。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(DistributedFile

System),其中一個組件是HDFS(Hadoop-DistributedFileSystem)Hadoop

的框架的核心的設(shè)計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存

儲,而MapReduce則為海量的數(shù)據(jù)提供了計算,Hadoop得以在大數(shù)據(jù)處理應用

中廣泛應用得益于其自身在數(shù)據(jù)提取、變形和加載(ETL)方面上的天然優(yōu)勢。

Hadoop的分布式架構(gòu),將大數(shù)據(jù)處理引擎盡可能的靠近存儲,對例如像ETL這

樣的批處理操作相對合適,因為類似這樣操作的批處理結(jié)果可以直接走向存

儲。Hadoop的MapReduce功能實現(xiàn)了將單個任務打碎,并將碎片任務(Map)發(fā)

送到多個節(jié)點上,之后再以單個數(shù)據(jù)集的形式加載(Reduce)到數(shù)據(jù)倉庫里,

Hadoop由許多元素構(gòu)成。其最底部是Hadoop-DistributedFileSystem

(HDFS),它存儲Hadoop集群中所有存儲節(jié)點上的文件。

1.1.4LAMP/LNMP簡介

Linux作為操作系統(tǒng),Apache或Nginx作為Web服務器,MySQL作為

數(shù)據(jù)庫,PHP/Perl/Python作為服務器端腳本解釋器。由于這四個軟件都是免

費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成

本)就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng),被業(yè)界稱為LAMP或LNMP組

合。

1.1.5項目開發(fā)環(huán)境版本和部署

我們選擇采用版本3.0以上的工具來完成本次研究,其中包括Hadoop

3.1.3、Spark3、以及Hive3.1.2。在工具方面,我們將主要使用Hive、

2

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

Spark、Hadoop、MySQL和QuickBI。具體地,我們將通過搭建Hadoop基本環(huán)

境,實現(xiàn)大數(shù)據(jù)環(huán)境的統(tǒng)一配置,并配置HDFS分布式存儲環(huán)境和Yarn分布式

任務調(diào)度。同時,我們還將安裝MySQL數(shù)據(jù)庫并應用于項目中。接著,我們會

分析SpringBoot項目中生成日志的流程,并梳理Flume日志采集到HDFS的過

程,并完成相關(guān)shell腳本的編寫。最后,我們還將探討如何搭建

HiveOnSpark環(huán)境,為我們的研究打好堅實的基礎(chǔ)。

如圖1-1所示,我們規(guī)劃了一個由四臺虛擬機組成的集群,其中biz01用

于業(yè)務系統(tǒng),而Hadoop01、Hadoop02和Hadoop03則是集群的服務器。項目環(huán)

境搭建所需的組件包括:JDK1.8、MySQL5.7、HDFS、YARN、歷史服務器、

Flume、Spark、Hive和Data-X。下圖展示了環(huán)境部署服務器的相關(guān)配置信息。

1-1集群規(guī)劃

如圖1-2為正確安裝Hadoop并成功啟動成功后的截圖。

圖1-2安裝Hadoop成功顯示

集群Web訪問UI如下圖1-3所示。

“Hadoop01:9870/”,“Hadoop02:19888/Jobhistory”

3

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖1-3集群Web訪問

Hadoop自帶了一個歷史服務器,可以通過歷史服務器在web端查看已經(jīng)運

行完的作業(yè)記錄,比如用了多少個Map、用了多少個Reduce、作業(yè)提交時間、

作業(yè)啟動時間、作業(yè)完成時間等信息。默認情況下,Hadoop歷史服務器是沒有

啟動的,需要自行啟動。HadoopYARN是一個用于作業(yè)調(diào)度和集群資源管理的

框架。

圖1-4為啟動后,在下圖中點擊history可跳轉(zhuǎn)至歷史服務器查看信息。

圖1-4歷史服務器

圖1-5為HadoopDistributedFileSystem(HDFS):分布式文件系統(tǒng),提

供對應用程序數(shù)據(jù)的高吞吐量訪問。

圖1-5文件系統(tǒng)

HadoopMapReduce:這是基于YARN的用于并行處理大數(shù)據(jù)集的系統(tǒng)。其中

核心的設(shè)計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,

MapReduce為海量的數(shù)據(jù)提供了計算。

4

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

1.2可行性需求分析

1.2.1技術(shù)可行性分析

Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的軟件框架。Hadoop以一種

可靠、高效、可伸縮的方式進行數(shù)據(jù)處理。Hadoop是可靠的,因為它假設(shè)計算

元素和存儲會失敗,因此它維護多個工作數(shù)據(jù)副本,確保能夠針對失敗的節(jié)點

重新分布處理。Hadoop是高效的,因為它以并行的方式工作,通過并行處理加

快處理速度。Hadoop還是可伸縮的,能夠處理PB級數(shù)據(jù)。此外,Hadoop依賴

于社區(qū)服務,因此它的成本比較低,任何人都可以使用。Hadoop是一個能夠讓

用戶輕松架構(gòu)和使用的分布式計算平臺。用戶可以輕松地在Hadoop上開發(fā)和運

行處理海量數(shù)據(jù)的應用程序。

1.2.2項目價值可行性分析

項目價值可行性分析是指對研究項目的經(jīng)濟效益、技術(shù)可行性、市場前景

以及社會影響等因素進行評估,以確定項目合理性和可行性。以下是關(guān)于該項

目各方面的價值可行性分析。為相關(guān)統(tǒng)計部門提供數(shù)據(jù)支持。比如上網(wǎng)的用戶

時長,上網(wǎng)的用戶人數(shù),上網(wǎng)模式的占比等等。為行業(yè)發(fā)展的預測提供數(shù)據(jù)支

撐。

企業(yè)發(fā)展提供數(shù)據(jù)支撐,分析每個網(wǎng)站的訪問情況。為了提高客戶滿意度

和減少客戶流失率,電信運營商需要從客戶需求出發(fā),并了解客戶最關(guān)心的方

面,例如通話時長、流量使用量、價格等。通過收集市場調(diào)研、問卷調(diào)查和客

戶反饋等渠道獲取客戶需求信息,電信運營商可以為客戶設(shè)置不同的優(yōu)惠套

餐,以吸引更多用戶并降低客戶流失率。定制精準的市場營銷策略也是非常重

要的。在此基礎(chǔ)上提供個性化的營銷服務,例如推出針對某一類客戶偏好的優(yōu)

惠套餐和升級服務等,以提高客戶忠誠度和降低客戶流失率。

1.3關(guān)鍵技術(shù)分析

1.3.1大數(shù)據(jù)技術(shù)引擎

Hadoop、Spark與Hive是大數(shù)據(jù)技術(shù)領(lǐng)域中備受矚目的三大框架。Hadoop

已成為大數(shù)據(jù)處理的事實標準,其中MapReduce適用于對大規(guī)模數(shù)據(jù)集合進行

批處理操作。相比之下,Spark提供了廣泛類型的RDD計算模型,涵蓋20多種

數(shù)據(jù)集操作,而不僅限于Map和Reduce操作,這使得它在實現(xiàn)各種復雜功能時

更加便捷,如二次排序等復雜操作。此外,Spark的調(diào)度機制更加先進,開發(fā)

者可以使用DAG開發(fā)復雜的多個步驟數(shù)據(jù)管道,靈活控制中間結(jié)果的存儲和分

5

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

區(qū),各個處理結(jié)點之間的通信模型不再像Hadoop一樣只有Shuffle模式。

除此之外,Spark還有以下優(yōu)勢:速度快:通過基于實時數(shù)據(jù)流的數(shù)據(jù)

處理方式,Spark能夠在數(shù)百毫秒內(nèi)完成任務;易用性好:Spark提供多語言

支持,包括Java、Scala和Python等;通用性強:Spark可與多種數(shù)據(jù)存儲

和處理平臺集成,包括HDFS、Cassandra、Hbase等;隨處運行:Spark可在

本地計算機、集群或云平臺上運行。

因此,Hadoop、Spark與Hive都是大數(shù)據(jù)處理領(lǐng)域重要的技術(shù)框架,在

實際應用中,選擇最適合自身場景的框架來完成任務是非常關(guān)鍵的。

1.3.2大數(shù)據(jù)文件采集

Flume是一款分布式、可靠、高可用的海量日志采集、聚合和傳輸系統(tǒng),

被廣泛應用于大數(shù)據(jù)平臺中的數(shù)據(jù)采集環(huán)節(jié)。它支持從不同的數(shù)據(jù)源(如文

件、socket數(shù)據(jù)包等)采集數(shù)據(jù),并將它們輸出到外部存儲系統(tǒng)中,比如

HDFS、HBase、Hive、Kafka等。

Flume對于數(shù)據(jù)采集方面有很好的表現(xiàn),主要因為它解決了多種問題,例

如數(shù)據(jù)源多樣化,F(xiàn)lume能夠從不同來源的數(shù)據(jù)源中采集數(shù)據(jù),例如文本文

件、數(shù)據(jù)庫甚至是網(wǎng)絡上的數(shù)據(jù),海量數(shù)據(jù)采集,Flume具有高可伸縮性和高可

用性,可以處理大數(shù)據(jù)量的實時流式數(shù)據(jù)。數(shù)據(jù)變化快速和更新頻繁,Flume能

夠靈活地配置、修改和管理數(shù)據(jù)流,確保數(shù)據(jù)在數(shù)據(jù)湖中得到準確保存和追蹤。

1.3.3數(shù)據(jù)倉庫建設(shè)

數(shù)倉架構(gòu)是將一個整體工作按需切分成不同部分的內(nèi)容,由不同角色完成

這些分工,并通過建立不同部分相互溝通的機制,使得這些部分能夠有機連結(jié)

為一個整體,并完成支持數(shù)據(jù)分析所需要的所有活動。

因此,數(shù)倉架構(gòu)旨在將通過數(shù)據(jù)操作、明細與倉庫層之間的分層處理流

程,對數(shù)據(jù)進行先進規(guī)劃和管理,實現(xiàn)數(shù)據(jù)的高效開發(fā)、部署、執(zhí)行和管理,

并最終實現(xiàn)業(yè)務價值的發(fā)掘。

2大數(shù)據(jù)環(huán)境搭建

2.1統(tǒng)一集群的環(huán)境配置

圖2-1為IP地址設(shè)置。

6

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-1IP地址

使用Systemctlrestartnetwork重啟網(wǎng)絡服務。

測試網(wǎng)絡的方法通常是使用ping命令。如果能夠成功

ping通公網(wǎng),說明IP地址和網(wǎng)關(guān)都被正確配置了。如果在通過ipaddr命

令查看IP地址時無法顯示(或者不能打開Google的首頁),則說明存在配置

錯誤。另外,如果可以ping通內(nèi)網(wǎng)地址,比如,但無法訪問外

網(wǎng),這說明可能存在網(wǎng)關(guān)配置問題。

為確保系統(tǒng)的穩(wěn)定性,我們需要編輯主機名配置文件,輸入命令vi

/etc/hostname即可編輯/修改主機名。例如,將主機名設(shè)置為Hadoop01。

還需設(shè)置域名解析映射,可以編輯hosts文件完成此步驟。在編輯

hosts文件過程中,應該根據(jù)需要添加新的域名記錄,以便在其他計算機上訪

問本地主機。

如圖2-2主機映射,為編輯主機名配置文件。

圖2-2主機映射

關(guān)閉防火墻和Selinux。

Systemctlstopfirewalld.serverice

Systemctldisablefirewalld.service

如圖2-3為關(guān)閉Selinux系統(tǒng)設(shè)置。

7

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-3系統(tǒng)設(shè)置

配置免密登錄。

1.在所有節(jié)點生成公鑰和私鑰

Ssh-kengen-trsa

2.拷貝公鑰到每臺服務器

Ssh-copy-idHadoop01

Ssh-copy-idHadoop02

Ssh-copy-idHadoop03

3.驗證ssh登錄

SshHadoop01

4.配置服務器節(jié)點時間同步

如圖2-4在所有節(jié)點安裝ntpdate增加定時任務。

圖2-4定時任務

安裝常用軟件,如圖2-5為安裝常用軟件的命令。

圖2-5常用軟件

使用如下命令創(chuàng)建統(tǒng)一目錄。

Mkdir-p/bigdata/{soft,server}

8

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

/bigdata/soft

/bigdata/server

2.2定義同步數(shù)據(jù)腳本

1.安裝軟件rsync

Yuminstall-yrsync

2.配置同步腳本

3.創(chuàng)建works文件

Cd/root/bin

Viworkers

Hadoop01

Hadoop02

Hadoop03

圖2-6為添加系統(tǒng)的環(huán)境變量。

圖2-6環(huán)境變量

2.3JDK環(huán)境的安裝

1.把安裝的軟件上傳到/bigdata/soft目錄。

2.解壓到指定目錄。

Tar-zxvf/bigdata/soft/JDK-8u241-liunx-x64.tar.gz-c

/bigdata/server/

3.配置環(huán)境變量。

如圖2-7重新加載配置文件。

9

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-7配置文件

圖2-8為java環(huán)境系統(tǒng)配置測試成功。

圖2-8Java環(huán)境

圖2-9為同步至所有節(jié)點的位置。

圖2-9節(jié)點位置

2.4MySQL環(huán)境的安裝

1.卸載已經(jīng)安裝的MySQL數(shù)據(jù)庫。

##查詢MySQL相關(guān)依賴

Rpm-qa|grepmySQL

如果存在,則通過rpm-e–nodeps進行卸載。

2.獲取rpm在線安裝倉庫文件。

Wgethttps://dev.mySQL.com/get/mySQL80-community-release-el7-

6.noarch.rpm

3.修改mySQL倉庫的配置文件。

Cd/etc/yum.repos.d/

MySQL-community.repo:用于制定哪個版本的安裝包。

MySQL-community-sourec.repo:指定哪個版本的源碼。

4.安裝MySQL5.7。

10

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

#導入簽名信息Key

Rpm–importhttps://repo.mySQL.com/RPM-GP-KEY-mySQL-2022

Yuminstal-ymySQL-community-server

5.登錄數(shù)據(jù)庫。

Less/var/log/mySQLd.log|greppass

MySQL-uroot-p’XRY0460efv<7’

6.修改MySQL數(shù)據(jù)庫密碼策略

Setglobalvalidate_password_length=4;

Setglobalvalidate_password_policy=0;

7.創(chuàng)建遠程登錄用戶。

如圖2-10創(chuàng)建遠程登錄用戶的用戶權(quán)限。

圖2-10遠程登錄

8.設(shè)置服務器編碼為utf8。

Vi/etc/f

##在mySQL下面設(shè)置

Characte_set_server=utf8

##重啟服務

Systemctlrestartmysqld

2.5Hadoop集群的安裝

如圖2-11為集群規(guī)劃Hadoop01Hadoop02Hadoop03的NameNode

DataNodeResourceManagerSecondaryNameNodeHistoryserver的主從節(jié)點的

規(guī)劃。

圖2-11集群規(guī)劃

11

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

上傳安裝包到Hadoop01解壓到指定目錄。

Tar-zxvf/bigdata/soft/Hadoop-3.3.3.tar.gz-C/bigdata/server

在進行Hadoop的安裝過程時,我們需要對一些關(guān)鍵的配置文件進行相應的

修改。這些配置文件包括但不限于Hadoop的核心配置文件(如core-

site.xml、HDFS-site.xml、mapred-site.xml等)以及Hadoop用戶界面(Web

UI)的配置文件等。這些配置文件的修改通常都由主節(jié)點來完成,并確保其順

利地同步至各個從節(jié)點機器中。

此外,在完善Hadoop安裝配置之前,我們還需要對網(wǎng)絡環(huán)境,服務器部署

以及系統(tǒng)軟件的版本等方面進行適當?shù)囊?guī)劃和準備。

綜上所述,Hadoop安裝需要進行多個環(huán)節(jié)的配合與調(diào)整。其中,主節(jié)點的

配置文件修改是至關(guān)重要的一環(huán),可有效保障Hadoop集群的穩(wěn)定運行和高效工

作,使得不同節(jié)點之間能夠正確地協(xié)同工作,實現(xiàn)數(shù)據(jù)的高效處理與存儲。

圖2-12文件末尾的系統(tǒng)配置跟改為系統(tǒng)root。

圖2-12系統(tǒng)配置

Hadoop的默認配置文件core-default.xml和核心配置文件core-site.xml

在Hadoop集群中有著非常重要的作用。它們通過提供一系列的參數(shù)配置信息來

定義了Hadoop的運行模式、數(shù)據(jù)存儲模式、任務執(zhí)行模式等重要內(nèi)容,使得

Hadoop的不同節(jié)點之間可以自動協(xié)同工作,從而保證了整個集群運行的穩(wěn)定性

和高效性。

圖2-13在文件的configuration的標簽中添加圖中的內(nèi)容core-

default.xml和核心配置文件的配置。

12

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-13核心配置

HDFS(Hadoop分布式文件系統(tǒng))在配置時也經(jīng)常用到兩個核心配置文件:

HDFS-default.xml和HDFS-site.xml。其中HDFS-default.xml是默認的HDFS

配置文件,而HDFS-site.xml是用戶自定義的配置文件。

當需要修改HDFS的配置時我們可以通過修改HDFS-site.xml文件來改變默

認設(shè)置。

圖2-14配置信息

如圖2-14SecondaryNamenode的運行位置因此在HDFS配置過程中,我們

必須確保這兩個配置文件的正確使用才能讓整個Hadoop集群保持高效穩(wěn)定的運

行狀態(tài)。

在Hadoop中,MapReduce是一個非常重要的組件,其優(yōu)化和配置涉及到很

多需求。MapReduce的核心配置文件mapred-default.xml也起到了至關(guān)重要的

作用。該文件包含了一些默認的配置項,這些會影響MapReduce程序的運行效

果。

同時如果某些屬性沒有在該文件中被指定,那么Hadoop將自動獲取

mapred-default.xml中相同屬性的默認值,并使用該默認值為MapReduce程序

的運行提供支持。

13

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

如圖2-15Hadoop提供了另一個重要的配置文件mapred-site.xml,用于

設(shè)置用戶自定義的參數(shù)值。當我們在MapReduce的程序中需要對某些屬性進行

更改時,可以通過修改mapred-site.xml文件來實現(xiàn)。

圖2-15配置文件

YARN(YetAnotherResourceNegotiator)是Hadoop2.x系列中的一個

重要組件,其主要功能是負責對資源進行統(tǒng)一管理和調(diào)度。在YARN的配置文件

中,我們同樣會用到兩個核心的配置文件:yarn-default.xml和yarn-

site.xml。其中,yarn-default.xml是默認的YARN配置文件,而yarn-

site.xml則表示用戶自定義的文件。

如圖2-16所示需要修改YARN的配置時,可以通過改變yarn-site.xml文

件來實現(xiàn)。如果在該文件中沒有設(shè)置新增或修改某些屬性時,則會自動獲取

yarn-default.xml中相應屬性的默認值。

圖2-16YARN配置

圖2-17表示yarn-site.xml的歷史服務器和文件的保存時間的位置設(shè)置。

14

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-17配置

在Hadoop集群中,通常會使用一個名為“workers”的文件來記錄集群中

所有從節(jié)點(datanode和nodemanager)的主機名。該文件的主要作用是協(xié)助

一鍵啟動腳本進行集群啟動和關(guān)閉。

當我們使用類似于start-dfs.sh、stop-yarn.sh這樣的腳本來控制

Hadoop集群時,它們會自動讀取workers文件中記錄的主機名,并逐一啟動或

關(guān)閉集群中的每個從節(jié)點。因此,在修改集群節(jié)點時,我們需要及時更新

workers文件,以確保所有節(jié)點都能被正確地加入或退出集群。

總的來說,workers文件在Hadoop集群中不可或缺。它提供了一個方便的

方式來管理集群中的從節(jié)點,讓集群的啟動和關(guān)閉變得更加簡單快速,從而極

大地提高了Hadoop集群的維護效率。

同步Hadoop軟件包到Hadoop02和Hadoop03。

Scp-rHadoop-3.3.3/Hadoop02:$PWD

Scp-rHadoop-3.3.3/Hadoop03:$PWD

圖2-18配置環(huán)境變量的環(huán)境。

圖2-18環(huán)境配置

總的來說一旦完成格式化操作并配置了完整的從節(jié)點列表和SSH免密登

錄。

圖2-19啟動Hadoop集群時需要先啟動HDFS和YARN兩個組件。在首次啟

動HDFS時必須進行格式化操作以準備好HDFS的元數(shù)據(jù)。我們就可以用程序腳

15

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

本啟動所有Hadoop集群的相關(guān)進程,實現(xiàn)集群的快速啟動和高效運行。

圖2-19集群啟動

圖2-20為成功腳本啟動。

Star-all.sh#啟動所有的HDFS和yarn腳本

Stop-all.sh#停止所有的HDFS和yarn腳本

圖2-20集群

圖2-21為Hadoop集群HDFS:http://Hadoop01:9870網(wǎng)址。

圖2-21Web訪問UI

圖2-22為Hadoop啟動yarn:http://Hadoop01:8088網(wǎng)址。

16

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-22Web網(wǎng)址

MapReduceJobHistory歷史服務器,日志信息存放于HDFS目錄中,默認

情況下沒有開啟此功能,我們注意的點是需要在mapred-site.xml中配置并

且我們自行設(shè)置為手動啟動。

圖2-23圖表示MapReduceJobHistory歷史服務器JobHistory用來記錄

已經(jīng)finished的mapreduce運行日志。

圖2-23歷史服務器配置

圖2-24歷史服務器信息。

圖2-24歷史服務器

圖2-25歷史服務器的守護進程成功的截圖信息。

17

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2-26歷史服務器

圖2-27表示其歷史服務器的守護進程成功的截圖信息。

Cdbigdata/server/Hadoop/bin./mapred–daemonstarthistoryserver

訪問web管理界面http://Hadoop02:19888/jobhistory。

圖2-27歷史服務器

3數(shù)據(jù)倉庫系統(tǒng)規(guī)劃

HiveonSpark是一種基于內(nèi)存計算框架Spark的Hive執(zhí)行引擎,它主要

通過替換原有的執(zhí)行引擎MapReduce為Spark,從而提高了查詢數(shù)據(jù)的效率,

在處理大規(guī)模數(shù)據(jù)時大幅降低了計算時間。在這個架構(gòu)中,Hive仍然負責數(shù)據(jù)

的存儲和SQL語句的解析,并將處理任務傳遞至Spark執(zhí)行引擎,借助其強大

的計算能力來加速SQL語句的執(zhí)行。

相比之下,SparkonHive選擇將數(shù)據(jù)存儲和元數(shù)據(jù)管理交由Hive來負

責,同時采用Spark執(zhí)行引擎進行數(shù)據(jù)處理和SQL查詢的解析。通過這種方

式,Spark可以從Hive中獲取必要的元數(shù)據(jù)信息,然后再利用圖形優(yōu)化技術(shù)進

行數(shù)據(jù)處理。然而,盡管這種架構(gòu)在數(shù)據(jù)處理方面具備高效性,但相較于Hive

onSpark而言查詢速度會略遜一籌。

考慮到HiveonSpark采用了Spark的高速內(nèi)存計算框架,并且Hive在數(shù)

據(jù)存儲和SQL解析方面處理得較為出色,因此在實踐中,使用Hive-on-Spark

的設(shè)計架構(gòu)通常更具實用性和高效性。

18

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

3.1安裝Hive環(huán)境

3.1.1使用編譯好的源碼軟件

#上傳安裝文件

Apache-Hive-3.1.2-bin.tar.gz

#解壓指定目錄

Tar-zxvfApache-Hive-3.1.2-bin.tar.gz-C/bigdata/server/

3.1.2配置環(huán)境變量

#同步環(huán)境變量

Xsync/etc/profile.d/custom_env.sh

#加載環(huán)境變量

3.1.3修改配置文件

如圖3-1創(chuàng)建配置文件Hive-site.xml,元數(shù)據(jù)存儲信息的位置,數(shù)據(jù)文

件的存儲目錄。

圖3-1配置文件

圖3-2表示Hive的客戶端的一些配置信息。

19

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖3-2配置文件

3.1.4初始化元數(shù)據(jù)信息

圖3-3表示元數(shù)據(jù)解決亂碼的問題以及注釋中MySQL數(shù)據(jù)庫的設(shè)置信息。

圖3-3中文設(shè)置

3.1.5測試環(huán)境

啟動Hive客戶端

Bin/Hive

創(chuàng)建一張測試表

Createtablestudent(idint,namestring);

通過insert插入測試數(shù)據(jù)

Insertintostudentvalues(100,’wolf’)

圖3-4測試成功的結(jié)果查詢顯示。

20

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖3-4測試成功

圖3-5圖3-6圖3-7分別表示啟動查詢insert插入測試數(shù)據(jù)的結(jié)果顯示。

圖3-5數(shù)據(jù)顯示

圖3-6數(shù)據(jù)記錄

21

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖3-7數(shù)據(jù)記錄

3.2Saprk安裝環(huán)境配置

3.2.1上傳安裝文件

上傳預先下載好的軟件:spark-3.0.0-bin-without-Hadoop.tgz

3.2.2解壓軟件

Tar-zxvfspark-3.0.0-bin-without-Hadoop.taz-C

/bigdata/server/

#串鍵軟鏈接

In-sspark-3.0.0-bin-without-Hadoopspark。

圖3-8修改配置文件Spark-on的依賴配置。

圖3-8配置依賴

圖3-9表示其提交的歷史服務器的yarn的集群運行配置目錄。

圖3-9配置信息

22

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

3.2.3HDFS創(chuàng)建歷史服務信息日志

#創(chuàng)建服務器的日志

HDFSdfs-mkdir-p/spark/log

3.2.4測試程序

如圖3-10如圖3-1

溫馨提示

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

最新文檔

評論

0/150

提交評論