




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.PAGE.目錄1方案介紹11.1概述1Hbase1Elasticsearch1HbaseObserver21.2方案目標21.3方案流程32ElasticSearch安裝部署42.1安裝準備4服務器準備4新建用戶4調整系統(tǒng)參數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數據同步程序配置143.1多數據源的數據同步143.2創(chuàng)建索引mapping143.3編碼實現163.4Observer的部署163.5測試174常見問題匯總18..方案介紹概述HbaseHbase是運行在Hadoop上的NoSQL數據庫,它是一個分布式的和可擴展的大數據倉庫,也就是說HBase能夠利用HDFS的分布式處理模式,并從Hadoop的MapReduce程序模型中獲益。除去Hadoop的優(yōu)勢,HBase本身就是十分強大的數據庫,它能夠融合key/value存儲模式帶來實時查詢的能力,以及通過MapReduce進行離線處理或者批處理的能力。總的來說,Hbase能夠讓你在大量的數據中查詢記錄,也可以從中獲得綜合分析報告。然而,隨著在HBase系統(tǒng)上應用的驅動,人們發(fā)現Global-Rowkey-Indexing不再滿足應用的需求。單一的通過Rowkey檢索數據的方式,不再滿足更多應用的需求,由于hbase基于行健有序存儲,在查詢時使用Rowkey十分高效,然后想要實現關系型數據庫那樣可以隨意組合的多條件查詢、查詢總記錄數、分頁等就比較麻煩了,所以需要我們自己來實現二級索引來滿足業(yè)務的復雜查詢,及實時檢索。ElasticsearchElasticsearch是一個實時的分布式搜索和分析引擎。它可以幫助你用前所未有的速度去處理大規(guī)模數據。它可以用于全文搜索,結構化搜索以及分析;Elasticsearch是一個建立在全文搜索引擎ApacheLucene基礎上的搜索引擎,可以說Lucene是當今最先進,最高效的全功能開源搜索引擎框架。Elasticsearch并不僅僅是Lucene這么簡單,它不但包括了全文搜索功能,還可以進行以下工作:分布式實時文件存儲,并將每一個字段都編入索引,使其可以被搜索。實時分析的分布式搜索引擎??梢詳U展到上百臺服務器,處理PB級別的結構化或非結構化數據。HbaseObserverHBase0.92版本后推出了Coprocessor--協(xié)處理器,一個工作在Master/RegionServer中的框架,能運行用戶的代碼,從而靈活地完成分布式數據處理的任務。Coprocessor包含兩個組件,一個是EndPoint〔類似關系型數據庫的存儲過程,用以加快特定查詢的響應,另一個就是Observer〔類似關系型數據庫的觸發(fā)器。Observer也分為幾個類型,其中RegionObserver提供了一組表數據操作的鉤子函數,覆蓋了Get、Put、Scan、Delete等操作〔通常有pre和post兩種情況,表示在操作發(fā)生之前或發(fā)生之后,我們可以通過重載這些鉤子函數,利用RegionServer實現特定的數據處理需求?;赗egionObserver的鉤子函數,我們可以覆蓋Put及Delete方法來實現Hbase和ES直接的數據同步。方案目標實現對HBase高性能的范圍檢索保證數據的低冗余保持數據的一致性方案流程數據進入HBase時,利用Observer同步進入ES索引庫;客戶端根據查詢條件,利用ES提供的JavaAPI對ES發(fā)起查詢請求;ES返回符合條件的RowKey;客戶端再根據RowKey去HBase獲取數據;最后HBase返回結果集。ElasticSearch安裝部署安裝準備服務器準備為搭建ElasticSearch集群,準備了三臺服務器,主機IP分別為:04Centos6.5.105Centos6.5Centos6.5新建用戶ES不支持root用戶啟動,分別登錄服務器新建es用戶,并把以下安裝包上傳到/home/es文件夾下:新建用戶并設置密碼,然后給用戶文件夾所有權:useraddespasswdeschownes/home/es調整系統(tǒng)參數內核參數調整vim/etc/sysctl.conf#增加下面的內容fs.file-max=65536vm.max_map_count=262144#執(zhí)行命令sysctl-p資源參數調整vim/etc/security/limits.conf#修改*softnofile32768*hardnofile65536*softnproc2048*hardnproc4096調整線程數vim/etc/security/limits.d/90-nproc.conf找到如下內容:*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支持,官網下載1.7_71版本JDK。ES安裝及配置解壓縮cd/home/estar-zxvf配置vim/home/es/elasticsearch-/config/elasticsearch.yml注:集群名稱,各個節(jié)點的值必須一致節(jié)點名稱,各個節(jié)點的值不能一致network.host本機ip地址.port提供鏈接的端口號設置master節(jié)點的初始列表,通過這些節(jié)點自動發(fā)現新加入集群的節(jié)點設置這個參數來保證集群中的節(jié)點可以知道其它N個有master資格的節(jié)點,官方推薦設置成N/2+1,N是集群中master節(jié)點的數量。#修改ES內存vim/home/es/elasticsearch-/bin/elasticsearch#ES_HEAP_SIZE=8g注:調整內存大小最好不要超過總資源一半,也不要超過32G啟動及驗證cd/home/es/elasticsearch-/bin./elasticsearch#控制臺啟動./elasticsearch–d#后臺啟動看到如下信息則為啟動成功:在瀏覽器中輸入:://05:9200/返回如下結果:集群驗證所有節(jié)點啟動之后,瀏覽器訪問:://05:9200/_cluster/health?pretty=true如果返回以下結果說明集群狀態(tài)正常Head插件安裝簡介elasticsearch-head是一個elasticsearch的集群管理工具,通過head可以查看集群幾乎所有信息,還能進行簡單的搜索查詢,觀察自動恢復的情況等等。安裝cd/home/es/elasticsearch-/bin./plugininstallmobz/elasticsearch-head重啟elasticsearch,然后在瀏覽器輸入:://:9200/_plugin/head/可以查看顯示效果。如下圖Marvel插件安裝簡介Marvel插件:在簇中從每個節(jié)點匯集數據。這個插件必須每個節(jié)點都得安裝。Marvel是Elasticsearch的管理和監(jiān)控工具,在開發(fā)環(huán)境下免費使用。它包含了一個叫做Sense的交互式控制臺,使用戶方便的通過瀏覽器直接與Elasticsearch進行交互。安裝<每個節(jié)點>c./plugininstalllicense./plugininstallmarvel-agentKibana安裝簡介kibana插件提供了Marvel監(jiān)控的UI界面。kibana是一個與elasticsearch一起工作的開源的分析和可視化的平臺;可以查詢、查看并與存儲在elasticsearch索引的數據進行交互操作;能執(zhí)行高級的數據分析,并能以圖表、表格和地圖的形式查看數據;基于瀏覽器的接口使我們能夠快速的創(chuàng)建和分享顯示elasticsearch查詢結果實時變化的儀表盤。安裝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國數據同步程序配置多數據源的數據同步多個數據源中的數據同步問題,大概有三種解決方式:客戶端雙寫,分別將數據寫入兩個數據源〔同步、異步主數據源在收到數據后推給輔數據源〔同步、異步輔數據源從主數據源中拉取數據〔輪訓、監(jiān)聽,全量、增量具體到HBase同步到Elasticsearch時,后兩種方式具體對應的方案就是HBase的Observer和Elasticsearch的River,這兩種方式都可以在數據源中嵌入自己的業(yè)務邏輯,并且依托于集群可以輕松地保證高可用。但是,要使用River高效的同步數據,必須要有一種拉取增量數據的方式,而在HBase中這并沒有很好的方法實現,所以采用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"}}}}}編碼實現Observer的Java實現只需要繼承BaseRegionObserver的基類,并重載postPut和postDelete兩個函數??紤]到未來HBase的寫入會比較頻繁,我們利用ElasticSearch的BulkAPI做了一個緩沖池:不是每次提交HBase數據都觸發(fā)索引操作,而是積累到一定數量或者到達一定時間間隔才去批量操作,從而降低了RegionServer的網絡I/O壓力。Observer的部署O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東北民歌演唱分析
- 光伏用地 招租合同范例
- 與國外合作合同范例
- 百轉千回-關節(jié)人偶在繪畫藝術中的附體及其流變
- 代購服裝合同范例
- 加工服裝合同范例6
- 專利方法許可實施合同范例
- 農民自己建房合同范例
- 公寓裝修合租合同范例
- CrossFit訓練法對高中生體質健康的影響研究
- DB37∕T 5107-2018 城鎮(zhèn)排水管道檢測與評估技術規(guī)程
- 2022新冠疫苗疑似預防接種異常反應監(jiān)測和處置方案
- 電磁學第三版趙凱華答案
- 酒精溶液體積濃度、質量濃度與密度對照表
- 主要腸內營養(yǎng)制劑成分比較
- 老年人各系統(tǒng)的老化改變
- 小學五年級綜合實踐課教案
- 煤礦井下供電常用計算公式及系數
- ISO14001:2015中文版(20211205141421)
- 汽車總裝車間板鏈輸送線的應用研究
- 工作日志模板
評論
0/150
提交評論