本發(fā)明涉及電變量的監(jiān)測(cè)方法
技術(shù)領(lǐng)域:
,尤其涉及基于大數(shù)據(jù)處理的電壓監(jiān)測(cè)方法。
背景技術(shù):
:供電系統(tǒng)電能質(zhì)量的好壞,直接關(guān)系到供電系統(tǒng)能否安全運(yùn)行和用戶是否能夠安全用電。國(guó)家能源局《供電監(jiān)管辦法》明確提出了對(duì)供電可靠性和電壓合格率嚴(yán)格監(jiān)管的要求。廣東電網(wǎng)有限責(zé)任公司以供電可靠性和電壓合格率為中長(zhǎng)期發(fā)展戰(zhàn)略和創(chuàng)先的核心指標(biāo),將電壓質(zhì)量和供電可靠性作為客戶全方位服務(wù)三項(xiàng)重點(diǎn)工作任務(wù)之一和供電服務(wù)承諾的重要內(nèi)容。為了掌握全網(wǎng)的供電質(zhì)量現(xiàn)狀,及時(shí)發(fā)現(xiàn)和準(zhǔn)確定位配電網(wǎng)供電質(zhì)量問(wèn)題,進(jìn)一步做好供電質(zhì)量管理工作,有必要對(duì)與供電質(zhì)量相關(guān)的信息系統(tǒng)現(xiàn)狀進(jìn)行梳理分析,明確各系統(tǒng)對(duì)供電質(zhì)量分析的業(yè)務(wù)支撐程度,為進(jìn)一步建設(shè)電壓監(jiān)測(cè)技術(shù)平臺(tái)提供基礎(chǔ)保障。電壓監(jiān)測(cè)現(xiàn)狀分析:隨著智能電網(wǎng)建設(shè)的發(fā)展,電壓監(jiān)測(cè)數(shù)據(jù)飛速增長(zhǎng),電力系統(tǒng)具有空間分布、控制對(duì)象多樣和復(fù)雜的特點(diǎn),現(xiàn)有的結(jié)構(gòu)已很難適應(yīng)業(yè)務(wù)發(fā)展的要求,具體表現(xiàn)在以下三點(diǎn):(一)隨著智能電網(wǎng)建設(shè)進(jìn)程的加快,電壓質(zhì)量監(jiān)測(cè)點(diǎn)不斷增多,系統(tǒng)逐步完善的同時(shí),各種類型的監(jiān)測(cè)和計(jì)算數(shù)據(jù)量急劇增加;(二)電壓質(zhì)量監(jiān)控系統(tǒng)的好壞與所管理的數(shù)據(jù)存儲(chǔ)和實(shí)時(shí)計(jì)算與分析緊密相關(guān),現(xiàn)有系統(tǒng)的軟件平臺(tái)架構(gòu)無(wú)法滿足可定制和可擴(kuò)充的要求,硬件平臺(tái)無(wú)法滿足高速、實(shí)時(shí)和并行處理要求;(三)數(shù)據(jù)集成平臺(tái)無(wú)法滿足數(shù)據(jù)的日益增長(zhǎng)需求,以至于無(wú)法滿足廣東電網(wǎng)有限責(zé)任公司朝智能電網(wǎng)發(fā)展的步伐,也無(wú)法采用先進(jìn)的數(shù)據(jù)挖掘技術(shù)和智能算法,來(lái)實(shí)現(xiàn)電能質(zhì)量問(wèn)題的分析、故障源定位和自動(dòng)識(shí)別、電能質(zhì)量評(píng)估及治理等一系列功能,無(wú)法為治理電能質(zhì)量問(wèn)題和建立電能質(zhì)量市場(chǎng)提供有效保障。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題是提供基于大數(shù)據(jù)處理的電壓監(jiān)測(cè)方法,所述方法能夠?qū)A侩妷簲?shù)據(jù)進(jìn)行統(tǒng)一管理,基于大數(shù)據(jù)挖掘技術(shù)能夠挖掘出電壓異常原因,有力的支持了智能電網(wǎng)建設(shè)和維護(hù)。為解決上述技術(shù)問(wèn)題,本發(fā)明所采取的技術(shù)方案是:一種基于大數(shù)據(jù)處理的電壓監(jiān)測(cè)方法,其特征在于包括如下步驟:通過(guò)Hadoop分布式云計(jì)算平臺(tái)對(duì)電壓數(shù)據(jù)進(jìn)行分布式存儲(chǔ)、計(jì)算和處理;通過(guò)數(shù)據(jù)挖掘?qū)Ψ植际酱鎯?chǔ)、計(jì)算和處理后的電壓數(shù)據(jù)進(jìn)行分析,從大量數(shù)據(jù)中尋找出其規(guī)律;通過(guò)對(duì)尋找出規(guī)律的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,對(duì)電壓數(shù)據(jù)的相應(yīng)指標(biāo)進(jìn)行預(yù)測(cè)。進(jìn)一步的技術(shù)方案在于,所述的Hadoop分布式云計(jì)算平臺(tái)的構(gòu)建方法如下:創(chuàng)建虛擬機(jī)master,完成JDK、Hadoop應(yīng)用的安裝和配置;對(duì)虛擬機(jī)master進(jìn)行克隆,得到的虛擬機(jī)分別作為slave1、slave2和slave3;完成Zookeeper、HBase分布式服務(wù)的配置,搭建Hadoop集群;運(yùn)行并測(cè)試Hadoop集群系統(tǒng)。進(jìn)一步的技術(shù)方案在于,所述的創(chuàng)建虛擬機(jī)master,完成JDK、Hadoop應(yīng)用的安裝和配置的過(guò)程如下:安裝虛擬機(jī)軟件VMwareWorkstation;在master節(jié)點(diǎn)上安裝Linux系統(tǒng)Ubuntu;master節(jié)點(diǎn)的JDK安裝與配置;master節(jié)點(diǎn)的hadoop安裝與配置。進(jìn)一步的技術(shù)方案在于,所述的對(duì)虛擬機(jī)master進(jìn)行克隆,得到的虛擬機(jī)分別作為slave1、slave2和slave3的方法如下:建立SSH無(wú)密碼互訪,實(shí)現(xiàn)Hadoop虛擬機(jī)群之間的無(wú)密碼登錄互訪;克隆虛擬機(jī)作為Slave節(jié)點(diǎn);為各個(gè)節(jié)點(diǎn)分配IP地址;修改加載在各虛擬機(jī)中的系統(tǒng)名稱,用于區(qū)分不同的節(jié)點(diǎn),修改hosts文件,實(shí)現(xiàn)機(jī)器名和IP地址之間的映射;建立SSH無(wú)密碼互訪,實(shí)現(xiàn)Hadoop虛擬機(jī)集群之間的無(wú)密碼登陸互訪。進(jìn)一步的技術(shù)方案在于,所述的Zookeeper分布式服務(wù)的配置方法如下:Zookeeper的解壓安裝;添加環(huán)境變量;Zookeeper的安裝目錄下配置文件的修改;目錄設(shè)置:在dataDir所指定的目錄下創(chuàng)建一個(gè)文件名為myid的文件;遠(yuǎn)程復(fù)制分發(fā)目錄文件并配置環(huán)境變量;在ZooKeeper集群的每個(gè)結(jié)點(diǎn)上,執(zhí)行啟動(dòng)ZooKeeper服務(wù)的腳本,分別在slave1、slave2和slave3機(jī)器上執(zhí)行相關(guān)命令,啟動(dòng)zookeeper集群;停止Zookeeper進(jìn)程。進(jìn)一步的技術(shù)方案在于,所述的HBase分布式服務(wù)的配置方法如下:HBase的解壓安裝;添加環(huán)境變量;配置hbase-env.sh文件、hbase-site.xml文件以及regionservers文件;安裝目錄下jar包的替換;將hadoop的部分配置文件拷貝到HBase分布式服務(wù)的conf目錄下;遠(yuǎn)程復(fù)制分發(fā)目錄文件并配置環(huán)境變量;在啟動(dòng)HBase之前,需要首先啟動(dòng)hadoop,接下來(lái)再啟動(dòng)zookeeper服務(wù);若要終止HBase服務(wù),則首先需要終止zookeeper,再停止hadoop進(jìn)程的運(yùn)行。在啟動(dòng)hadoop和zookeeper之后,進(jìn)入HBase分布式服務(wù)的bin目錄,運(yùn)行腳本start-hbase.sh;進(jìn)入HBase分布式服務(wù)的bin目錄,啟動(dòng)HBase的shell命令,進(jìn)行數(shù)據(jù)表的創(chuàng)建、狀態(tài)查詢、數(shù)據(jù)插入操作。進(jìn)一步的技術(shù)方案在于,所述通過(guò)數(shù)據(jù)挖掘?qū)Ψ植际酱鎯?chǔ)、計(jì)算和處理后的電壓數(shù)據(jù)進(jìn)行分析,從大量數(shù)據(jù)中尋找出其規(guī)律的方法如下:數(shù)據(jù)準(zhǔn)備:從相關(guān)的數(shù)據(jù)源中選取所需的數(shù)據(jù)并整合成用于數(shù)據(jù)挖掘的數(shù)據(jù)集;規(guī)律尋找:用某種方法將數(shù)據(jù)集所含的規(guī)律找出來(lái);規(guī)律表示:以用戶可理解的方式將找出的規(guī)律表示出來(lái)。進(jìn)一步的技術(shù)方案在于,所述的統(tǒng)計(jì)分析是指對(duì)收集到的有關(guān)數(shù)據(jù)資料進(jìn)行整理歸類并進(jìn)行解釋的過(guò)程,所述的統(tǒng)計(jì)分析包括描述統(tǒng)計(jì)和推斷統(tǒng)計(jì)。進(jìn)一步的技術(shù)方案在于,所述的描述統(tǒng)計(jì)是指:對(duì)找出規(guī)律的電壓數(shù)據(jù)加以整理、歸類、簡(jiǎn)化或繪制成圖表,以此描述和歸納數(shù)據(jù)的特征及變量之間的關(guān)系,描述統(tǒng)計(jì)包括數(shù)據(jù)的集中趨勢(shì)、離散程度和相關(guān)強(qiáng)度,相關(guān)指標(biāo)有平均數(shù)、標(biāo)準(zhǔn)差以及相關(guān)系數(shù)。進(jìn)一步的技術(shù)方案在于,所述的推斷統(tǒng)計(jì)是指:用概率形式來(lái)決斷電壓數(shù)據(jù)之間是否存在某種關(guān)系及用樣本統(tǒng)計(jì)值來(lái)推測(cè)總體特征;推斷統(tǒng)計(jì)包括總體參數(shù)估計(jì)和假設(shè)檢驗(yàn),使用的方法有Z檢驗(yàn)、T檢驗(yàn)、卡方檢驗(yàn)。采用上述技術(shù)方案所產(chǎn)生的有益效果在于:所述方法基于大數(shù)據(jù)技術(shù),能有效集成電壓監(jiān)測(cè)儀、計(jì)量自動(dòng)化、配網(wǎng)生產(chǎn)、GIS、營(yíng)銷系統(tǒng)的海量電壓數(shù)據(jù)。對(duì)海量電壓數(shù)據(jù)進(jìn)行統(tǒng)一進(jìn)行存儲(chǔ)、處理、計(jì)算、分析,包括準(zhǔn)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)、大數(shù)據(jù)分布式存儲(chǔ)、數(shù)據(jù)處理分析以及數(shù)據(jù)可視化。能夠準(zhǔn)確高效滿足電壓監(jiān)測(cè)管控和停電監(jiān)測(cè)應(yīng)用需求,基于大數(shù)據(jù)挖掘技術(shù)能夠挖掘出電壓異常原因,有力的支持了智能電網(wǎng)建設(shè)和維護(hù)。附圖說(shuō)明下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。圖1是本發(fā)明實(shí)施例所述方法中大數(shù)據(jù)分布式處理技術(shù)架構(gòu)圖。圖2是本發(fā)明實(shí)施例所述方法的流程圖;圖3是本發(fā)明實(shí)施例所述方法中Hadoop分布式云計(jì)算平臺(tái)的構(gòu)建方法流程圖。具體實(shí)施方式下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開(kāi)的具體實(shí)施例的限制。由于電壓監(jiān)測(cè)要從多個(gè)系統(tǒng)獲取數(shù)據(jù),導(dǎo)致數(shù)據(jù)平臺(tái)數(shù)據(jù)量增大,根據(jù)數(shù)據(jù)結(jié)構(gòu)和技術(shù)指標(biāo)中的性能要求,本方法選取了大數(shù)據(jù)技術(shù)中的分布式存儲(chǔ)技術(shù)和并行計(jì)算技術(shù)。結(jié)合現(xiàn)有的應(yīng)用模塊的分析、評(píng)價(jià)要求,本發(fā)明還選取了大數(shù)據(jù)挖掘技術(shù)、指標(biāo)預(yù)測(cè)技術(shù),通過(guò)這些技術(shù)保證了電壓監(jiān)測(cè)系統(tǒng)數(shù)據(jù)監(jiān)測(cè)分析的實(shí)時(shí)性和準(zhǔn)確性,符合智能電網(wǎng)建設(shè)的要求。在大規(guī)模智能電網(wǎng)中,各類供電設(shè)備數(shù)量眾多、分布范圍極廣,這造成了所采集的數(shù)據(jù)量多而繁雜的問(wèn)題,面對(duì)這些海量、動(dòng)態(tài)、分布式且多源異構(gòu)的信息,傳統(tǒng)的集中式數(shù)據(jù)存儲(chǔ)方式使數(shù)據(jù)庫(kù)成為訪問(wèn)瓶頸,嚴(yán)重限制了數(shù)據(jù)的訪問(wèn)與處理速度,很難實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的實(shí)時(shí)性和可靠性,而且各服務(wù)器之間大量數(shù)據(jù)的頻繁交換,占用了大量的網(wǎng)絡(luò)資源。分布式數(shù)據(jù)存儲(chǔ):分布式數(shù)據(jù)存儲(chǔ)技術(shù)可以有效解決這一問(wèn)題。分布式存儲(chǔ)就是要把網(wǎng)絡(luò)中各個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)容量虛擬地連接起來(lái),組成一個(gè)巨大的存儲(chǔ)池,使海量數(shù)據(jù)分散地存儲(chǔ)在各個(gè)節(jié)點(diǎn),又通過(guò)相應(yīng)的存儲(chǔ)策略將它們有機(jī)地連接起來(lái),形成一個(gè)存儲(chǔ)的整體。因此,通過(guò)充分結(jié)合全網(wǎng)電壓監(jiān)測(cè)對(duì)數(shù)據(jù)的傳輸、存儲(chǔ)與查詢的客觀要求,提出了以數(shù)據(jù)為中心的分布式數(shù)據(jù)存儲(chǔ)方法來(lái)處理電壓監(jiān)測(cè)過(guò)程中所產(chǎn)生的海量數(shù)據(jù)的存儲(chǔ)策略。本發(fā)明所采用的海量數(shù)據(jù)分布式處理技術(shù)架構(gòu)如下圖1所示。并行計(jì)算技術(shù):采用集群、分布式處理、任務(wù)調(diào)度等策略實(shí)現(xiàn)統(tǒng)一的數(shù)據(jù)采集管理。采取內(nèi)存計(jì)算技術(shù),在內(nèi)存中駐留各類服務(wù)和節(jié)點(diǎn)所需訪問(wèn)的參數(shù)數(shù)據(jù),大部分業(yè)務(wù)對(duì)歷史數(shù)據(jù)庫(kù)的訪問(wèn)轉(zhuǎn)為對(duì)內(nèi)存的訪問(wèn),減少數(shù)據(jù)庫(kù)壓力,提高性能。采用多機(jī)集群以及多線程并行計(jì)算等實(shí)現(xiàn)高效的數(shù)據(jù)計(jì)算處理,從而保障了電壓監(jiān)測(cè)的實(shí)時(shí)性和高效性。通過(guò)Hadoop分布式計(jì)算技術(shù)采用MAP-REDUCE模型建立分布式計(jì)算集群或者YonghongZ-Suite等高性能工具,對(duì)電力大數(shù)據(jù)進(jìn)行分布式計(jì)算和處理。數(shù)據(jù)挖掘技術(shù):具體模型包括聚類模型、決策樹(shù)模型、貝葉斯分類模型、遺傳算法與粗糙集分類模型等。同時(shí)支持對(duì)多個(gè)模型的聯(lián)合應(yīng)用,可以有效滿足電壓監(jiān)測(cè)系統(tǒng)對(duì)數(shù)據(jù)深入挖掘的要求。數(shù)據(jù)挖掘技術(shù)是通過(guò)分析大量數(shù)據(jù),從大量數(shù)據(jù)中尋找其規(guī)律的技術(shù),主要有數(shù)據(jù)準(zhǔn)備、規(guī)律尋找和規(guī)律表示3個(gè)步驟。數(shù)據(jù)準(zhǔn)備是從相關(guān)的數(shù)據(jù)源中選取所需的數(shù)據(jù)并整合成用于數(shù)據(jù)挖掘的數(shù)據(jù)集;規(guī)律尋找是用某種方法將數(shù)據(jù)集所含的規(guī)律找出來(lái);規(guī)律表示是盡可能以用戶可理解的方式(如可視化)將找出的規(guī)律表示出來(lái)。數(shù)據(jù)挖掘的任務(wù)有關(guān)聯(lián)分析、聚類分析、分類分析、異常分析、特異群組分析和演變分析等等。指標(biāo)預(yù)測(cè)技術(shù):其分析包括電壓影響因素分析和停電影響因素分析;同時(shí),也包括對(duì)決策事項(xiàng)核心指標(biāo)未來(lái)發(fā)展?fàn)顩r的預(yù)測(cè),以便輔助相關(guān)部門開(kāi)展運(yùn)營(yíng)計(jì)劃的制定。指標(biāo)的預(yù)測(cè)包括了長(zhǎng)期、中期與短期預(yù)測(cè)。具體模型包括Winters-DM模型、一元線性回歸模型、二次指數(shù)平滑模型、BP神經(jīng)網(wǎng)絡(luò)與灰色模型等。同時(shí)支持對(duì)多個(gè)模型的聯(lián)合應(yīng)用,可以有效滿足電壓監(jiān)測(cè)系統(tǒng)相關(guān)指標(biāo)預(yù)測(cè)的要求。統(tǒng)計(jì)分析,常指對(duì)收集到的有關(guān)數(shù)據(jù)資料進(jìn)行整理歸類并進(jìn)行解釋的過(guò)程。統(tǒng)計(jì)分析可分為描述統(tǒng)計(jì)和推斷統(tǒng)計(jì)。描述統(tǒng)計(jì):描述統(tǒng)計(jì)是將研究中所得的數(shù)據(jù)加以整理、歸類、簡(jiǎn)化或繪制成圖表,以此描述和歸納數(shù)據(jù)的特征及變量之間的關(guān)系的一種最基本的統(tǒng)計(jì)方法。描述統(tǒng)計(jì)主要涉及數(shù)據(jù)的集中趨勢(shì)、離散程度和相關(guān)強(qiáng)度,最常用的指標(biāo)有平均數(shù)、標(biāo)準(zhǔn)差、相關(guān)系數(shù)等。推斷統(tǒng)計(jì):推斷統(tǒng)計(jì)指用概率形式來(lái)決斷數(shù)據(jù)之間是否存在某種關(guān)系及用樣本統(tǒng)計(jì)值來(lái)推測(cè)總體特征的一種重要的統(tǒng)計(jì)方法。推斷統(tǒng)計(jì)包括總體參數(shù)估計(jì)和假設(shè)檢驗(yàn),最常用的方法有Z檢驗(yàn)、T檢驗(yàn)、卡方檢驗(yàn)等。數(shù)據(jù)可視化技術(shù):數(shù)據(jù)可視化數(shù)據(jù)可視化主要旨在借助于圖形化手段,清晰有效地傳達(dá)與溝通信息,便于相關(guān)者對(duì)數(shù)據(jù)的理解和認(rèn)識(shí)。數(shù)據(jù)可視化與信息圖形、信息可視化、科學(xué)可視化以及統(tǒng)計(jì)圖形密切相關(guān)?;诖髷?shù)據(jù)的電壓監(jiān)測(cè)影響因素分析:在電網(wǎng)中,影響電壓的因素有很多。電阻、電流、變壓器過(guò)載或容量不夠、電線的長(zhǎng)度、各種設(shè)備的參數(shù)、功率因數(shù)以及在短路時(shí)電流會(huì)瞬間增大等,都會(huì)影響到電源電壓?,F(xiàn)基于綜合調(diào)度SCADA、計(jì)量自動(dòng)化等系統(tǒng)的基礎(chǔ)數(shù)據(jù)、運(yùn)行數(shù)據(jù)及電力設(shè)備間的拓?fù)潢P(guān)系和線路、負(fù)荷等模型,結(jié)合大數(shù)據(jù)處理技術(shù),通過(guò)對(duì)電壓情況進(jìn)行準(zhǔn)實(shí)時(shí)監(jiān)測(cè),可以實(shí)現(xiàn)以下5個(gè)應(yīng)用:1.對(duì)全網(wǎng)的電壓情況在接線圖上進(jìn)行展示:依據(jù)各系統(tǒng)的基礎(chǔ)數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì)后,生成電壓情況總圖,結(jié)合接線圖進(jìn)行顯示。2.針對(duì)不同區(qū)域的電壓進(jìn)行展示及趨勢(shì)圖展示分析:對(duì)不同區(qū)域生成電壓情況展示圖,并根據(jù)各區(qū)域的電壓情況生成電壓趨勢(shì)圖。3.自動(dòng)篩選不合格的主變、10kV線路以及配電臺(tái)區(qū),原因分析:依據(jù)基礎(chǔ)數(shù)據(jù),對(duì)不合格的主變、10kV線路、配電臺(tái)區(qū)分別進(jìn)行匯總展示,并以圖形方式展現(xiàn),對(duì)不合格原因進(jìn)行歸類分析。4.系統(tǒng)對(duì)需要關(guān)注的情況自動(dòng)預(yù)警:能自由設(shè)置預(yù)警參數(shù),系統(tǒng)會(huì)根據(jù)預(yù)先設(shè)置好的參數(shù)閥值進(jìn)行預(yù)警。5.對(duì)電壓監(jiān)測(cè)點(diǎn)的實(shí)時(shí)數(shù)據(jù)能按日電壓、月電壓合格率數(shù)據(jù)進(jìn)行計(jì)算和極值統(tǒng)計(jì),以圖+表的方式展現(xiàn)結(jié)果數(shù)據(jù)。基于大數(shù)據(jù)的停電監(jiān)測(cè)影響因素分析:基于標(biāo)準(zhǔn)化電網(wǎng)模型中的接線圖,結(jié)合監(jiān)測(cè)匯總的停電事件數(shù)據(jù),對(duì)影響停電的因素進(jìn)行分析,根據(jù)監(jiān)測(cè)的停電事件及計(jì)算得到的可靠性指標(biāo),可實(shí)現(xiàn)停電區(qū)域在接線圖上的顯示,可對(duì)不同區(qū)域內(nèi)用戶平均停電時(shí)間進(jìn)行趨勢(shì)分析,對(duì)線段重復(fù)停電、停電持續(xù)時(shí)間等分布情況進(jìn)行分析,對(duì)導(dǎo)致停電的主要責(zé)任原因進(jìn)行對(duì)比分析。同時(shí),關(guān)聯(lián)可轉(zhuǎn)供電率、線路分段數(shù)、絕緣化率、配網(wǎng)自動(dòng)化覆蓋率、帶電作業(yè)次數(shù)、轉(zhuǎn)供電次數(shù)等與可靠性密切相關(guān)的生產(chǎn)指標(biāo),并開(kāi)展相關(guān)性分析,查找供電可靠性的薄弱環(huán)節(jié),為制定整改措施提供基礎(chǔ)支撐。主要有以下4個(gè)基本應(yīng)用:1.按不同區(qū)域用戶停電時(shí)間進(jìn)行趨勢(shì)分析:根據(jù)用戶的停電時(shí)間,按不同區(qū)域生成停電時(shí)間趨勢(shì)圖。2.按不同區(qū)域用戶的停電次數(shù)進(jìn)行分析:根據(jù)用戶的停電次數(shù)數(shù)據(jù),按不同區(qū)域生成停電次數(shù)趨勢(shì)圖。3.對(duì)導(dǎo)致停電的原因進(jìn)行對(duì)比分析:根據(jù)各種停電數(shù)據(jù)按停電原因進(jìn)行匯總統(tǒng)計(jì),以圖+表的方式展示。4.結(jié)合供電率、線路分段數(shù)、絕緣化率等與生產(chǎn)指標(biāo)進(jìn)行分析。通過(guò)以上分析,本發(fā)明公開(kāi)了一種基于大數(shù)據(jù)處理的電壓監(jiān)測(cè)方法,如圖2所示,所述方法包括如下步驟:S101:通過(guò)Hadoop分布式云計(jì)算平臺(tái)對(duì)電壓數(shù)據(jù)進(jìn)行分布式存儲(chǔ)、計(jì)算和處理;S102:通過(guò)數(shù)據(jù)挖掘?qū)Ψ植际酱鎯?chǔ)、計(jì)算和處理后的電壓數(shù)據(jù)進(jìn)行分析,從大量數(shù)據(jù)中尋找出其規(guī)律;S103:通過(guò)對(duì)尋找出規(guī)律的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,對(duì)電壓數(shù)據(jù)的相應(yīng)指標(biāo)進(jìn)行預(yù)測(cè)。所述方法基于大數(shù)據(jù)技術(shù),能有效集成電壓監(jiān)測(cè)儀、計(jì)量自動(dòng)化、配網(wǎng)生產(chǎn)、GIS、營(yíng)銷系統(tǒng)的海量電壓數(shù)據(jù)。對(duì)海量電壓數(shù)據(jù)進(jìn)行統(tǒng)一進(jìn)行存儲(chǔ)、處理、計(jì)算、分析,包括準(zhǔn)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)、大數(shù)據(jù)分布式存儲(chǔ)、數(shù)據(jù)處理分析以及數(shù)據(jù)可視化。能夠準(zhǔn)確高效滿足電壓監(jiān)測(cè)管控和停電監(jiān)測(cè)應(yīng)用需求,基于大數(shù)據(jù)挖掘技術(shù)能夠挖掘出電壓異常原因,有力的支持了智能電網(wǎng)建設(shè)和維護(hù)。圖3是本發(fā)明實(shí)施例所述方法中Hadoop分布式云計(jì)算平臺(tái)的構(gòu)建方法流程圖,從圖中可以看出Hadoop分布式云計(jì)算平臺(tái)的構(gòu)建方法如下:創(chuàng)建虛擬機(jī)master,完成JDK、Hadoop應(yīng)用的安裝和配置;對(duì)虛擬機(jī)master進(jìn)行克隆,得到的虛擬機(jī)分別作為slave1、slave2和slave3;完成Zookeeper、HBase分布式服務(wù)的配置,搭建Hadoop集群;運(yùn)行并測(cè)試Hadoop集群系統(tǒng)。各節(jié)點(diǎn)信息如下表所示:機(jī)器名IP地址用戶名充當(dāng)角色master172.19.17.102hadoopJobTracker、Namenodeslave1172.19.17.104hadoopTaskTracker、Datanodeslave2172.19.17.105hadoopTaskTracker、Datanodeslave3172.19.17.106hadoopTaskTracker、DatanodeHadoop分布式云計(jì)算平臺(tái)的構(gòu)建方法具體如下:本實(shí)施例中Hadoop分布式云計(jì)算平臺(tái)的搭建,需要4臺(tái)物理節(jié)點(diǎn)來(lái)部署Hadoop平臺(tái)環(huán)境。使用虛擬機(jī)軟件VMwareWorkstation創(chuàng)建4臺(tái)虛擬機(jī),承載平臺(tái)搭建工作。另外,由于對(duì)4臺(tái)虛擬機(jī)的配置大部分是相同的,所以利用VMwareWorkstation的克隆功能,可以減少部署的工作量。1.1安裝虛擬機(jī)軟件VMwareWorkstation首先在4臺(tái)PC機(jī)器上均安裝虛擬化軟件VMwareWorkstation,并輸入相應(yīng)的序列號(hào)。1.2在master節(jié)點(diǎn)上安裝Linux系統(tǒng)Ubuntu在設(shè)定為masterPC節(jié)點(diǎn)上首先安裝Linux系統(tǒng)(版本為ubuntu-11.04-desktop-i386),在安裝過(guò)程中為提高后期安裝軟件的兼容性和穩(wěn)定性,在系統(tǒng)語(yǔ)言上選擇英語(yǔ)。創(chuàng)建用戶名為“hadoop”的普通用戶,設(shè)置統(tǒng)一的密碼。安裝完成后將系統(tǒng)的terminal命令窗口調(diào)出來(lái),以便使用。同時(shí),為實(shí)現(xiàn)虛擬機(jī)的Ubuntu系統(tǒng)與本機(jī)的Windows系統(tǒng)之間方便快捷的文字復(fù)制粘貼以及物理主機(jī)系統(tǒng)與虛擬機(jī)系統(tǒng)相互拖放文件進(jìn)行共享,需要安裝VMareTools工具,具體操作如下:?jiǎn)?dòng)虛擬機(jī),進(jìn)入U(xiǎn)buntu系統(tǒng),在VM菜單欄“虛擬機(jī)(M)”的下拉菜單點(diǎn)擊“安裝VMareTools(T)”后,會(huì)彈出一個(gè)“VMareTools”文件夾,里面包含VMareTools的安裝包VMwareTools-9.6.2-1688356.tar.gz,將該安裝包拷貝到/home/hadoop目錄下,輸入命令進(jìn)行解壓安裝:tarxzvfVMwareTools-9.6.2-1688356.tar.gz此時(shí)在/home/hadoop/目錄下產(chǎn)生vmware-tools-distrib文件夾,進(jìn)入該目錄,通過(guò)在terminal終端輸入相應(yīng)命令,運(yùn)行vmware-install.pl腳本,按提示多次“回車”直至顯示安裝成功的信息,再重啟系統(tǒng)即可。在完成上述操作后,為保障Hadoop集群各節(jié)點(diǎn)之間的無(wú)障礙通信,需關(guān)閉系統(tǒng)防火墻。在重啟系統(tǒng)后,在terminal終端輸入命令:sudoufwdisable當(dāng)顯示“Firewallstoppedanddisableonsystemstartup”時(shí)表示防火墻已關(guān)閉,若后續(xù)服務(wù)部署過(guò)程中機(jī)器重啟無(wú)法實(shí)現(xiàn)節(jié)點(diǎn)之間的相互通信,可嘗試檢查防火墻是否關(guān)閉。1.3master節(jié)點(diǎn)的JDK安裝與配置由于Hadoop底層實(shí)現(xiàn)是用JAVA語(yǔ)言編寫(xiě)的,因此它的運(yùn)行離不開(kāi)JAVA運(yùn)行環(huán)境(JRE)的支持,這就需要JDK。JDK有多個(gè)更新版本,安裝過(guò)程大致相同,這里選擇安裝最近更新的版本jdkl.8.0_20。先將安裝文件jdk-8u20-linux-i586.gz拷貝到master節(jié)點(diǎn)的目錄/home/hadoop/下,在終端輸入命令:tarxzvfjdk-8u20-linux-i586.gz進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“jdk1.8.0_20”,所得的JDK安裝路徑為“/home/hadoop/jdk1.8.0_20”。安裝結(jié)束后打開(kāi)/etc/profile文件,配置JDK的classpath:在terminal終端鍵入命令:sudogedit/etc/profile打開(kāi)profile文件,在文件末尾加上相關(guān)語(yǔ)句。保存之后,在terminal終端輸入命令:source/etc/profile使其生效。并鍵入命令java–version查看是否配置成功,若出現(xiàn)如下信息,則表示java環(huán)境變量配置成功。1.4master節(jié)點(diǎn)的hadoop安裝與配置Hadoop的安裝是Hadoop平臺(tái)搭建的關(guān)鍵步驟,將下載的安裝包hadoop-2.2.0.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,進(jìn)行解壓安裝,輸入命令:tarxzvfhadoop-2.2.0.tar.gz安裝完成后配置環(huán)境變量:在系統(tǒng)文件/etc/profile以及Hadoop的安裝目錄/home/hadoop/hadoop-2.2.0文件夾下的多個(gè)文件添加相應(yīng)的配置信息。1.4.1添加環(huán)境變量打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)語(yǔ)句,然后保存,在終端鍵入命令source/etc/profile使其生效。若無(wú)視警告重啟ubuntu后將會(huì)出現(xiàn)以下情況:輸入密碼無(wú)法進(jìn)入系統(tǒng),一直處于輸入密碼后又跳轉(zhuǎn)回輸入密碼的界面。此時(shí)的解決方法是:在輸入密碼界面同時(shí)按下alt+ctrl+F2進(jìn)入ubuntu命令模式,并使用root用戶及對(duì)應(yīng)密碼登陸系統(tǒng),然后鍵入:/usr/bin/vi/etc/profile打開(kāi)etc/profile文件,找到最近在末尾加上的hadoop配置文件,按delete鍵刪除這些行,然后鍵入命令:wq!(注意此處有冒號(hào),不可省略)保存文件。然后同時(shí)按下ctrl+alt+del重啟系統(tǒng)即可使系統(tǒng)恢復(fù)正常登陸,然后按照上述方法重新配置。1.4.2目錄設(shè)置在普通用戶hadoop下創(chuàng)建hadoop的數(shù)據(jù)存儲(chǔ)目錄(若使用root用戶創(chuàng)建上述文件夾則會(huì)因權(quán)限問(wèn)題導(dǎo)致無(wú)法向這些文件夾中寫(xiě)入并讀取數(shù)據(jù)),可自行選擇數(shù)據(jù)存儲(chǔ)的路徑,我們選擇在/home/hadoop/文件夾下創(chuàng)建dfs和tmp作為數(shù)據(jù)存儲(chǔ)與交換的目錄,并在dfs文件夾下創(chuàng)建name和data兩個(gè)子文件夾。1.4.3/home/hadoop/hadoop-2.2.0/etc/hadoop下配置文件的修改接下來(lái)在/home/hadoop/hadoop-2.2.0/etc/hadoop目錄下需要修改以下文件的內(nèi)容:在slaves文件下分別寫(xiě)入三個(gè)slave節(jié)點(diǎn)的名稱,完成節(jié)點(diǎn)信息配置,并分別通過(guò)對(duì)hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、yarn-env.sh等文件分別進(jìn)行Hadoop核心文件配置、HDFS配置、Mapreduce配置和Yarn配置。對(duì)/home/hadoop/hadoop-2.2.0/etc/hadoop文件夾下的幾個(gè)文件做一定的修改,配置每個(gè)文件時(shí)先單擊文件右鍵,選擇“openwithtexteditor”方式打開(kāi),按照以下方式修改,需要配置的文件如下:(1)配置hadoop-env.sh文件,打開(kāi)該文件,檢索“#exportJAVA_HOME=${JAVA_HOME}”文本;(2)配置slaves文件,打開(kāi)該文件,將其內(nèi)容修改為slave1、slave2、slave3。(3)配置core-site.xml文件,打開(kāi)該文件。(4)配置hdfs-site.xml文件,打開(kāi)該文件。注意:需要在hdfs-site.xml中配置dfs.replication屬性時(shí),dfs.replication屬性指定HDFS中文件塊復(fù)制的份數(shù),其默認(rèn)值為3,當(dāng)datanode節(jié)點(diǎn)少于3臺(tái)便會(huì)報(bào)錯(cuò)。在一般情況下,當(dāng)其屬性值為3的時(shí)候,HDFS的部署策略是在本地機(jī)柜中一個(gè)節(jié)點(diǎn)放置一個(gè)備份,在本地機(jī)柜的不同結(jié)點(diǎn)再放置一個(gè)備份,然后再在另一個(gè)機(jī)柜中的一個(gè)結(jié)點(diǎn)放置一個(gè)備份。(5)配置mapred-site.xml文件。事實(shí)上在進(jìn)行配置之前,mapred-site.xml文件默認(rèn)并不存在,需要首先將該目錄下的mapred-site.xml.template文件進(jìn)行復(fù)制,并重命名為mapred-site.xml,接下來(lái)打開(kāi)mapred-site.xml,添加相關(guān)語(yǔ)句。(6)配置yarn-site.xml文件,打開(kāi)該文件,在文件末尾添加相關(guān)語(yǔ)句。(7)配置yarn-env.sh文件,打開(kāi)該文件,檢索“#exportJAVA_HOME=/home/y/libexec/jdk1.6.0/”語(yǔ)句,在該語(yǔ)句下一行添加相關(guān)語(yǔ)句。通過(guò)對(duì)上述文件的修改,完成對(duì)Hadoop的配置。事實(shí)上,配置過(guò)程并不復(fù)雜,一般而言,除了規(guī)定的端口、IP地址、文件的存儲(chǔ)位置外,其他配置都不是必須修改的,可以根據(jù)需要決定是采用默認(rèn)配置還是自行修改。還有一點(diǎn)需要注意的是以上配置都被默認(rèn)為最終參數(shù),這些參數(shù)都不可以在程序中被再次修改。1.5Hadoop集群的部署與各節(jié)點(diǎn)的通信1.5.1安裝SSH服務(wù)通過(guò)建立SSH無(wú)密碼互訪,可以實(shí)現(xiàn)Hadoop虛擬機(jī)群之間的無(wú)密碼登錄互訪。在安裝SSH服務(wù)之前,首先需要更新軟件源,并保證每臺(tái)機(jī)器上都安裝了SSH服務(wù)器,且都能正常啟動(dòng)。軟件源更新完畢后,在terminal輸入相關(guān)命令開(kāi)始安裝openssh-server:sudoapt-getinstallopenssh-server;輸入相關(guān)命令,檢查openssh-server是否成功安裝:whichssh;如顯示/usr/bin/ssh表示ssh安裝成功:whichsshd;如顯示/usr/bin/sshd表示sshd安裝成功,如果以上二者都成功顯示,表示open-server安裝成功1.5.2克隆虛擬機(jī)作為Slave節(jié)點(diǎn)將上面配置好的虛擬機(jī)作為master,關(guān)閉作為master的ubuntu系統(tǒng),然后修改虛擬機(jī)的網(wǎng)絡(luò)連接設(shè)置,改為“橋接模式”,即在master虛擬機(jī)主界面點(diǎn)擊“虛擬機(jī)—設(shè)置—硬件—網(wǎng)絡(luò)適配器”,在彈出的對(duì)話的“網(wǎng)絡(luò)連接”項(xiàng)目下選擇“橋接模式(B)”此舉的目的在于使主節(jié)點(diǎn)和各從節(jié)點(diǎn)都能連上網(wǎng)絡(luò),從而使各臺(tái)機(jī)器之間能夠互訪。接下來(lái)對(duì)master進(jìn)行克隆,得到slave1、slave2、slave3的雛形,即點(diǎn)擊VM菜單下的“虛擬機(jī)—管理—克隆”,進(jìn)入克隆虛擬機(jī)的向?qū)Ы缑?,根?jù)向?qū)崾?,在“克隆類型”引?dǎo)界面選擇“創(chuàng)建完整克隆”。然后輸入被克隆的虛擬機(jī)名稱,先暫輸入slave1,點(diǎn)擊確認(rèn)進(jìn)行克隆,將克隆好的系統(tǒng)復(fù)制到除master之外的三臺(tái)PC節(jié)點(diǎn)上,用虛擬機(jī)VMware識(shí)別并將其啟動(dòng),并在虛擬機(jī)啟動(dòng)界面點(diǎn)擊“虛擬機(jī)—設(shè)置—選項(xiàng)—常規(guī)”設(shè)置中,分別修改虛擬機(jī)名稱為slave1、slave2和slave3。1.5.3設(shè)置IP地址在Hadoop平臺(tái)上,各個(gè)節(jié)點(diǎn)之間的互訪是基于TCP/IP協(xié)議的,所以要為各個(gè)節(jié)點(diǎn)分配IP地址。在四個(gè)PC節(jié)點(diǎn)上,點(diǎn)擊桌面右上角從左到右的第一個(gè)數(shù)據(jù)連接圖標(biāo),在下拉菜單中選擇最后一項(xiàng)“EditConnections…”在彈出的“NetworkConnections”框中選擇“Edit…”,顯示“EditingEthernetconnection1”框,點(diǎn)擊“IPv4Settings”將彈出的Method選擇框設(shè)置為Manual,然后添加IP地址。添加同一網(wǎng)關(guān)內(nèi)的IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān),目的是讓各個(gè)節(jié)點(diǎn)機(jī)器能夠互訪。需要注意的是在設(shè)置IP地址時(shí),需要首先在DNSservers輸入相應(yīng)的IP地址,否則無(wú)法填寫(xiě)“Addresses”項(xiàng)內(nèi)容。因此,將DNS服務(wù)器(DNSservers)地址設(shè)置為:202.96.128.166,接下來(lái)將master節(jié)點(diǎn)的IP地址(Address)設(shè)置為:172.19.17.102,子網(wǎng)掩碼(Netmask)設(shè)置為:255.255.255.0,默認(rèn)網(wǎng)關(guān)(Gateway)設(shè)置為:172.19.17.1。用同樣的方法,將虛擬機(jī)salve1的IP地址設(shè)置為:202.96.128.166(DNS服務(wù)器);172.19.17.104(IP地址);255.255.255.0(子網(wǎng)掩碼);172.19.17.1(網(wǎng)關(guān)),將slave2的IP地址設(shè)置為:202.96.128.166(DNS服務(wù)器);172.19.17.105(IP地址);255.255.255.0(子網(wǎng)掩碼);172.19.17.1(網(wǎng)關(guān)),將slave3的IP地址設(shè)置為:202.96.128.166(DNS服務(wù)器);172.19.17.106(IP地址);255.255.255.0(子網(wǎng)掩碼);172.19.17.1(網(wǎng)關(guān))。1.5.4修改機(jī)器名通過(guò)克隆得到的ubuntu系統(tǒng)有相同的機(jī)器名,所以要修改加載在各虛擬機(jī)中的系統(tǒng)名稱,來(lái)區(qū)分不同的節(jié)點(diǎn),以便后期操作。在master機(jī)器上打開(kāi)etc/hostname文件,將etc/hostname文件內(nèi)容修改為master;用同樣的方法分別在剛剛克隆得到的slave1、slave2和slave3上,修改其機(jī)器名:將slave1的機(jī)器名修改為slave1;將slave2的機(jī)器名修改為slave2;將slave3的機(jī)器名修改為slave3;1.5.5修改hosts文件通過(guò)修改hosts文件可以實(shí)現(xiàn)機(jī)器名和IP地址之間的映射,在master節(jié)點(diǎn)上,打開(kāi)文件/etc/hosts;用同樣的方法,在slave1、slave2和slave3機(jī)器上修改如上hosts文件,映射配置與master一致。配置完成后重啟master和slave1、slave2和slave3使其生效。1.5.6建立SSH無(wú)密碼互訪通過(guò)建立SSH無(wú)密碼互訪,可以實(shí)現(xiàn)Hadoop虛擬機(jī)集群之間的無(wú)密碼登陸互訪。首先在4臺(tái)機(jī)器上均生成秘鑰對(duì),并將slave1、slave2和slave3分別所生成的公鑰id_rsa.pub進(jìn)行重命名后發(fā)送到master機(jī)器上,由master將自身所生成的公鑰與其它三臺(tái)slave節(jié)點(diǎn)發(fā)送過(guò)來(lái)的公鑰合并到一個(gè)文件中,重新分發(fā)給三臺(tái)slave節(jié)點(diǎn)。對(duì)于不同的機(jī)器執(zhí)行對(duì)應(yīng)的操作如下:(1)master生成密鑰對(duì)此時(shí),在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個(gè)文件id_rsa和id_rsa.pub(2)slave1生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maser在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個(gè)文件id_rsa和id_rsa.pub,并重命名公鑰id_rsa.pub為id_rsa_slave1.pub;將重命名后的文件都復(fù)制到master機(jī);(3)slave2生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maser;(4)slave3生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maser;(5)master合并公鑰,重新分發(fā)給各slave節(jié)點(diǎn);(6)節(jié)點(diǎn)間無(wú)密碼互訪測(cè)試:在任意機(jī)器上輸入命令訪問(wèn)另一臺(tái)機(jī)器,如果返回”Agentadmittedfailuretosignusingthekey“,不能連接到slave1,此時(shí)可輸入相關(guān)命令使ssh-agent處于運(yùn)行狀態(tài),再將id_rsa添加到ssh-agent中。1.6啟動(dòng)Hadoop1.6.1啟動(dòng)HDFS(1)初始化namenode在運(yùn)行Hadoop平臺(tái)之前,要在master上格式化文件系統(tǒng),建立HDFS。切換至hadoop用戶,進(jìn)入/home/hadoop/hadoop-2.2.0/bin,初始化Namenode;格式化會(huì)產(chǎn)生多條信息,其中倒數(shù)第三行如果出現(xiàn):.......Storagedirectory/home/hadoop/hdfs/namehasbeensuccessfullyformatted,則說(shuō)明格式化HDFS成功,初始化完成之后會(huì)自動(dòng)的在/home/hdoop/hadoop-2.2.0/創(chuàng)建dfs/name/目錄。(2)測(cè)試啟動(dòng)HDFS在hadoop用戶下,啟動(dòng)namenode,執(zhí)行相關(guān)命令:hadoop-daemon.shstartnamenode;啟動(dòng)datanode,執(zhí)行相關(guān)命令:hadoop-daemon.shstartdatanode。當(dāng)namenode與datanode均啟動(dòng)之后,可使用jps命令查看進(jìn)程;當(dāng)同時(shí)看到下列進(jìn)程時(shí),標(biāo)明hadoop正常運(yùn)行:3588NameNode,3692DataNode;3757Jps如上述進(jìn)程啟動(dòng)過(guò)程正常,則可啟動(dòng)HDFS。1.6.2啟動(dòng)YARN在hadoop用戶下,切換至/home/hadoop/hadoop-2.2.0/sbin目錄下,執(zhí)行腳本./start-yarn.sh,啟動(dòng)YARN;1.7Hadoop平臺(tái)測(cè)試在Hadoop平臺(tái)搭建完成后,對(duì)Hadoop平臺(tái)進(jìn)行測(cè)試。在Hadoop的安裝目錄下,提供了一個(gè)單詞統(tǒng)計(jì)程序—WordCount。WordCount程序運(yùn)行于Hadoop計(jì)算平臺(tái)之上,充分利用了MapReduce和HDFS。它可以對(duì)文件中單詞出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),然后給出統(tǒng)計(jì)結(jié)果。通過(guò)運(yùn)行WordCount程序,可以檢測(cè)Hadoop平臺(tái)是否能夠正常運(yùn)行。(1)在HDFS上建立相應(yīng)的目錄和相應(yīng)的文本文件;(2)在HDFS上建立文件夾input,將file01和file02上傳至hdfs的input文件夾;(3)運(yùn)行WordCount程序;(4)程序的運(yùn)行結(jié)果輸出;2.1Zookeeper的安裝與配置:Zookeeper是一個(gè)分布式開(kāi)源框架,提供了協(xié)調(diào)分布式應(yīng)用的基本服務(wù),它向外部應(yīng)用暴露一組通用服務(wù)—分布式同步、命名服務(wù)、集群維護(hù)等,簡(jiǎn)化分布式應(yīng)用協(xié)調(diào)及其管理的難度,提供高性能的分布式服務(wù)。同時(shí),分布式運(yùn)行的HBase(Hadoop分布式數(shù)據(jù)庫(kù))離不開(kāi)Hadoop協(xié)調(diào)工作系統(tǒng)Zookeeper的支持,事實(shí)上,HBase本身內(nèi)置Zookeeper,但由于自帶Zookeepke的HBase重啟時(shí)會(huì)順帶重啟Zookeeper,致使其它依賴Zookeeper的組件無(wú)法正常工作。因此需要安裝與HBase內(nèi)置的版本一致的Zookeeper。2.1.1Zookeeper的解壓安裝將下載好的安裝包zookeeper-3.4.5.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,輸入命令:tarxzvfzookeeper-3.4.5.tar.gz,進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“zookeeper-3.4.5”。安裝完成后配置環(huán)境變量:在系統(tǒng)目錄文件/etc/profile以及zookeeper的安裝目錄/home/hadoop/zookeeper-3.4.5/conf文件夾下的多個(gè)文件添加相應(yīng)的配置信息。2.1.2添加環(huán)境變量打開(kāi)/etc/profile文件,在terminal終端鍵入相關(guān)命令,然后保存,在終端鍵入命令source/etc/profile使其生效。2.1.3/home/hadoop/zookeeper-3.4.5下配置文件的修改Zookeeper集群環(huán)境下只要一半以上的機(jī)器能夠正常啟動(dòng),那么Zookeeper服務(wù)將是可用的。因此,集群上部署Zookeeper最好使用奇數(shù)臺(tái)機(jī)器,現(xiàn)搭建Hadoop集群共使用4臺(tái)PC節(jié)點(diǎn),只要3臺(tái)正常工作便可正常提供服務(wù),我們?cè)谌_(tái)slave節(jié)點(diǎn)上部署Zookeeper服務(wù)。接下來(lái)將對(duì)Zookeeper的配置文件參數(shù)進(jìn)行設(shè)置:(可以先在一臺(tái)機(jī)器slave1上配置,然后再分發(fā)給slave2和slave3)。進(jìn)入/home/hadoop/zookeeper-3.4.5/conf目錄,復(fù)制該目錄下的文件zoo_sampel.cfg并重命名為zoo.cfg,在terminal終端執(zhí)行相關(guān)命令,接下來(lái)打開(kāi)zoo.cfg文件,添相關(guān)語(yǔ)句。其中:slave1、slave2、slave3分別為主機(jī)名,配置文件中"server.id=host:port:port"中的第一個(gè)port是指從機(jī)器(follower)連接到主機(jī)器(leader)的端口號(hào),第二個(gè)port是進(jìn)行l(wèi)eadership選舉的端口號(hào)。2.1.4目錄設(shè)置在dataDir所指定的目錄/home/hadoop/zookeeper-3.4.5/zkdata創(chuàng)建一個(gè)文件名為myid的文件。由于/home/hadoop/zookeeper-3.4.5/目錄下zkdata子文件夾并不存在,因此需要先創(chuàng)建,然后再創(chuàng)建在zkdata子文件夾的myid文件,執(zhí)行相關(guān)命令,打開(kāi)myid文件,寫(xiě)入上述“server.id”中的id編號(hào),如:在slave1節(jié)點(diǎn)中的myid的內(nèi)容應(yīng)該寫(xiě)入1,將配置文件分發(fā)到其它節(jié)點(diǎn)后,也需要根據(jù)不同的server.id編號(hào)進(jìn)行修改。2.1.5遠(yuǎn)程復(fù)制分發(fā)目錄文件并配置環(huán)境變量將上面的安裝配置文件拷貝到集群中的其他機(jī)器上對(duì)應(yīng)的目錄下,拷貝完成后修改對(duì)應(yīng)的機(jī)器上的myid。修改slave2、slave3中的myid,分別修改為2和3。同時(shí),需要分別在slave2、slave3的/etc/profile文件下添加環(huán)境變量,打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)命令。2.1.6啟動(dòng)zookeeper集群在ZooKeeper集群的每個(gè)結(jié)點(diǎn)上,執(zhí)行啟動(dòng)ZooKeeper服務(wù)的腳本,分別在slave1、slave2和slave3機(jī)器上執(zhí)行相關(guān)命令,可使用jps命令查看進(jìn)程。若依次啟動(dòng)了所有機(jī)器上的Zookeeper進(jìn)程之后,輸入命令:zkServer.shstart可查看服務(wù)當(dāng)前的啟動(dòng)狀態(tài),包括集群中各個(gè)結(jié)點(diǎn)的角色(或是Leader,或是Follower),即mode所顯示的角色。另外,可以通過(guò)客戶端腳本,連接到ZooKeeper集群上。對(duì)于客戶端來(lái)說(shuō),ZooKeeper是一個(gè)整體(ensemble),連接到ZooKeeper集群便可共享整個(gè)集群的服務(wù),所以,可以在任何一個(gè)結(jié)點(diǎn)上建立到服務(wù)集群的連接,至此,完成了對(duì)Zookeeper集群的安裝和配置。2.2HBase的安裝與配置HBase是一個(gè)開(kāi)源的、版本化的、可伸縮、面向列的、以鍵值對(duì)形式存儲(chǔ)數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng),具有高效的存儲(chǔ)和簡(jiǎn)單的查詢功能,能提供大數(shù)據(jù)集的實(shí)時(shí)讀取和隨機(jī)訪問(wèn),利用HBase技術(shù)可以在廉價(jià)的PCServer上搭建起大規(guī)模的非結(jié)構(gòu)化存儲(chǔ)集群。它不僅能夠存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù),更適于存儲(chǔ)松散型的非結(jié)構(gòu)化數(shù)據(jù),即是介于映射(Key/Value)和關(guān)系型數(shù)據(jù)之間的數(shù)據(jù)。2.2.1HBase的解壓安裝將下載好的HBase安裝包hbase-0.96.2-hadoop2-bin.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,輸入命令:tarxzvfhbase-0.96.2-hadoop2-bin.tar.gz,進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“hbase-0.96.2-hadoop2”。安裝完成后配置環(huán)境變量:在系統(tǒng)目錄文件/etc/profile以及HBase的安裝目錄/home/hadoop/hbase-0.96.2-hadoop2/conf文件夾下的多個(gè)文件添加相應(yīng)的配置信息。2.2.2添加環(huán)境變量打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)指令,然后保存,在終端鍵入命令source/etc/profile使其生效。2.2.3/home/hadoop/hbase-0.96.2-hadoop2/conf下配置文件的修改(1)配置hbase-env.sh文件打開(kāi)該文件,在文件中檢索關(guān)鍵字“exportJAVA_HOME”,將等號(hào)“=”后的目錄修改為:/home/hadoop/jdk1.8.0_20/,即配置:exportJAVA_HOME=/home/hadoop/jdk1.8.0_20,使HBase能夠獲取到JDK服務(wù)的支持。同時(shí),由于HBase內(nèi)置Zookeeper,需要在hbase-env.sh文件進(jìn)行設(shè)置,使HBase工作時(shí)只啟動(dòng)外置的Zookeeper,自帶的Zookeeper服務(wù)進(jìn)程不啟動(dòng)。打開(kāi)該文件,在文件中檢索關(guān)鍵字“exportHBASE_MANAGES_ZK,將等號(hào)“=”后的值修改為:false,即配置:exportHBASE_MANAGES_ZK=false。(2)配置hbase-site.xml文件打開(kāi)/home/hadoop/hbase-0.96.2-hadoop2/conf下的hbase-site.xml文件,在文件末尾添加以相關(guān)命令。(3)配置regionservers文件打開(kāi)regionservers文件,添加相關(guān)命令。2.2.4/home/hadoop/hbase-0.96.2-hadoop2/lib目錄下jar包的替換由于hbase-0.96.2安裝包的lib目錄下所用的hadoop相關(guān)jar包與hadoop-2.2.0一致,因此不需要進(jìn)行替換,此步驟可跳過(guò)。若兩者不兼容,則必須進(jìn)行替換,否則hbase將無(wú)法訪問(wèn)hdfs,導(dǎo)致所有的CRUD操作都會(huì)報(bào)錯(cuò)。如:hbase0.96.0安裝包的lib目錄下所用的hadoop相關(guān)jar包都是hadoop-2.1.0beta版的,而這部分jar包跟hadoop-2.2.0之間不能完全兼容,所以需要將hbase0.96.0的lib目錄中的hadoop相關(guān)jar包替換成hadoop2.2.0版的jar包。2.2.5將hadoop的部分配置文件拷貝到hbase0.96.2的conf目錄下將/home/hadoop/hadoop-2.2.0/etc/hadoop目錄下的hdfs-site.xml等文件拷貝到/home/hadoop/hbase-0.96.2-hadoop2/conf下。2.2.6遠(yuǎn)程復(fù)制分發(fā)目錄文件并配置環(huán)境變量完成上述操作后,將master節(jié)點(diǎn)上的/home/hadoop/hbase-0.96.2-hadoop2/目錄拷貝到slave1、slave2、slave3三臺(tái)就機(jī)器上,注意保證目錄結(jié)構(gòu)一致,執(zhí)行相關(guān)命令,同時(shí),需要分別在slave1、slave2和slave3的/etc/profile文件下添加環(huán)境變量,打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)命令。2.2.7啟動(dòng)HBase,測(cè)試在啟動(dòng)HBase之前,需要首先啟動(dòng)hadoop,接下來(lái)再啟動(dòng)zookeeper服務(wù);若要終止HBase服務(wù),則首先需要終止zookeeper,再停止hadoop進(jìn)程的運(yùn)行。在啟動(dòng)hadoop和zookeeper之后,進(jìn)入hbase0.96.2的bin目錄,運(yùn)行腳本start-hbase.sh,啟動(dòng)HBase服務(wù)的相關(guān)命令。在各節(jié)點(diǎn)上使用jps查看HBase是否啟動(dòng)成功,在master節(jié)點(diǎn)上,顯示“Hmaster”,在各slave節(jié)點(diǎn)上顯示“HRegionServer”,則表示集群上HBase啟動(dòng)成功,或者打開(kāi)web客戶端查看相關(guān)信息:master節(jié)點(diǎn)通過(guò)http://master:60010查詢,slave節(jié)點(diǎn)通過(guò)http://slave(i):60010(i=1,2,3)進(jìn)行查詢。2.2.8啟動(dòng)Shell連接進(jìn)入hbase0.96.2的bin目錄,啟動(dòng)HBase的shell命令,進(jìn)行數(shù)據(jù)表的創(chuàng)建、狀態(tài)查詢、數(shù)據(jù)插入等操作。執(zhí)行幾個(gè)基本操作,如list,status,create,put等進(jìn)行測(cè)試,如順利通過(guò)則安裝配置成功。如有任何異常,可通過(guò)hmaster的log來(lái)進(jìn)行分析,定位問(wèn)題所在。2.3Sqoop的安裝與配置Sqoop是一款開(kāi)源數(shù)據(jù)遷移工具,主要用于在Hadoop(或Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql、oracle等)間進(jìn)行數(shù)據(jù)的傳遞、遷移。2.3.1Sqoop的解壓安裝將下載好的Sqoop安裝包sqoop-1.99.3-bin-hadoop200.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,輸入命令:tarxzvfsqoop-1.99.3-bin-hadoop200.tar.gz,進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“sqoop-1.99.3-bin-hadoop200”。安裝完成后配置環(huán)境變量:在系統(tǒng)目錄文件/etc/profile以及Sqoop的安裝目錄/home/hadoop/sqoop-1.99.3-bin-hadoop200/server/conf文件夾下的多個(gè)文件添加相應(yīng)的配置信息。2.3.2添加環(huán)境變量打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)命令,然后保存,在終端鍵入命令source/etc/profile使其生效。2.3.3/home/hadoop/sqoop-1.99.3-bin-hadoop200/server/conf下配置文件的修改(1)配置catalina.properties文件打開(kāi)該文件,在文件中檢索關(guān)鍵字“common.loader”,在等號(hào)“=”后添加hadoop相關(guān)jar包路徑。(2)配置sqoop.properties文件打開(kāi)/home/hadoop/sqoop-1.99.3-bin-hadoop200/server/conf下的sqoop.properties文件,在文件中檢索文本“org.apache.sqoop.submission.engine.mapreduce.configuration.directory”,將等號(hào)“=”后的目錄修改為:/home/hadoop/hadoop-2.2.0/etc/hadoop,此處的配置文件中不能用環(huán)境變量(比如$HADOOP_HOME),必須用全路徑。2.3.3jar包的拷貝與替換(1)拷入需要用到的Oracle的jdbc包ojdbc6.jar到相關(guān)目錄由于從Oracle等數(shù)據(jù)庫(kù)向HBase、HDFS等Hadoop存儲(chǔ)系統(tǒng)導(dǎo)入數(shù)據(jù)時(shí),需要建立Oracle與Sqoop的連接,這就需要用到一個(gè)Oracle驅(qū)動(dòng)程序jdbc的jar包,因此將下載好的ojdbc6.jar包拷貝到以下兩個(gè)Sqoop文件目錄下。(2)log4j包沖突問(wèn)題的解決方法另外,由于在catalina.properties配置文件的common.loader屬性中配置引入了所有的hadoop相關(guān)jar包,而hadoop的lib目錄下帶有l(wèi)og4j包,雖然版本和Sqoop自帶的log4j不一致,但也造成了兩個(gè)目錄下log4j包沖突,需要將/home/hadoop/sqoop-1.99.3-bin-hadoop200/server/webapps/sqoop/WEB-INF/lib目錄下的log4j-1.2.16.jar移除。2.1.5遠(yuǎn)程復(fù)制分發(fā)目錄文件并配置環(huán)境變量將上面的安裝配置文件拷貝到集群中的其他機(jī)器上對(duì)應(yīng)的目錄下,同時(shí),需要分別在slave1、slave2和slave3的/etc/profile文件下添加環(huán)境變量,打開(kāi)/etc/profile文件,在terminal終端鍵入命令:sudogedit/etc/profile調(diào)出profile文件,在文件末尾加上相關(guān)命令。2.3.5啟動(dòng)SqoopSqoop分為server端和client端,server端只需要在一個(gè)hadoop節(jié)點(diǎn)上運(yùn)行即可,client端可以在任意hadoop節(jié)點(diǎn)上運(yùn)行。(1)啟動(dòng)server端進(jìn)入/home/hadoop/sqoop-1.99.3-bin-hadoop200/bin目錄下,運(yùn)行sqoop.sh腳本的server啟動(dòng)服務(wù),啟動(dòng)Sqoop的server端,執(zhí)行相關(guān)命令,若顯示以下信息(部分信息),則表示成功啟動(dòng)server端:Sqoophomedirectory:/home/hadoop/sqoop-1.99.3-bin-hadoop200SettingSQOOP_HTTP_PORT:12000SettingSQOOP_ADMIN_PORT:12001(2)啟動(dòng)client端進(jìn)入/home/hadoop/sqoop-1.99.3-bin-hadoop200/bin目錄下,運(yùn)行sqoop.sh腳本的client啟動(dòng)服務(wù),啟動(dòng)Sqoop的client端,執(zhí)行相關(guān)命令,若顯示以下信息,則表示成功啟動(dòng)client端:Sqoophomedirectory:/home/hadoop/sqoop-1.99.3-bin-hadoop200SqoopShell:Type'help'or'\h'forhelp.到此,Sqoop1.99.3正常啟動(dòng)。當(dāng)前第1頁(yè)1 2 3