本篇內(nèi)容介紹了“如何搭建Hadoop生態(tài)SparkStreaming平臺(tái)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、宜黃網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
操作系統(tǒng):Centos7
用到的框架:
Flume1.8.0
Hadoop2.9.0
kafka2.11-1.0.0
Spark2.2.1
HBase1.2.6
ZooKeeper3.4.11
maven3.5.2
整體的開發(fā)環(huán)境是基于JDK1.8以上以及Scala,所以得提前把java和Scala的環(huán)境給準(zhǔn)備好,接下來就開始著手搭建基礎(chǔ)平臺(tái):
一、配置開發(fā)環(huán)境
下載并解壓JDK1.8,、下載并解壓Scala,配置profile文件:
二、配置zookeeper、maven環(huán)境
下載并解壓zookeeper以及maven并配置profile文件
然后配置一下zoo.cfg里面的相關(guān)配置,指定一下dataDir目錄等等
啟動(dòng)zookeeper:
/usr/local/zookeeper-3.4.11/bin/zkServer.sh start
如果不報(bào)錯(cuò),jps看一下是否啟動(dòng)成功
三、安裝配置Hadoop
Hadoop的安裝配置在之前文章中有說過(傳送門),為了下面的步驟方便理解,這里只做一個(gè)單機(jī)版的簡單配置說明:
下載hadoop解壓并配置環(huán)境:
首先配置hadoop-env.sh、yarn-env.sh,修改JAVA_HOME到指定的JDK安裝目錄/usr/local/java/jdk1.8.0_144
創(chuàng)建hadoop的工作目錄
mkdir /opt/data/hadoop
編輯core-site.xml、hdfs-site.xml、yarn-site.xml等相關(guān)配置文件,具體配置不再闡述請看前面的文章,配置完成之后記得執(zhí)行hadoop namenode -format,否則hdfs啟動(dòng)會(huì)報(bào)錯(cuò),啟動(dòng)完成后不出問題瀏覽器訪問50070端口會(huì)看到hadoop的頁面。
四、安裝配置kafka
還是一樣,先下載kafka,然后配置:
進(jìn)入kafka的config目錄,配置server.properties,指定log.dirs和zookeeper.connect參數(shù);配置zookeeper.properties文件中zookeeper的dataDir,配置完成后啟動(dòng)kafka
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
可以用jps查看有沒有kafka進(jìn)程,然后測試一下kafka是否能夠正常收發(fā)消息,開兩個(gè)終端,一個(gè)用來做producer發(fā)消息一個(gè)用來做consumer收消息,首先,先創(chuàng)建一個(gè)topic
然后在第一個(gè)終端中輸入命令:
kafka-console-producer.sh –broker-list localhost:9092 –topic testTopic
在第二個(gè)終端中輸入命令:
kafka-console-consumer.sh –zookeeper 127.0.0.1:2181 –topic testTopic
如果啟動(dòng)都正常,那么這兩個(gè)終端將進(jìn)入阻塞監(jiān)聽狀態(tài),在第一個(gè)終端中輸入任何消息第二個(gè)終端都將會(huì)接收到。
五、安裝配置HBase
下載并解壓HBase:
修改hbase下的配置文件,首先修改hbase-env.sh,主要修改JAVA_HOME以及相關(guān)參數(shù),這里要說明一下HBASE_MANAGES_ZK這個(gè)參數(shù),因?yàn)椴捎昧俗约旱膠ookeeper,所以這里設(shè)置為false,否則hbase會(huì)自己啟動(dòng)一個(gè)zookeeper
然后修改hbase-site.xml,我們設(shè)置hbase的文件放在hdfs中,所以要設(shè)置hdfs地址,其中tsk1是我安裝hadoop的機(jī)器的hostname,hbase.zookeeper.quorum參數(shù)是安裝zookeeper的地址,這里的各種地址最好用機(jī)器名
配置完成后啟動(dòng)hbase,輸入命令:
start-hbase.sh
完成后查看日志沒有報(bào)錯(cuò)的話測試一下hbase,用hbase shell進(jìn)行測試:
至此,hbase搭建成功,訪問以下hadoop的頁面,查看file system(菜單欄Utilities->Browse the file system),這時(shí)可以看見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。先寫一個(gè)HBase的連接類HBaseHelper:
再寫一個(gè)測試類KafkaRecHbase用來做spark-submit提交
編譯提交到服務(wù)器,執(zhí)行命令:
沒報(bào)錯(cuò)的話執(zhí)行kafka的producer,輸入幾行數(shù)據(jù)在HBase內(nèi)就能看到結(jié)果了!
八、裝一個(gè)Flume實(shí)時(shí)采集Nginx日志寫入Kafka
Flume是一個(gè)用來日志采集的框架,安裝和配置都比較簡單,可以支持多個(gè)數(shù)據(jù)源和輸出,具體可以參考Flume的文檔,寫的比較全 傳送門
下載Flume并配置環(huán)境
寫一個(gè)Flume的配置文件在flume的conf目錄下:
kafka創(chuàng)建一個(gè)名為flumeKafka的topic用來接收,然后啟動(dòng)flume:
如果沒有報(bào)錯(cuò),F(xiàn)lume將開始采集opt/data/nginxLog/nginxLog.log中產(chǎn)生的日志并實(shí)時(shí)推送給kafka,再按照上面方法寫一個(gè)spark streaming的處理類進(jìn)行相應(yīng)的處理就好。
“如何搭建Hadoop生態(tài)SparkStreaming平臺(tái)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!