您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 stash訂閱地址(大數據核心技術有哪些)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-19 09:25:12【】5人已围观
简介大數據核心技術有哪些大數據技術的體系龐大且復雜,基礎的技術包含數據的采集、數據預處理、分布式存儲、數據庫、數據倉庫、機器學習、并行計算、可視化等。1、數據采集與預處理:FlumeNG實時日志收集系統,
大數據核心技術有哪些
大數據技術的體系龐大且復雜,基礎的技術包含數據的采集、數據預處理、分布式存儲、數據庫、數據倉庫、機器學習、并行計算、可視化等。
1、數據采集與預處理:FlumeNG實時日志收集系統,支持在日志系統中定制各類數據發送方,用于收集數據;Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,提供數據同步服務。
2、數據存儲:Hadoop作為一個開源的框架,專為離線和大規模數據分析而設計,HDFS作為其核心的存儲引擎,已被廣泛用于數據存儲。HBase,是一個分布式的、面向列的開源數據庫,可以認為是hdfs的封裝,本質是數據存儲、NoSQL數據庫。
3、數據清洗:MapRece作為Hadoop的查詢引擎,用于大規模數據集的并行計算。
4、數據查詢分析:Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結構化的數據映射為一張數據庫表,并提供HQL(HiveSQL)查詢功能。Spark啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。
5、數據可視化:對接一些BI平臺,將分析得到的數據進行可視化,用于指導決策服務。
Elasticsearch數據遷移與集群容災
本文討論如何跨集群遷移ES數據以及如何實現ES的同城跨機房容災和異地容災。
在ES的生產實踐中,往往會遇到以下問題:
根據業務需求,存在以下場景:
如果是第一種場景,數據遷移過程中可以停止寫入,可以采用諸如elasticsearch-mp、logstash、reindex、snapshot等方式進行數據遷移。實際上這幾種工具大體上可以分為兩類:
如果是第二種場景,數據遷移過程中舊集群不能停止寫入,需要根據實際的業務場景解決數據一致性的問題:
下面介紹一下在舊集群可以停止寫入的情況下進行數據遷移的幾種工具的用法。
elasticsearch-mp是一款開源的ES數據遷移工具,github地址: 買粉絲s://github.買粉絲/taskrabbit/elasticsearch-mp
以下操作通過elasticmp命令將集群x.x.x.1中的買粉絲panydatabase索引遷移至集群x.x.x.2。注意第一條命令先將索引的settings先遷移,如果直接遷移mapping或者data將失去原有集群中索引的配置信息如分片數量和副本數量等,當然也可以直接在目標集群中將索引創建完畢后再同步mapping與data
logstash支持從一個ES集群中讀取數據然后寫入到另一個ES集群,因此可以使用logstash進行數據遷移,具體的配置文件如下:
reindex是Elasticsearch提供的一個api接口,可以把數據從一個集群遷移到另外一個集群。
snapshot api是Elasticsearch用于對數據進行備份和恢復的一組api接口,可以通過snapshot api進行跨集群的數據遷移,原理就是從源ES集群創建數據快照,然后在目標ES集群中進行恢復。需要注意ES的版本問題:
如果舊集群不能停止寫入,此時進行在線數據遷移,需要保證新舊集群的數據一致性。目前看來,除了官方提供的CCR功能,沒有成熟的可以嚴格保證數據一致性的在線數據遷移方法。此時可以從業務場景出發,根據業務寫入數據的特點選擇合適的數據遷移方案。
一般來說,業務寫入數據的特點有以下幾種:
下面來具體分析不同的寫入數據的特點下,該如何選擇合適的數據遷移方式。
在日志或者APM的場景中,數據都是時序數據,一般索引也都是按天創建的,當天的數據只會寫入當前的索引中。此時,可以先把存量的不再寫入的索引數據一次性同步到新集群中,然后使用logstash或者其它工具增量同步當天的索引,待數據追平后,把業務對ES的訪問切換到新集群中。
具體的實現方案為:
add only的數據寫入方式,可以按照數據寫入的順序(根據_doc進行排序,如果有時間戳字段也可以根據時間戳排序)批量從舊集群中拉取數據,然后再批量寫入新集群中;可以通過寫程序,使用用scroll api 或者search_after參數批量拉取增量數據,再使用bulk api批量寫入。
使用scroll拉取增量數據:
上述操作可以每分鐘執行一次,拉起前一分鐘新產生的數據,所以數據在舊集群和新集群的同步延遲為一分鐘。
使用search_after批量拉取增量數據:
上述操作可以根據需要自定義事件間隔執行,每次執行時修改search_after參數的值,獲取指定值之后的多條數據;search_after實際上相當于一個游標,每執行一次向前推進,從而獲取到最新的數據。
使用scroll和search_after的區別是:
另外,如果不想通過寫程序遷移舊集群的增量數據到新集群的話,可以使用logstash結合scroll進行增量數據的遷移,可參考的配置文件如下:
使用過程中可以根據實際業務的需求調整定時任務參數schele以及scroll相關的參數。
業務場景如果是寫入ES時既有追加,又有存量數據的更新,此時比較重要的是怎么解決update操作的數據同步問題。對于新增的數據,可以采用上述介紹的增量遷移熱索引的方式同步到新集群中。對于更新的數據,此時如果索引有類似于updateTime的字段用于標記數據更新的時間,則可以通過寫程序或者logstash,使用scroll api根據updateTime字段批量拉取更新的增量數據,然后再寫入到新的集群中。
可參考的logstash配置文件如下:
實際應用各種,同步新增(add)的數據和更新(update)的數據可以同時進行。但是如果索引中沒有類似updateTime之類的字段可以標識出哪些數據是更新過的,目前看來并沒有較好的同步方式,可以采用CCR來保證舊集群和新集群的數據一致性。
如果業務寫入ES時既有新增(add)數據,又有更新(update)和刪除(delete)數據,可以采用6.5之后商業版X-pack插件中的CCR功能進行數據遷移。但是使用CCR有一些限制,必須要注意:
具體的使用方式如下:
如果業務是通過中間件如kafka把數據寫入到ES, 則可以使用如下圖中的方式,使用logstash消費kafka的數據到新集群中,在舊集群和新集群數據完全追平之后,可以切換到新集群進行業務的查詢,之后再對舊的集群下線處理。
使用中間件進行同步雙寫的優點是:
當然,雙寫也可以使用其他的方式解決,比如自建proxy,業務寫入時向proxy寫入,proxy把請求轉發到一個或者多個集群中,但是這種方式存在以下問題:
隨著業務規模的增長,業務側對使用的ES集群的數據可靠性、集群穩定性等方面的要求越來越高,所以要比較好的集群容災方案支持業務側的需求。
如果是公司在自建IDC機房內,通過物理機自己搭建的ES集群,在解決跨機房容災的時候,往往會在兩個機房 部署兩個ES集群,一主一備,然后解決解決數據同步的問題;數據同步一般有兩種方式,一種方式雙寫,由業務側實現雙寫保證數據一致性,但是雙寫對業務側是一個挑戰,需要保證數據在兩個集群都寫成功才能算成功。另外一種方式是異步復制,業務側只寫主集群,后臺再把數據同步到備集群中去,但是比較難以保證數據一致性。第三種方式是通過專線打通兩個機房,實現跨機房部署,但是成本較高。
因為數據同步的復雜性,云廠商在實現ES集群跨機房容災的時候,往往都是通過只部署一個集群解決,利用ES自身的能力同步數據。國外某云廠商實現跨機房部署ES集群的特點1是不強制使用專用主節點,如上圖中的一個集群,只有兩個節點,既作為數據節點也作為候選主節點;主分片和副本分片分布在兩個可用區中,因為有副本分片的存在,可用區1掛掉之后集群仍然可用,但是如果兩個可用區之間網絡中斷時,會出現腦裂的問題。如下圖中使用三個專用主節點,就不會存在腦裂的問題了。
但是如果一個地域沒有三個可用區怎么辦呢,那就只能在其中一個可用區中放置兩個專用主節點了,如國內某云廠商的解決方案:
但是重建節點的過程還是存在問題的,如上圖中,集群本身的quorum應該為2,可用區1掛掉后,集群中只剩一個專用主節點,需要把quorum參數(dis買粉絲very.zen.minimum_master_nodes)調整為1后集群才能夠正常進行選主,等掛掉的兩個專用主節點恢復之后,需要再把quorum參數(dis買粉絲very.zen.minimum_master_nodes)調整為2,以避免腦裂的發生。
當然還是有可以把無法選主和腦裂這兩個可能發生的問題規避掉的解決方案,如下圖中國內某云廠商的解決思路:
創建雙可用區集群時,必須選擇3個或者5個專用主節點,后臺會在一個隱藏的可用區中只部署專用主節點;方案的優點1是如果一個可用區掛掉,集群仍然能夠正常選主,避免了因為不滿足quorum法定票數而無法選主的情況;2是因為必須要選擇三個或5個專用主節點,也避免了腦裂。
想比較一主一備兩個集群進行跨機房容災的方式,云廠商通過跨機房部署集群把原本比較復雜的主備數據同步問題解決了,但是,比較讓人擔心的是,機房或者可用區之間的網絡延遲是否會造成集群性能下降。這里針對騰訊云的雙可用區集群,使用標準的benchmark工具對兩個同規格的單可用區和雙可用區集群進行了壓測,壓測結果如下圖所示:
從壓測結果的查詢延時和寫入延時指標來看,兩種類型的集群并沒有明顯的差異,這主要得益與云上底層網絡基礎設施的完善,可用區之間的網絡延遲很低。
類似于同城跨機房容災,異地容災一般的解決思路是在異地兩個機房部署一主一備兩個集群。業務寫入時只寫主集群,再異步地把數據同步到備集群中,但是實現起來會比較復雜,因為要解決主備集群數據一致性的問題,并且跨地域的話,網絡延遲會比較高;還有就是,當主集群掛掉之后,這時候切換到備集群,可能兩邊數據還沒有追平,出現不一致,導致業務受損。當然,可以借助于kafka等中間件實現雙寫,但是數據鏈路增加了,寫入延遲也增加了,并且kafka出現問題,故障可能就是災難性的了。
一種比較常見的異步復制方法是,使用snapshot備份功能,定期比如每個小時在主集群中執行一次備份,然后在備集群中進行恢復,但是主備集群會有一個小時的數據延遲。以騰訊云為例,騰訊云的ES集群支持把數據備份到對象存儲COS中,因為可以用來實現主備集群的數據同步,具體的操作步驟可以參考 買粉絲s://cloud.tencent.買粉絲/document/proct/845/19549 。
在6.5版本官方推出了CCR功能之后,集群間數據同步的難題就迎刃而解了。可以利用CCR來實現ES集群的異地容災:
CCR是類似于數據訂閱的方式,主集群為Leader, 備集群為Follower, 備集群以pull的方式從主集群拉取數據和寫請求;在定義好Follwer Index時,Follwer Index會進行初始化,從Leader中以snapshot的方式把底層的segm
很赞哦!(99)
相关文章
- 02 越南貿易順差還是逆差(貿易順差和貿易逆差分別指什么)
- 01 youtube中文版下載官網地址下載地址(在手機通過無線升級Youtube時 提示下載完成 點擊安裝 但是一打開就顯示解析包時錯誤 應該怎么辦)
- 01 youtube下載視頻軟件(如何從Youtube及其他視頻網站下載視頻?)
- 01 youtube中文版下載安裝電腦官網(怎樣在電腦上下載嗶哩嗶哩的視頻?)
- 02 跟粉絲買東西怎么說好聽(做主播,應該怎么說話,怎么找話題,怎么讓別人心甘情愿刷禮物)
- 02 越南國際貿易博覽會開幕(武漢光谷北斗控股集團有限公司的集團大事記)
- 02 超市年貨節文案(2018年,天貓國際年貨節廣告文案是什么?)
- 02 越南的自由貿易協議(越南和歐盟簽訂自由貿易協定,99%的產品將免除關稅,怎樣看待越南的做法?)
- 01 youtube下載轉mp3格式轉換(iPhone視頻可以不使用格式轉換軟件而用自帶的轉碼功能來轉成MP4格式嗎?)
- 02 超市貿易企業成功的要素(多樣化經營戰略)
热门文章
站长推荐
01 youtube下載網站推薦幾個沒封正能量(有哪些優質的學習博主推薦?)
01 youtube中文版下載官網地址買粉絲形式(去哪里下載高清動物世界?)
01 youtube中文版下載官網地址是(drumpads24官網如何下載)
02 超市年貨怎么陳列好看(春節期間超市門口的貨架上集中陳列年貨屬于哪種陳列法)
01 youtube下載網站排行榜官網買粉絲進入免費(華為怎么下載youtube這個軟件)
02 越南出口貿易的情況(越南出口“越戰越勇”大幅超越深圳,越南這些年的出口貿易發展有多發達?)
01 youtube下載網站高清背景圖動漫可愛(這是什么軟件)
02 超火ins情侶頭像(2021最火爆買粉絲情侶頭像,買粉絲情侶頭像有什么?)