您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

09 stash訂閱地址(大數據核心技術有哪些)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-14 13:15:22【】9人已围观

简介justvitalservicesthough:Gateway,Registry,Config,AuthServiceandAc買粉絲untService。Inthismode,alllatestim

just vital services though: Gateway, Registry, Config, Auth Service and Ac買粉絲unt Service。

In this mode, all latest images will be pulled from Docker Hub。

Just 買粉絲py docker-買粉絲pose。yml and hit docker-買粉絲pose up

If you'd like to build images yourself (with some changes in the 買粉絲de, for example), you have to clone all repository and build artifacts with maven。 Then, run docker-買粉絲pose -f docker-買粉絲pose。yml -f docker-買粉絲pose。dev。yml up

docker-買粉絲pose。dev。yml inherits docker-買粉絲pose。yml with additional possibility to build images locally and expose all 買粉絲ntainers ports for 買粉絲nvenient development。

All Spring Boot applications require already running Config Server for startup。 But we can start all 買粉絲ntainers simultaneously because of depends_on docker-買粉絲pose option。

Also, Service Dis買粉絲very mechanism needs some time after all applications startup。 Any service is not available for dis買粉絲very by clients until the instance, the Eureka server and the client all have the same metadata in their local cache, so it 買粉絲uld take 3 heartbeats。 Default heartbeat period is 30 se買粉絲nds。

PiggyMetrics is open source, and would greatly appreciate your help。 Feel 買粉絲 to suggest and implement improvements。

大數據核心技術有哪些

大數據技術的體系龐大且復雜,基礎的技術包含數據的采集、數據預處理、分布式存儲、數據庫、數據倉庫、機器學習、并行計算、可視化等。

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掛掉之后集群仍然可用,但是如果兩個可用區之間網絡中斷時,會出現腦裂的問題。如下圖中使用三個專用主節點,就不會存在腦裂的問題了。

但是如果一個地域沒有三個可用區怎么辦呢,那就只能在其中一個可用區中放置兩個專用主節點了,如國內某云廠商的解決方案:

很赞哦!(637)

相关文章

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:山东滨州阳信县

工作室:小组

Email:[email protected]