国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

構(gòu)建大數(shù)據(jù)在線運(yùn)行環(huán)境初探

2019-05-16 03:06劉永濤院志超
中文信息 2019年4期
關(guān)鍵詞:源碼環(huán)境變量用戶名

劉永濤 院志超

摘 要:大數(shù)據(jù)分析和應(yīng)用在高校得到廣泛的發(fā)展,在線運(yùn)行平臺(tái)是其基礎(chǔ),因此,本文運(yùn)用開源軟件Apache Hadoop、Flume、Spark以及Kafka構(gòu)建了一個(gè)大數(shù)據(jù)采集、計(jì)算、存儲(chǔ)平臺(tái)。

關(guān)鍵詞:Apache Hadoop Apache Flume Apache Spark Apache Kafka

中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1003-9082(2019)04-000-01

在進(jìn)行大數(shù)據(jù)分析之前,需要構(gòu)建一個(gè)支持?jǐn)?shù)據(jù)在線采集、分析和存儲(chǔ)的運(yùn)行環(huán)境。本文使用分布式日志收集系統(tǒng)Apache Flume、數(shù)據(jù)分發(fā)中間件Kafka、分布式實(shí)時(shí)計(jì)算框架Spark Streaming構(gòu)建了一個(gè)在線數(shù)據(jù)平臺(tái)。通過使用該平臺(tái),完成了數(shù)據(jù)信息的實(shí)時(shí)采集、計(jì)算和存儲(chǔ)。

一、大數(shù)據(jù)平臺(tái)整體設(shè)計(jì)

分布式大數(shù)據(jù)計(jì)算框架由6個(gè)節(jié)點(diǎn)構(gòu)成,服務(wù)器集群中的服務(wù)器操作系統(tǒng)為Centos6.5,服務(wù)器集群軟件為Apache Hadoop。1臺(tái)服務(wù)器為數(shù)據(jù)采集平臺(tái),運(yùn)行分布式日志收集系統(tǒng)Apache Flume,1臺(tái)服務(wù)器為消息中間件,運(yùn)行分布式的日志系統(tǒng)Kafka,一臺(tái)服務(wù)器為Apache Hadoop集群的NameNode,負(fù)責(zé)作業(yè)的調(diào)度和管理,剩余3臺(tái)服務(wù)器為數(shù)據(jù)處理服務(wù)器,運(yùn)行分布式計(jì)算框架Spark,為大數(shù)據(jù)的采集、計(jì)算和存儲(chǔ)提供平臺(tái)支撐。

二、運(yùn)行環(huán)境的安裝與配置

運(yùn)行在Centos6.5中,在系統(tǒng)上線運(yùn)行之前,需要安裝一系列的環(huán)境軟件來支撐其運(yùn)行。環(huán)境運(yùn)行支撐軟件有Java、Scala等,由于系統(tǒng)運(yùn)行對(duì)軟件的運(yùn)行版本有一定的要求,因此,在選擇正確的軟件版本后進(jìn)行安裝。

1.Java的安裝和配置

由于Spark streaming僅僅支持Java8以上的版本,因此,使用wget命令從Oracle的官方網(wǎng)站上下載Java SE Development Kit 9.0.1并保存在源碼文件夾下。使用解壓命令tar zxvf jdk-9.0.1_linux-x64_bin.tar.gz-C/home/用戶名/application,將Java的tar文件解壓至目錄/home/用戶名/application。然后使用vi命令編輯./bash_profile文件,添加Java的環(huán)境變量以及將java的運(yùn)行路徑進(jìn)行映射,配置后使用source ./bash_profile命令啟用環(huán)境變量。

2.Scala的安裝與配置

由于Spark2.2.0版本對(duì)Scala的版本要求是2.11,因此,使用wget命令從Scala的官方網(wǎng)站上下載scala-2.11.tgz并保存在源碼文件夾下。使用解壓命令tar zxvf scala-2.11.tgz-C /home/用戶名/application,將Scala的tar文件解壓至目錄/home/用戶名/application。然后使用vi命令編輯./bash_profile文件,添加Scala的環(huán)境變量以及將Scala的運(yùn)行路徑進(jìn)行映射,配置后使用source ./bash_profile命令啟用環(huán)境變量。

三、數(shù)據(jù)流量的采集

網(wǎng)絡(luò)數(shù)據(jù)的采集使用Apache Flume,通過使用端口鏡像技術(shù)將數(shù)據(jù)流截獲并發(fā)送到Apach Flume所在的服務(wù)器41414端口上,從而實(shí)現(xiàn)數(shù)據(jù)流量的準(zhǔn)實(shí)時(shí)獲取,從而為后續(xù)的數(shù)據(jù)處理提供數(shù)據(jù)消費(fèi)源。Apache Flume會(huì)啟動(dòng)Flume Agent監(jiān)控上網(wǎng)日志采集服務(wù)器41414端口從而獲取數(shù)據(jù)信息。該數(shù)據(jù)信息被Flume Agent發(fā)送到消息隊(duì)列Channel中,消息隊(duì)列Channel中的數(shù)據(jù)信息被Kafka作為數(shù)據(jù)源進(jìn)行消費(fèi),在這種情況下,kafka就是Apache Flume的sink。而Kafaka的數(shù)據(jù)作為spark streaming應(yīng)用程序的數(shù)據(jù)源,被其進(jìn)行業(yè)務(wù)邏輯處理。

四、Apache Flume的編譯、安裝與設(shè)置

由于默認(rèn)的Apache Flume在接收數(shù)據(jù)時(shí),會(huì)對(duì)接收的數(shù)據(jù)進(jìn)行自動(dòng)裁剪,其source端單event的body數(shù)據(jù)部分只會(huì)留下16字節(jié)的信息,為了使其接收的數(shù)據(jù)不被自動(dòng)裁剪,就需要修改源碼并對(duì)源碼進(jìn)行編譯,編譯后進(jìn)行安裝使用。通過對(duì)EventHelper.java以及LogerSink.java源文件的閱讀,發(fā)現(xiàn)該文件定義了一個(gè)靜態(tài)私有整數(shù)型變量DEFAULT_MAX_BYTES來進(jìn)行body數(shù)據(jù)信息的大小,因此,需要對(duì)該文件中的變量進(jìn)行修改,修改完成后使用maven insatll-DskipTests-Dtar來對(duì)源碼包進(jìn)行編譯處理。

編譯成功后,有一個(gè)編譯完成后的壓縮包apache-flume-1.8.0-bin.tar.gz。使用解壓命令tar zxvf apache-flume-1.8.0-bin.tar.gz-C /home/用戶名/application,將Apache Flume的tar文件解壓至目錄/home/用戶名/application。然后使用vi命令編輯./bash_profile文件,添加Apache Flume的環(huán)境變量以及將Apache Flume的運(yùn)行路徑進(jìn)行映射,配置后使用source ./bash_profile命令啟用環(huán)境變量。

由于Apache Flume使用代理Agent作為部署的基本單元,因此,在使用時(shí)需要定義一個(gè)或者更多的Agent。又由于Source組件(源)、Channel組件(通道)以及Sink組件(接收器)構(gòu)成了一個(gè)Flume Agent,因此,在配置文件中既要定義Agent又要定義這些組件。在配置文件中,一個(gè)Flume Agent的三個(gè)構(gòu)成部分必須唯一。

五、Kafka的安裝和配置

使用wget命令從Zookeeper的官方網(wǎng)站中下載Zookeeper的壓縮文件并保存在源碼文件夾下。使用解壓命令tar zxvf zookeeper-3.4.10.tar.gz-C/home/用戶名/application,將Zookeeper的壓縮文件解壓至目錄/home/用戶名/application。然后使用vi命令編輯./bash_profile文件,添加Zookeeper的環(huán)境變量以及將Zookeeper的運(yùn)行路徑進(jìn)行映射,配置后使用source ./bash_profile命令啟用環(huán)境變量。

Apache Hadoop和Apache Spark的安裝過程和Apache Flume雷同,在此不在贅述。通過使用開源軟件Apache Hadoop、Flume、Kafka和Spark搭建一個(gè)實(shí)時(shí)數(shù)據(jù)采集、計(jì)算和存儲(chǔ)平臺(tái),為大數(shù)據(jù)后續(xù)的分析提供基本的運(yùn)行環(huán)境支持。

猜你喜歡
源碼環(huán)境變量用戶名
基于網(wǎng)頁(yè)源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
《護(hù)士進(jìn)修雜志》投稿程序
《護(hù)士進(jìn)修雜志》投稿程序
企業(yè)如何保護(hù)源碼
《護(hù)士進(jìn)修雜志》投稿程序
基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
基于三階段DEA—Malmquist模型的中國(guó)省域城鎮(zhèn)化效率測(cè)度及其收斂分析