版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.PAGE.目錄1方案介紹11.1概述1Hbase1Elasticsearch1HbaseObserver21.2方案目標(biāo)21.3方案流程32ElasticSearch安裝部署42.1安裝準(zhǔn)備4服務(wù)器準(zhǔn)備4新建用戶4調(diào)整系統(tǒng)參數(shù)42.2JDK安裝52.3ES安裝及配置6解壓縮6配置6啟動及驗證7集群驗證82.4Head插件安裝9簡介9安裝92.5Marvel插件安裝10簡介10安裝<每個節(jié)點>102.6Kibana安裝10簡介10安裝11驗證122.7IK分詞器安裝〔每個節(jié)點安裝12驗證分詞效果133數(shù)據(jù)同步程序配置143.1多數(shù)據(jù)源的數(shù)據(jù)同步143.2創(chuàng)建索引mapping143.3編碼實現(xiàn)163.4Observer的部署163.5測試174常見問題匯總18..方案介紹概述HbaseHbase是運行在Hadoop上的NoSQL數(shù)據(jù)庫,它是一個分布式的和可擴展的大數(shù)據(jù)倉庫,也就是說HBase能夠利用HDFS的分布式處理模式,并從Hadoop的MapReduce程序模型中獲益。除去Hadoop的優(yōu)勢,HBase本身就是十分強大的數(shù)據(jù)庫,它能夠融合key/value存儲模式帶來實時查詢的能力,以及通過MapReduce進行離線處理或者批處理的能力??偟膩碚f,Hbase能夠讓你在大量的數(shù)據(jù)中查詢記錄,也可以從中獲得綜合分析報告。然而,隨著在HBase系統(tǒng)上應(yīng)用的驅(qū)動,人們發(fā)現(xiàn)Global-Rowkey-Indexing不再滿足應(yīng)用的需求。單一的通過Rowkey檢索數(shù)據(jù)的方式,不再滿足更多應(yīng)用的需求,由于hbase基于行健有序存儲,在查詢時使用Rowkey十分高效,然后想要實現(xiàn)關(guān)系型數(shù)據(jù)庫那樣可以隨意組合的多條件查詢、查詢總記錄數(shù)、分頁等就比較麻煩了,所以需要我們自己來實現(xiàn)二級索引來滿足業(yè)務(wù)的復(fù)雜查詢,及實時檢索。ElasticsearchElasticsearch是一個實時的分布式搜索和分析引擎。它可以幫助你用前所未有的速度去處理大規(guī)模數(shù)據(jù)。它可以用于全文搜索,結(jié)構(gòu)化搜索以及分析;Elasticsearch是一個建立在全文搜索引擎ApacheLucene基礎(chǔ)上的搜索引擎,可以說Lucene是當(dāng)今最先進,最高效的全功能開源搜索引擎框架。Elasticsearch并不僅僅是Lucene這么簡單,它不但包括了全文搜索功能,還可以進行以下工作:分布式實時文件存儲,并將每一個字段都編入索引,使其可以被搜索。實時分析的分布式搜索引擎。可以擴展到上百臺服務(wù)器,處理PB級別的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)。HbaseObserverHBase0.92版本后推出了Coprocessor--協(xié)處理器,一個工作在Master/RegionServer中的框架,能運行用戶的代碼,從而靈活地完成分布式數(shù)據(jù)處理的任務(wù)。Coprocessor包含兩個組件,一個是EndPoint〔類似關(guān)系型數(shù)據(jù)庫的存儲過程,用以加快特定查詢的響應(yīng),另一個就是Observer〔類似關(guān)系型數(shù)據(jù)庫的觸發(fā)器。Observer也分為幾個類型,其中RegionObserver提供了一組表數(shù)據(jù)操作的鉤子函數(shù),覆蓋了Get、Put、Scan、Delete等操作〔通常有pre和post兩種情況,表示在操作發(fā)生之前或發(fā)生之后,我們可以通過重載這些鉤子函數(shù),利用RegionServer實現(xiàn)特定的數(shù)據(jù)處理需求?;赗egionObserver的鉤子函數(shù),我們可以覆蓋Put及Delete方法來實現(xiàn)Hbase和ES直接的數(shù)據(jù)同步。方案目標(biāo)實現(xiàn)對HBase高性能的范圍檢索保證數(shù)據(jù)的低冗余保持數(shù)據(jù)的一致性方案流程數(shù)據(jù)進入HBase時,利用Observer同步進入ES索引庫;客戶端根據(jù)查詢條件,利用ES提供的JavaAPI對ES發(fā)起查詢請求;ES返回符合條件的RowKey;客戶端再根據(jù)RowKey去HBase獲取數(shù)據(jù);最后HBase返回結(jié)果集。ElasticSearch安裝部署安裝準(zhǔn)備服務(wù)器準(zhǔn)備為搭建ElasticSearch集群,準(zhǔn)備了三臺服務(wù)器,主機IP分別為:04Centos6.5.105Centos6.5Centos6.5新建用戶ES不支持root用戶啟動,分別登錄服務(wù)器新建es用戶,并把以下安裝包上傳到/home/es文件夾下:新建用戶并設(shè)置密碼,然后給用戶文件夾所有權(quán):useraddespasswdeschownes/home/es調(diào)整系統(tǒng)參數(shù)內(nèi)核參數(shù)調(diào)整vim/etc/sysctl.conf#增加下面的內(nèi)容fs.file-max=65536vm.max_map_count=262144#執(zhí)行命令sysctl-p資源參數(shù)調(diào)整vim/etc/security/limits.conf#修改*softnofile32768*hardnofile65536*softnproc2048*hardnproc4096調(diào)整線程數(shù)vim/etc/security/limits.d/90-nproc.conf找到如下內(nèi)容:*softnproc1024#修改為*softnproc2048JDK安裝登錄es用戶,進入/home/es文件夾,解壓JDK安裝包cd/home/estar-zxvfvim/etc/profile#增加環(huán)境變量exportJAVA_HOME=/opt/jdk1.7/jdexportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jarexportPATH=$JAVA_HOME/bin:$PATH注:ES2.x需要1.7JDK支持,官網(wǎng)下載1.7_71版本JDK。ES安裝及配置解壓縮cd/home/estar-zxvf配置vim/home/es/elasticsearch-/config/elasticsearch.yml注:集群名稱,各個節(jié)點的值必須一致節(jié)點名稱,各個節(jié)點的值不能一致network.host本機ip地址.port提供鏈接的端口號設(shè)置master節(jié)點的初始列表,通過這些節(jié)點自動發(fā)現(xiàn)新加入集群的節(jié)點設(shè)置這個參數(shù)來保證集群中的節(jié)點可以知道其它N個有master資格的節(jié)點,官方推薦設(shè)置成N/2+1,N是集群中master節(jié)點的數(shù)量。#修改ES內(nèi)存vim/home/es/elasticsearch-/bin/elasticsearch#ES_HEAP_SIZE=8g注:調(diào)整內(nèi)存大小最好不要超過總資源一半,也不要超過32G啟動及驗證cd/home/es/elasticsearch-/bin./elasticsearch#控制臺啟動./elasticsearch–d#后臺啟動看到如下信息則為啟動成功:在瀏覽器中輸入:://05:9200/返回如下結(jié)果:集群驗證所有節(jié)點啟動之后,瀏覽器訪問:://05:9200/_cluster/health?pretty=true如果返回以下結(jié)果說明集群狀態(tài)正常Head插件安裝簡介elasticsearch-head是一個elasticsearch的集群管理工具,通過head可以查看集群幾乎所有信息,還能進行簡單的搜索查詢,觀察自動恢復(fù)的情況等等。安裝cd/home/es/elasticsearch-/bin./plugininstallmobz/elasticsearch-head重啟elasticsearch,然后在瀏覽器輸入:://:9200/_plugin/head/可以查看顯示效果。如下圖Marvel插件安裝簡介Marvel插件:在簇中從每個節(jié)點匯集數(shù)據(jù)。這個插件必須每個節(jié)點都得安裝。Marvel是Elasticsearch的管理和監(jiān)控工具,在開發(fā)環(huán)境下免費使用。它包含了一個叫做Sense的交互式控制臺,使用戶方便的通過瀏覽器直接與Elasticsearch進行交互。安裝<每個節(jié)點>c./plugininstalllicense./plugininstallmarvel-agentKibana安裝簡介kibana插件提供了Marvel監(jiān)控的UI界面。kibana是一個與elasticsearch一起工作的開源的分析和可視化的平臺;可以查詢、查看并與存儲在elasticsearch索引的數(shù)據(jù)進行交互操作;能執(zhí)行高級的數(shù)據(jù)分析,并能以圖表、表格和地圖的形式查看數(shù)據(jù);基于瀏覽器的接口使我們能夠快速的創(chuàng)建和分享顯示elasticsearch查詢結(jié)果實時變化的儀表盤。安裝cd/home/es/tar-zxvfvim/home/es/kibana--linux-x86_64/config/kibana.yml#修改server.host,否則遠程無法訪問#修改es訪問路徑cd/home/es/kibana--linux-x86_64/bin#安裝Marvel插件./kibanaplugin--installelasticsearch/marvel/latest#安裝sense插件./kibanaplugin--installelastic/sense#啟動kibana./kibana驗證瀏覽器訪問:://05:5601/,可以看到Kibana以及他的插件IK分詞器安裝〔每個節(jié)點安裝cd/home/es/unzip-d/home/es//plugins/ikvim/home/es/elasticsearch-/config/elasticsearch.yml#在文件最后添加index.analysis.analyzer.ik.type:"ik"#然后啟動ES驗證IK,看到如下信息IK安裝完成驗證分詞效果在head中輸入_analyze?analyzer=ik&pretty=true&text=helloworld,中華人民XX國數(shù)據(jù)同步程序配置多數(shù)據(jù)源的數(shù)據(jù)同步多個數(shù)據(jù)源中的數(shù)據(jù)同步問題,大概有三種解決方式:客戶端雙寫,分別將數(shù)據(jù)寫入兩個數(shù)據(jù)源〔同步、異步主數(shù)據(jù)源在收到數(shù)據(jù)后推給輔數(shù)據(jù)源〔同步、異步輔數(shù)據(jù)源從主數(shù)據(jù)源中拉取數(shù)據(jù)〔輪訓(xùn)、監(jiān)聽,全量、增量具體到HBase同步到Elasticsearch時,后兩種方式具體對應(yīng)的方案就是HBase的Observer和Elasticsearch的River,這兩種方式都可以在數(shù)據(jù)源中嵌入自己的業(yè)務(wù)邏輯,并且依托于集群可以輕松地保證高可用。但是,要使用River高效的同步數(shù)據(jù),必須要有一種拉取增量數(shù)據(jù)的方式,而在HBase中這并沒有很好的方法實現(xiàn),所以采用Observer的方法。創(chuàng)建索引mapping在sense中輸入:PUTtest{"settings":{"analysis":{"analyzer":{"ik":{"tokenizer":"ik"}}}},"mappings":{"doc":{"_source":{"enabled":true},"properties":{"title":{"type":"string"},"content":{"type":"string","analyzer":"ik"},"create_time":{"type":"date","format":"yyyy-MM-ddHH:mm:ss||yyyy-MM-dd||epoch_millis"}}}}}編碼實現(xiàn)Observer的Java實現(xiàn)只需要繼承BaseRegionObserver的基類,并重載postPut和postDelete兩個函數(shù)??紤]到未來HBase的寫入會比較頻繁,我們利用ElasticSearch的BulkAPI做了一個緩沖池:不是每次提交HBase數(shù)據(jù)都觸發(fā)索引操作,而是積累到一定數(shù)量或者到達一定時間間隔才去批量操作,從而降低了RegionServer的網(wǎng)絡(luò)I/O壓力。Observer的部署O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聽覺口語師班組建設(shè)評優(yōu)考核試卷含答案
- 羽絨加工及制品充填工崗前管理應(yīng)用考核試卷含答案
- 松節(jié)油合成反應(yīng)工發(fā)展趨勢測試考核試卷含答案
- 裝潢美術(shù)設(shè)計師安全檢查競賽考核試卷含答案
- 配電網(wǎng)設(shè)備運維員創(chuàng)新意識知識考核試卷含答案
- 鑄軋機操作工安全演練評優(yōu)考核試卷含答案
- 老年癡呆預(yù)防的個性化健康干預(yù)方案
- 高校教師職業(yè)發(fā)展規(guī)劃
- 老年用藥安全健康教育的案例教學(xué)法應(yīng)用
- 2026年甘肅省甘南州瑪曲縣藏族中學(xué)招聘臨聘教師備考題庫帶答案詳解
- 幼兒園大班社會課件:《我是中國娃》
- 重慶市萬州區(qū)2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試卷+
- 冰雕雪雕工程投標(biāo)方案(技術(shù)標(biāo))
- 內(nèi)科質(zhì)控會議管理制度
- 鄭州電力高等專科單招職能測試題
- 竣工圖編制說明-7
- 魯奇加壓氣化爐的開、停車操作課件
- 美國怡口全屋水處置介紹
- 常用實驗室檢查血常規(guī)演示文稿
- 生命第一:員工安全意識手冊
- cimatron紫藤教程系列g(shù)pp2運行邏輯及block說明
評論
0/150
提交評論