自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于Hadoop生態(tài)SparkStreaming的大數(shù)據(jù)實時流處理平臺的搭建

大數(shù)據(jù) Hadoop Spark
本人準備開始著手改造原系統(tǒng)中的數(shù)據(jù)處理方式,重新搭建一個實時流處理平臺,主要是基于hadoop生態(tài),利用Kafka作為中轉(zhuǎn),SparkStreaming框架實時獲取數(shù)據(jù)并清洗,將結(jié)果多維度的存儲進HBase數(shù)據(jù)庫。

隨著公司業(yè)務(wù)發(fā)展,對大數(shù)據(jù)的獲取和實時處理的要求就會越來越高,日志處理、用戶行為分析、場景業(yè)務(wù)分析等等,傳統(tǒng)的寫日志方式根本滿足不了業(yè)務(wù)的實時處理需求,所以本人準備開始著手改造原系統(tǒng)中的數(shù)據(jù)處理方式,重新搭建一個實時流處理平臺,主要是基于hadoop生態(tài),利用Kafka作為中轉(zhuǎn),SparkStreaming框架實時獲取數(shù)據(jù)并清洗,將結(jié)果多維度的存儲進HBase數(shù)據(jù)庫。

整個平臺大致的框架如下:

 

\

操作系統(tǒng):Centos7

用到的框架:

  1. Flume1.8.0
  2. Hadoop2.9.0
  3. kafka2.11-1.0.0
  4. Spark2.2.1
  5. HBase1.2.6
  6. ZooKeeper3.4.11
  7. maven3.5.2

整體的開發(fā)環(huán)境是基于JDK1.8以上以及Scala,所以得提前把java和Scala的環(huán)境給準備好,接下來就開始著手搭建基礎(chǔ)平臺:

一、配置開發(fā)環(huán)境

下載并解壓JDK1.8,、下載并解壓Scala,配置profile文件:

 

\

二、配置zookeeper、maven環(huán)境

下載并解壓zookeeper以及maven并配置profile文件

 

\

然后配置一下zoo.cfg里面的相關(guān)配置,指定一下dataDir目錄等等

啟動zookeeper:

  1. /usr/local/zookeeper-3.4.11/bin/zkServer.sh start 

如果不報錯,jps看一下是否啟動成功

三、安裝配置Hadoop

Hadoop的安裝配置在之前文章中有說過(傳送門),為了下面的步驟方便理解,這里只做一個單機版的簡單配置說明:

下載hadoop解壓并配置環(huán)境:

 

\

首先配置hadoop-env.sh、yarn-env.sh,修改JAVA_HOME到指定的JDK安裝目錄/usr/local/java/jdk1.8.0_144

創(chuàng)建hadoop的工作目錄

  1. mkdir /opt/data/hadoop 

編輯core-site.xml、hdfs-site.xml、yarn-site.xml等相關(guān)配置文件,具體配置不再闡述請看前面的文章,配置完成之后記得執(zhí)行hadoop namenode -format,否則hdfs啟動會報錯,啟動完成后不出問題瀏覽器訪問50070端口會看到hadoop的頁面。

四、安裝配置kafka

還是一樣,先下載kafka,然后配置:

 

\

進入kafka的config目錄,配置server.properties,指定log.dirs和zookeeper.connect參數(shù);配置zookeeper.properties文件中zookeeper的dataDir,配置完成后啟動kafka

  1. kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties 

可以用jps查看有沒有kafka進程,然后測試一下kafka是否能夠正常收發(fā)消息,開兩個終端,一個用來做producer發(fā)消息一個用來做consumer收消息,首先,先創(chuàng)建一個topic

 

\

如果不出一下會看到如下輸出:

 

\

然后在第一個終端中輸入命令:

  1. kafka-console-producer.sh –broker-list localhost:9092 –topic testTopic 

在第二個終端中輸入命令:

  1. kafka-console-consumer.sh –zookeeper 127.0.0.1:2181 –topic testTopic 

如果啟動都正常,那么這兩個終端將進入阻塞監(jiān)聽狀態(tài),在第一個終端中輸入任何消息第二個終端都將會接收到。

五、安裝配置HBase

下載并解壓HBase:

 

\

修改hbase下的配置文件,首先修改hbase-env.sh,主要修改JAVA_HOME以及相關(guān)參數(shù),這里要說明一下HBASE_MANAGES_ZK這個參數(shù),因為采用了自己的zookeeper,所以這里設(shè)置為false,否則hbase會自己啟動一個zookeeper

 

\

然后修改hbase-site.xml,我們設(shè)置hbase的文件放在hdfs中,所以要設(shè)置hdfs地址,其中tsk1是我安裝hadoop的機器的hostname,hbase.zookeeper.quorum參數(shù)是安裝zookeeper的地址,這里的各種地址最好用機器名

 

\

配置完成后啟動hbase,輸入命令:

  1. start-hbase.sh 

完成后查看日志沒有報錯的話測試一下hbase,用hbase shell進行測試:

 

\

至此,hbase搭建成功,訪問以下hadoop的頁面,查看file system(菜單欄Utilities->Browse the file system),這時可以看見base的相關(guān)文件已經(jīng)載hadoop的文件系統(tǒng)中。

 

\

六、安裝spark

下載spark并解壓

 

\

七、測試

至此,環(huán)境基本搭建完成,以上搭建的環(huán)境僅是服務(wù)器生產(chǎn)環(huán)境的一部分,涉及服務(wù)器信息、具體調(diào)優(yōu)信息以及集群的搭建就不寫在這里了,下面我們寫一段代碼整體測試一下從kafka生產(chǎn)消息到spark streaming接收到,然后處理消息并寫入HBase。先寫一個HBase的連接類HBaseHelper:

 

\

 

\

再寫一個測試類KafkaRecHbase用來做spark-submit提交

 

\

 

\

編譯提交到服務(wù)器,執(zhí)行命令:

 

\

沒報錯的話執(zhí)行kafka的producer,輸入幾行數(shù)據(jù)在HBase內(nèi)就能看到結(jié)果了!

八、裝一個Flume實時采集Nginx日志寫入Kafka

Flume是一個用來日志采集的框架,安裝和配置都比較簡單,可以支持多個數(shù)據(jù)源和輸出,具體可以參考Flume的文檔,寫的比較全 傳送門

下載Flume并配置環(huán)境

 

\

寫一個Flume的配置文件在flume的conf目錄下:

 

\

kafka創(chuàng)建一個名為flumeKafka的topic用來接收,然后啟動flume:

 

\

如果沒有報錯,F(xiàn)lume將開始采集opt/data/nginxLog/nginxLog.log中產(chǎn)生的日志并實時推送給kafka,再按照上面方法寫一個spark streaming的處理類進行相應(yīng)的處理就好。

OK!全部搞定,然而~~~~就這樣就搞定了?NO!!!這只是萬里長征的第一步!呵呵!

責任編輯:未麗燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2017-01-15 13:45:20

Docker大數(shù)據(jù)京東

2017-08-31 16:36:26

2018-06-15 20:44:40

Hadoop數(shù)據(jù)分析數(shù)據(jù)

2017-01-04 10:29:37

Spark運維技術(shù)

2016-09-04 15:14:09

攜程實時數(shù)據(jù)數(shù)據(jù)平臺

2013-04-27 12:18:58

大數(shù)據(jù)全球技術(shù)峰會京東

2021-03-10 14:04:10

大數(shù)據(jù)計算技術(shù)

2024-06-04 14:10:00

FlinkSQL窗口大數(shù)據(jù)

2024-06-06 08:58:08

大數(shù)據(jù)SQLAPI

2019-03-14 15:11:18

Hadoop大數(shù)據(jù)分布式

2018-05-10 13:42:11

Hadoop架構(gòu)大數(shù)據(jù)

2022-07-20 15:10:38

Docker大數(shù)據(jù)平臺

2012-09-20 11:23:18

Hadoop云計算

2012-09-26 22:18:19

IBM大數(shù)據(jù)Hadoop

2017-05-05 09:53:34

Hadoop大數(shù)據(jù)處理

2016-12-15 21:41:15

大數(shù)據(jù)

2017-07-21 14:22:17

大數(shù)據(jù)大數(shù)據(jù)平臺數(shù)據(jù)處理

2012-05-18 10:49:36

SAP大數(shù)據(jù)HANA

2017-05-11 11:00:11

大數(shù)據(jù)Hadoop數(shù)據(jù)處理

2017-05-11 17:36:50

點贊
收藏

51CTO技術(shù)棧公眾號