亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ElasticSearch的大日志實(shí)時搜索的軟件集成方案研究

        2014-01-15 01:54:55郭賀彬
        關(guān)鍵詞:插件日志集群

        白 俊,郭賀彬

        (北京京北職業(yè)技術(shù)學(xué)院 機(jī)電工程系,北京 101400)

        0 引言

        巨頭公司們每天有數(shù)以十億計(jì)的日志事件產(chǎn)生,從事大日志挖掘商業(yè)價(jià)值是一個極大的挑戰(zhàn),因?yàn)閭鹘y(tǒng)技術(shù)不能處理這么大規(guī)模的數(shù)據(jù).例如,如果載入數(shù)萬億的日志事件到Oracle數(shù)據(jù)庫,那么Oracle必須有集群.如果Oracle集群擴(kuò)展,那么性能會降低,一些傳統(tǒng)SQL的功能也會丟失[1].

        時間就是金錢,如果我們想搜索和實(shí)時分析日志,oracle集群壓力巨大,傳統(tǒng)RMDBS無法在一個合理的響應(yīng)時間內(nèi)處理如此大量的數(shù)據(jù).

        Hbase是一個基于Hadoop的新型非關(guān)系數(shù)據(jù)庫[2], 它是專為大數(shù)據(jù)的實(shí)時訪問而設(shè)計(jì).Rowkey是Hbase唯一個鍵值,這意味著在Hbase中沒有二次索引[3].所以當(dāng)我們想從Hbase搜索時,如果不直接使用rowkey,查詢數(shù)據(jù)時需要從硬盤導(dǎo)入更多的數(shù)據(jù)到內(nèi)存中.

        Lucene是許多互聯(lián)網(wǎng)公司的標(biāo)準(zhǔn)搜索引擎,但它不適合大數(shù)據(jù)和云計(jì)算環(huán)境[4].Solr和ElasticSearch都基于Lucene,它們兩個都是開源項(xiàng)目.Solr適用于獨(dú)立的應(yīng)用程序,ElasticSearch是專為現(xiàn)代云計(jì)算環(huán)境設(shè)計(jì)[5].

        ElasticSearch最大的特點(diǎn)是提供近乎實(shí)時的搜索服務(wù).雖然它是用Java實(shí)現(xiàn)的,但是集成了有很多客戶端支持比如 PHP,Ruby,Perl,Python,Scala.NE,JavaScript,Erlang和Clojure. Django,Couchbase 和SearchBox 也集成到ElasticSearch中. MongoDB,CounchDB,RabbitMQ、RSS、Sofa、JDBC、文件系統(tǒng),Dropbox,ActiveMQ,LDAP,亞馬遜,SQS,St9,OAI和Twitter可以直接導(dǎo)入到ElasticSearch[6].Zookeeper and internal Zen Discovery 可用于發(fā)現(xiàn)自動節(jié)點(diǎn),所有的分片和副本可以移動到任何節(jié)點(diǎn)的ElasticSearch集群中[7].索引可以分發(fā)到指定的分片和節(jié)點(diǎn),而且它是RESTFUL架構(gòu)的.

        收集實(shí)時的均等的日志是檢索和分析的第一步,在這個測試中,F(xiàn)lume是用來做這項(xiàng)工作[8].

        1 系統(tǒng)設(shè)計(jì)要點(diǎn)

        Flume代理從最終用戶機(jī)器收集日志事件,在Flume收集器側(cè),Hbase插件用于為Hbase提供日志事件.ElasticSearch插件用于分析日志事件和索引提供給ElasticSearch集群.圖1顯示了日志事件收集、索引和存儲.

        ElasticSearch首先根據(jù)搜索條件得到需要的rowkey列表,Hbase用這些rowkey直接從數(shù)據(jù)庫中得到數(shù)據(jù),展示如圖2.搜索條件包括:主機(jī)名,日志文件路徑,日志文件名,日志文件類型,環(huán)境,關(guān)鍵字和事件體,開始時間和結(jié)束時間.

        圖1 日志事件收集和索引流

        圖2 搜索流量

        2 數(shù)據(jù)結(jié)構(gòu)和算法

        假設(shè)所有的日志由應(yīng)用程序均等分組,通過一些公司調(diào)查發(fā)現(xiàn),SA喜歡把所有的日志單屏瀏覽.為了給用戶一個視覺友好的展示,日志事件應(yīng)該按他們的生成的序列出現(xiàn),所以hbase rowkey設(shè)計(jì)為順序的rowkey[9].順序rowkey適合順序讀取是因?yàn)橄嚓P(guān)的數(shù)據(jù)在同一個的數(shù)據(jù)塊內(nèi).

        Hbase rowkey模式設(shè)計(jì)為:appid時間戳,nanotime主機(jī)名.因?yàn)槲覀兿胫С秩臋z索,所以需要為每一條日志建立索引;但同時,日志事件在一定時間后自動可以被丟棄.ElasticSearch的設(shè)計(jì)模式如下:

        {

        "_default_" :{

        "_ttl" :{ //Default TTL is 6 months.

        "enabled" :true,

        "default" :7776000000},

        "_source" :{

        "enabled" :false},

        "properties" :{

        "env" :{ //whole env is used as term in Lucene.

        "type" :"string",

        "index" :"not_analyzed"},

        "eventbody" :{ //log event body is

        indexed.

        "type" :"string"},

        "hostname" :{

        "type" :"string",

        "index" :"not_analyzed"},

        "logfilename" :{

        "type" :"string",

        "index" :"not_analyzed"},

        "logpath" :{

        "type" :"string",

        "index" :"not_analyzed"},

        "logtype" :{

        "type" :"string",

        "index" :"not_analyzed"},

        "timestamp" :{ //timestamp and nanotime are used for sorting

        "type" :"long",

        "ignore_malformed" :false},

        "nanotime" :{

        "type" :"long",

        "ignore_malformed" :false}

        }}}

        3 測試環(huán)境

        由于沒有足夠的資金支持,基于硬件創(chuàng)建了虛擬機(jī)[10-11].雖然商品硬件可以足夠支持Hadoop,但在生產(chǎn)環(huán)境中最好使用更強(qiáng)大的服務(wù)器.這就需要使用強(qiáng)大的硬件支持ElasticSearch.Hardware的硬件測試環(huán)境如表1.

        表1 硬件測試環(huán)境

        3.1 試驗(yàn)結(jié)果矩陣

        在這個實(shí)驗(yàn)中,從一個日志文件中載入足夠多的日志事件,ElasticSearch緩存是禁用的,因?yàn)橄雽Ρ日鎸?shí)的搜索性能.共有7 gb日志文件和有148928992個日志事件,搜索關(guān)鍵字是“bigdata”,總匹配日志事件的數(shù)量是4375.如果只是想獲得前25條匹配的日志事件,它將需要6 s,測試結(jié)果矩陣如表2所示.

        表2 測試結(jié)果矩陣

        3.2 測試結(jié)果圖

        測試矩陣可視化圖如圖3所示.

        圖3 測試結(jié)果圖

        3.3 測試結(jié)果分析

        基于文中設(shè)計(jì)的虛擬機(jī)環(huán)境,設(shè)計(jì)基于順序rowkey的ElasticSearch的設(shè)計(jì)模式,得到實(shí)驗(yàn)結(jié)果和矩陣可以總結(jié)出日志事件可以由Flume實(shí)時收集,在Flume收集器側(cè),Hbase插件用于為Hbase提供日志事件.ElasticSearch插件用于分析日志事件和索引提供給ElasticSearch集群.日志事件可以使用ElasticSearch被實(shí)時的索引和搜索出來,隨著搜索更多的日志事件,反應(yīng)時間不線性增加,并且它會在合理的時間返回結(jié)果,這是實(shí)驗(yàn)預(yù)期的性能,文中實(shí)驗(yàn)采用的是虛擬機(jī)環(huán)境,如果提供更強(qiáng)大的服務(wù)器到位,性能會更好.文中采用順序的rowkey,順序rowkey適合順序讀取是因?yàn)橄嚓P(guān)的數(shù)據(jù)在同一個的數(shù)據(jù)塊內(nèi),又因?yàn)閞owkey是Hbase的唯一關(guān)鍵性因素,在某些情況下可以重新設(shè)計(jì)rowkey來獲得更多的分布式區(qū)域以提升性能.

        4 結(jié)論

        文中基于ElasticSearch 提出了實(shí)時進(jìn)行大日志數(shù)據(jù)搜索的軟件集成方案,并對設(shè)計(jì)方案進(jìn)行試驗(yàn),對試驗(yàn)數(shù)據(jù)進(jìn)行分析.數(shù)據(jù)結(jié)果表明,隨著搜索更多的日志事件,搜索反應(yīng)時間不線性增加,說明基于云搜索引擎ElasticSearch實(shí)時搜索大數(shù)據(jù)日志具有可行性.

        管理分布式集群不是一件容易的工作,應(yīng)利用一些SCM工具管理Hadoop集群和ElasticSearch集群.當(dāng)收集越來越多的日志事件時,索引文件將增長的非常大,搜索所有大型索引文件在生產(chǎn)中是不可能的,可以按每日或者每周來切分日志.Hadoop生態(tài)系統(tǒng)和Lucene可以看做是谷歌系統(tǒng)的一些開源實(shí)現(xiàn),應(yīng)該留意谷歌最新的出版物、FaceBook和其他互聯(lián)網(wǎng)公司獲得更好的想法.

        [1] 趙春雷.“大數(shù)據(jù)”時代的計(jì)算機(jī)信息處理技術(shù)[D].世界科學(xué),2012.

        [2]White T.Hadoop權(quán)威指南(中文版)[M].北京:清華大學(xué)出版社,2010.

        [3]楊寒冰,趙 龍,賈金原.Hbase數(shù)據(jù)庫遷移工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué)與探索,2013,7(3):236~246.

        [4]McCandless M.Lucene實(shí)戰(zhàn)(第2版) [M].北京:人民郵電出版社,2011.

        [5]Smiley D.Solr 1.4 Enterprise Search Server[M].Packt Publishing Limited,2009.

        [6]王 珊,王會舉.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[M].北京:數(shù)據(jù)工程與知識工程教育部重點(diǎn)實(shí)驗(yàn)室(中國人民大學(xué)),2011.

        [7]Lars George.HBase權(quán)威指南[M].南京:東南大學(xué)出版社,2012.

        [8]趙彥榮.基于Hadoop的高效連接查詢處理算法CHMJ[M].北京:中國科學(xué)院計(jì)算技術(shù)研究所,2012.

        [9]楊澤民,王文軍,郭顯娥.基于協(xié)同微粒群的股票數(shù)據(jù)關(guān)聯(lián)規(guī)則挖掘[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,33(3):31~34.

        [10]呂增輝,陶振凱,唐 靜.基于Lucene.net的對象持久化的實(shí)現(xiàn)[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,30 (1):90~91.

        [11]王俊生,施運(yùn)梅,張仰森.基于Hadoop的分布式搜索引擎關(guān)鍵技術(shù)[J].北京信息科技大學(xué)學(xué)報(bào),2011,26(4):53~61.

        猜你喜歡
        插件日志集群
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        自編插件完善App Inventor與樂高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        海上小型無人機(jī)集群的反制裝備需求與應(yīng)對之策研究
        一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:40
        游學(xué)日志
        Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
        勤快又呆萌的集群機(jī)器人
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        91精品视品在线播放| 亚洲午夜av久久久精品影院色戒| 欧美四房播播| 男女边吃奶边做边爱视频| 中文字幕av无码一区二区三区电影 | 美女与黑人巨大进入免费观看| 中国妇女做爰视频| 欧美老熟妇欲乱高清视频| 精品无人区无码乱码大片国产| 国产午夜福利在线观看中文字幕| 免费无遮挡无码永久在线观看视频| 日本做受高潮好舒服视频 | 精品欧洲av无码一区二区三区| 亚洲韩国在线| 国产另类av一区二区三区| 中国女人内谢69xxxxxa片 | 综合色久七七综合尤物| 亚洲一区二区在线视频,| 国产自拍av在线观看视频| 亚洲成av人片一区二区| 午夜短无码| 久久精品一区一区二区乱码| 小说区激情另类春色| 3344永久在线观看视频| 国产亚洲无码1024| 蜜臀av一区二区三区久久| 欧美黑人性暴力猛交喷水| 国产精品视频久久久久| 中文字幕人妻乱码在线| 丁香五月亚洲综合在线| 国产精品卡一卡二卡三| 国产经典免费视频在线观看| 不卡av网站一区二区三区| 麻豆精品国产精华精华液好用吗| 纯肉无遮挡H肉动漫在线观看国产 国产精品自产拍在线观看免费 | 成人免费av高清在线| 少妇高潮流白浆在线观看| 亚洲AⅤ永久无码精品AA| 日本在线观看三级视频| 国产乱码卡二卡三卡老狼| 久久久精品免费观看国产|