如果光猫+hadoop,有化学反应吗?
????????運營商關(guān)注光網(wǎng)的發(fā)展與客戶的使用體驗,客戶的互聯(lián)網(wǎng)使用體驗提質(zhì)一般采用兩種方式進行處理。一是觀注在OLT上每個用戶的光衰進行主動處理,二是通過客服熱線或用戶測試網(wǎng)站進行被動處理。但這種方式仍存在問題,通過OLT主動查看用戶的光衰只關(guān)注了最后一公里,而客戶是觀注端到端的使用體驗,該方式仍存在弊端。今天我們來探討,有什么辦法可以做到端到端的互聯(lián)網(wǎng)業(yè)務(wù)主動改善?
? ? ? ?一、要想知道魚在想什么,就需要做一條魚。我們需要變成用戶來進行業(yè)務(wù)體驗。
? ? ? ? 建議從離用戶最近地方主動發(fā)起端到端的業(yè)務(wù)使用體驗探測。理論上光貓是一臺小型的Linux服務(wù)器,可以在光貓上預(yù)置模擬http等訪問的程序,并通過log日志的方式進行數(shù)據(jù)的記錄。這樣可實現(xiàn)用戶體驗信息的主動檢測。
? ? ? ?二、如何將光貓上的log文件進行大數(shù)據(jù)分析,以實時呈現(xiàn)故障預(yù)警、或應(yīng)用于指導(dǎo)網(wǎng)絡(luò)擴容。
? ? 1、整個系統(tǒng)的架構(gòu)分為兩部分。上面部分用于離線計算,指導(dǎo)擴容。下面部分用于實時流式計算,指導(dǎo)故障預(yù)警。
?
????2、首先我們來講實時流式計算部分。光貓不斷產(chǎn)生http探測日志, 然后使用Flume去監(jiān)聽探測日志,并實時把每一條日志信息抓取下來存儲集中式Flume agent中。Flume agent的數(shù)據(jù)存進Kafka消息系統(tǒng)中, 接著由Storm系統(tǒng)消費Kafka中的消息,同時消費記錄由Zookeeper集群管理,這樣即使Kafka宕機重啟后也能找到上次的消費記錄,接著從上次宕機點繼續(xù)從Kafka的Broker中進行消費。但是由于存在先消費后記錄日志或者先記錄后消費的非原子操作,如果出現(xiàn)剛好消費完一條消息并還沒將信息記錄到Zookeeper的時候就宕機的類似問題,或多或少都會存在少量數(shù)據(jù)丟失或重復(fù)消費的問題, 其中一個解決方案就是Kafka的Broker和Zookeeper都部署在同一臺機子上。接下來就是使用用戶定義好的Storm去進行日志信息的分析并輸出到HBase,最后用Web APP去讀取HBase中信息并展示給監(jiān)控中心。之所以在Flume和Storm中間加入一層Kafka消息系統(tǒng),就是因為在高并發(fā)的條件下, 日志的數(shù)據(jù)會井噴式增長,如果Storm的消費速度慢于日志的產(chǎn)生速度,加上Flume自身的局限性,必然會導(dǎo)致大量數(shù)據(jù)滯后并丟失,所以加了Kafka消息系統(tǒng)作為數(shù)據(jù)緩沖區(qū),而且Kafka是基于log File的消息系統(tǒng),也就是說消息能夠持久化在硬盤中,再加上其充分利用Linux的I/O特性,提供了可觀的吞吐量。
???????? 如果數(shù)據(jù)量較大,可以在HBase旁再旁掛一個Redis數(shù)據(jù)庫,這樣Web App的數(shù)據(jù)呈現(xiàn)效率會更高。Redis是內(nèi)存數(shù)據(jù)庫,但也可以進行數(shù)據(jù)的持久化存儲,同時具有很高的數(shù)據(jù)讀寫速度。
?
? ? ? ? 3、首先我們來講離線計算部分。通過Flume的多個Sink,將日志文件同時寫入HDFS中。通過Spark的定期離線任務(wù)處理,將HDFS中的文件進行分析處理,因Spark基于mapreduce,處理效率較低,適用于離線處理。將非實時的數(shù)據(jù)按周、按月處理后,提供給管理人員,供升級擴容等建設(shè)使用。之所以采用HBase存儲輸出數(shù)據(jù),是為了簡化本項目中的數(shù)據(jù)庫類型,目前HDFS進行文件存儲、HBase進行類結(jié)構(gòu)化數(shù)據(jù)的存儲足夠。
希望以上文章能幫到您。
更多內(nèi)容實時更新,請訪問公眾號。? ??
?
點擊這里,獲取最高¥1888阿里云產(chǎn)品通用代金券
?
總結(jié)
以上是生活随笔為你收集整理的如果光猫+hadoop,有化学反应吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图论】腾讯大战360
- 下一篇: python 发红包import ran