中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析Apache Pulsar的分層存儲

發布時間:2022-01-15 11:56:57 來源:億速云 閱讀:149 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何分析Apache Pulsar的分層存儲,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

如何分析Apache Pulsar的分層存儲


在一些流數據用例場景中,用戶希望將數據長時間存儲在流中。雖然 Apache Pulsar 對 topic backlog 的大小沒有限制,但將所有數據存儲在 Pulsar 中較長時間,存儲成本比較大。

下面介紹了 Apache Pulsar 的分層存儲特性(在 2.1 及之后的版本可用),分層存儲支持在不影響終端用戶的條件下,將較舊的數據移動到長期存儲中。

在推薦服務中,開發者不希望限制 backlog 的大小。以音樂服務為例,終端用戶每聽一首歌,就向 topic 中添加一條消息。使用這一 topic 訓練推薦算法,根據終端用戶聽過的音樂推薦用戶可能喜歡的音樂。然后,將計算結果推薦給用戶,再循環這個過程。

如何分析Apache Pulsar的分層存儲

推薦算法并非一成不變。音樂服務的數據科學家一直在不斷優化推薦算法,以更好地預測用戶喜歡的音樂,從而提高用戶對推薦服務的滿意度和參與度。

但是,如果每次修改算法時,都只運行修改時間點之后的用戶數據,不僅預測的準確度會受到影響,判斷算法的修改效果也會需要一段較長的時間。為了解決這一問題,算法需要盡可能多地運行用戶歷史數據。

Pulsar 允許用戶存儲任意大小的 topic backlog。當集群將要耗盡空間時,用戶只需添加新的存儲節點,系統將會自動重新平衡數據。但是,這樣的操作運行一段時間后,運維成本十分昂貴。

Pulsar 通過提供分層存儲(Apache Pulsar 2.1 起新增的特性)減少了成本/大小的損失。分層存儲為用戶提供大小不受限制的 backlog,且無需添加存儲節點;卸載較舊的 topic 數據到長期存儲中,長期存儲的成本比在 Pulsar 集群中存儲的成本低一個數量級。對于終端用戶來說,消費存儲在 Pulsar 集群或分層存儲中的 topic 數據沒有明顯差別。位于 Pulsar 集群和分層存儲中的 topic 生產和消費消息的方式也完全相同。

Pulsar 通過分片架構實現了分層存儲。Pulsar topic 的消息日志由一系列分片組成。序列中的最后一個分片是 Pulsar 當前寫入的分片。當前序列之前的所有分片都已封裝,也就是說,這些分片中的數據不可變。由于數據不可變,因此可以輕易地將數據復制到另一個存儲系統,而不必擔心一致性的問題。復制完成后,可以立即更新消息日志元數據中的數據指針,并且可以刪除 Pulsar 在 Apache BookKeeper 中存儲的數據副本。

如何分析Apache Pulsar的分層存儲



在 Pulsar 中使用分層存儲


Pulsar 目前支持通過 Amazon S3、GCS(Google Cloud Storage)、Filesystem 進行長期存儲。要使用 S3 進行分層存儲,管理員需要先在 S3 中創建一個存儲桶(bucket);然后,用存儲桶和創建存儲桶的區域配置 broker。

managedLedgerOffloadDriver=S3s3ManagedLedgerOffloadRegion=eu-west-3s3ManagedLedgerOffloadBucket=pulsar-topic-offload

用戶不直接在 Pulsar 中配置身份驗證。Pulsar 使用的 `DefaultAWSCredentialsProviderChain` 可以在多個位置查找驗證信息。

配置驗證信息最簡單的方式是在 pulsar-env.sh 中設置環境變量。

關于配置身份驗證方法的更多信息,參閱分層存儲文檔:
http://pulsar.apache.org/docs/en/concepts-tiered-storage/

配置好所有 broker 后,就可以開始使用分層存儲了。可以配置分層存儲的數據卸載為自動運行,也可以手動觸發。


自動遷移數據到長期存儲

管理員可以為命名空間設置大小閾值策略。配置大小閾值策略后,如果命名空間中的任一 topic 在 Pulsar 集群上的數據大小超過了閾值,topic 就會卸載分片到長期存儲中,直到 Pulsar 集群上的數據大小在閾值之內。

例如,當 Pulsar 集群上的數據大小超過 1 GB 時,指定命名空間中的 topic 卸載分片,可以使用以下命令:

pulsar-admin namespaces set-offload-threshold --size 1G my-tenant/my-namespace

當命名空間中的任一 topic 超過閾值時,topic 將會移動數據至長期存儲,釋放 Pulsar 集群上的存儲空間。


手動卸載

除了配置自動卸載數據外,還可以通過 REST 接口或命令行界面在單個 topic 上手動觸發卸載操作。要通過命令行界面觸發,用戶必須指定在 Pulsar 集群上為 topic 保留的最大數據量。如果 Pulsar 集群上的 topic 數據大小超過了設置的閾值,則將此 topic 上的分片移動到長期存儲中,直到 Pulsar 集群上的數據大小在閾值之內。移動數據時,先移動較舊的分片。

pulsar-admin topics offload --size-threshold 10M my-tenant/my-namespace/topic1

關于如何分析Apache Pulsar的分層存儲就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

申扎县| 拉萨市| 通河县| 林芝县| 长武县| 永川市| 临清市| 肇源县| 黄骅市| 华亭县| 湘潭市| 香河县| 方城县| 阿克苏市| 眉山市| 木兰县| 平山县| 扶绥县| 巴林左旗| 麻江县| 白沙| 伊川县| 中山市| 黎平县| 旬邑县| 兴海县| 苗栗市| 喀什市| 富蕴县| 蒲江县| 溆浦县| 夹江县| 罗山县| 伊春市| 玉门市| 万盛区| 阆中市| 乌兰察布市| 贡嘎县| 江陵县| 富源县|