0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在基于Arm Neoverse平臺的CPU上構(gòu)建分布式Kubernetes集群

Arm社區(qū) ? 來源:Arm社區(qū) ? 2025-03-25 15:58 ? 次閱讀

作者:Arm 基礎(chǔ)設(shè)施事業(yè)部 AI 解決方案架構(gòu)師 Na Li

如今,社交媒體影響力廣泛,涵蓋個人、社會、政治、經(jīng)濟和文化等諸多領(lǐng)域。洞察用戶情緒可以幫助企業(yè)快速了解公眾對各類事件、趨勢和產(chǎn)品的反應(yīng)。這種基于數(shù)據(jù)的洞察對于企業(yè)的聲譽管理、市場研究和決策制定至關(guān)重要。社交媒體提供了一個實時交流和信息共享的平臺,使其成為衡量公眾情緒的強大實時渠道。因此,實時追蹤用戶情緒變化能夠幫助企業(yè)洞察情緒模式并迅速做出明智決策,從而及時采取適當(dāng)行動。然而,實時情緒監(jiān)控是一項計算密集型任務(wù),如果管理不善,可能會迅速增加資源消耗,包括計算和成本等。

在本文中,我們將以 X(原 Twitter)為例,演示如何在基于 Arm Neoverse 平臺的 CPU 上構(gòu)建分布式 Kubernetes 集群,以根據(jù)推文實時監(jiān)控情緒變化。如此一來,你可以充分利用 Arm Neoverse 平臺的計算基礎(chǔ),獲得更好的性能、效率和出色的靈活性。

你也可以借鑒本用例的主要原則,對其他社交媒體平臺部署類似的解決方案,并在多個主要云服務(wù)提供商(包括 AWS、Google Cloud 、Microsoft Azure 和阿里云)中充分利用基于 Arm Neoverse 平臺的云實例。

基于 Arm Neoverse 平臺的EC2 AWS Graviton 實例的性能和效率

亞馬遜科技 (AWS) 提供由基于 Arm Neoverse 架構(gòu)的 AWS Graviton 處理器賦能的 EC2 實例。這些實例基于 Graviton2、Graviton3 和 Graviton4 構(gòu)建,不僅性能強大,而且成本效益顯著。為了充分利用這些優(yōu)勢,我們在 AWS Graviton 實例上開發(fā)了我們的用例,使用了 Amazon Kinesis、Apache Spark、Amazon EKS(Graviton3 實例)、Amazon EC2(Graviton4 實例)、Amazon Elastic Search 和 Kibana dashboard、Prometheus 以及 Grafana(見圖 1)。我們的用例可以快速創(chuàng)建和執(zhí)行大規(guī)模并行機器學(xué)習(xí)作業(yè),通過啟用不同的節(jié)點來獲得實時洞察。這樣,企業(yè)就能利用實時洞察,在瞬息萬變的世界中保持適應(yīng)性、響應(yīng)性和韌性。

b28140c2-0793-11f0-9310-92fbcf53809c.jpg

圖 :以 AWS 為例的邏輯架構(gòu)圖

此外,請注意,基于 Arm Neoverse 平臺的實例可在 Google Cloud 和 Microsoft Azure 中使用。因此,使用這種邏輯架構(gòu),你同樣可以使用 Google Cloud 和 Microsoft Azure 服務(wù)搭建類似的解決方案?,F(xiàn)在,我們將以 AWS 為例,逐一介紹架構(gòu)圖中的每個組件,解釋其用途和構(gòu)建方式,幫助你全面了解整個系統(tǒng)。我們也將發(fā)布包含代碼示例的學(xué)習(xí)路徑,以便你復(fù)制和構(gòu)建自己的解決方案。

1設(shè)置 X API 以檢索推文

為了及時檢索 X 上發(fā)布的新推文,我們將使用 X 開發(fā)者 API,這是一套由 X 提供的編程工具和協(xié)議,允許開發(fā)者以編程方式訪問 X 數(shù)據(jù)并與之交互。通過它,我們可以從 X 龐大的推文、用戶信息和其他社交媒體內(nèi)容數(shù)據(jù)庫中收集、過濾和分析信息。

要開始使用,首先需要創(chuàng)建一個 X 開發(fā)者賬戶以使用 X API。你必須首先使用開發(fā)者門戶創(chuàng)建一個項目和一個應(yīng)用。然后,創(chuàng)建 API Key、API Secret、Access Token 和 Access Token Secret,以對你的應(yīng)用進(jìn)行身份驗證并讀取推文。請注意,X 會根據(jù)你的應(yīng)用訂閱類型,對你可檢索的推文數(shù)量設(shè)置速率限制和約束,以確保服務(wù)的可靠性。

2使用 AWS Kinesis 處理數(shù)據(jù)

AWS Kinesis 是一種完全托管的數(shù)據(jù)流服務(wù),專為處理大量實時數(shù)據(jù)而構(gòu)建。在我們的設(shè)置中,我們將使用 AWS Kinesis 從 XAPI 采集實時數(shù)據(jù),確保每一條符合我們篩選條件(如標(biāo)簽、關(guān)鍵詞、賬戶、語言、時間范圍等)的推文在發(fā)布后立即直接流入 Kinesis。為了完成這一配置,請按照指南進(jìn)行操作。Twitter API 腳本將每條推文作為 JSON 對象發(fā)送到 Kinesis 流中,使訂閱者可以隨時使用這些數(shù)據(jù)。

3執(zhí)行情緒分析

情緒分析器是一種文本分類模型,可檢測推文的情緒基調(diào),并根據(jù)所使用的詞匯將其分為三個或更多類別。這樣,應(yīng)用用戶無需手動閱讀每條推文,就能快速了解關(guān)于特定主題的實時觀點。分析結(jié)果提供了寶貴的情緒洞察,幫助用戶基于數(shù)據(jù)做出明智的決策。有幾種方法可以計算情緒:你可以自行訓(xùn)練文本分類模型,但這需要標(biāo)注數(shù)據(jù),而且耗時較長;或者像我們的方法一樣,你可以使用預(yù)訓(xùn)練的情緒分類模型。

我們使用 Spark Streaming 處理推文中的情緒信息,這是 Spark 中的一個 API,用于對高吞吐量數(shù)據(jù)流(如 Kafka、AWS Kinesis、HDFS/S3 和 Flume)進(jìn)行可靠的流處理。它會將輸入數(shù)據(jù)流分割成小批次,并通過 Spark 引擎進(jìn)行處理,生成一系列處理后的數(shù)據(jù)流。在 Spark SQL 的基礎(chǔ)上,Spark 提供了名為 Structured Streaming 的流式 API。它允許數(shù)據(jù)以數(shù)據(jù)集/數(shù)據(jù)幀(RDD 上的 API)的形式呈現(xiàn),并允許對流式數(shù)據(jù)上使用優(yōu)化的 Spark SQL 引擎處理。

Spark Streaming API 從 Kinesis 流中讀取推文流。Spark 引擎對接收的數(shù)據(jù)幀運行作業(yè),使用斯坦福核心自然語言處理 (NLP) 庫中的預(yù)訓(xùn)練情緒分類模型進(jìn)行處理,為每條推文生成以下標(biāo)簽之一的輸出結(jié)果:[非常消極、消極、中立、積極、非常積極]。然后將結(jié)果發(fā)送到 Elasticsearch。

4設(shè)置 Elasticsearch

Elasticsearch 是一款強大的開源搜索和分析引擎,專為近乎實時的高效存儲、搜索和分析大規(guī)模數(shù)據(jù)而設(shè)計。它能夠快速攝取數(shù)據(jù),并能近乎即時地進(jìn)行搜索。其實時索引功能對于處理從 API 或事件流持續(xù)流入的高速數(shù)據(jù)流(如推文)至關(guān)重要。要在 AWS EC2 實例上設(shè)置 Elasticsearch,你可以參考相關(guān)說明。

5在 Kibana dashboard 中的可視化數(shù)據(jù)

Kibana 是一款開源可視化工具,可與 Elasticsearch 無縫協(xié)作,提供了一個用于探索、可視化和交互數(shù)據(jù)的界面。利用 Elasticsearch 和 Kibana,用戶可以與數(shù)據(jù)交互、應(yīng)用過濾器,并在情緒急劇下降時收到警報,全部功能都是實時的。如果你的 Elasticsearch 部署最初不包括 Kibana 實例,可以按照說明首先啟用 Kibana。

對于新的 Elasticsearch 集群,會自動為你創(chuàng)建一個 Kibana 實例,以便你可以直接訪問。啟用 Kibana 后,你可以參考文件設(shè)置所需的可視化,以顯示來自 Elasticsearch 的數(shù)據(jù)。

6使用 Prometheus 監(jiān)控 Kubernetes 指標(biāo)

Prometheus 是一個監(jiān)控和警報工具包。它廣泛用于收集和查詢 Kubernetes 等云原生環(huán)境中的實時指標(biāo)。Prometheus 收集有助于監(jiān)控 Kubernetes 集群的健康狀況和性能的關(guān)鍵指標(biāo)(如 CPU、內(nèi)存使用率、pod 數(shù)量、請求延遲)。

7使用 Grafana 可視化呈現(xiàn) Prometheus

Grafana 是一款可視化和分析工具,能夠與 Prometheus 數(shù)據(jù)源集成,用于創(chuàng)建交互式儀表盤來監(jiān)控和分析 Kubernetes 指標(biāo)隨時間的變化。我們使用 Helm 在 Kubernetes 上部署了 Prometheus 和 Grafana。

8設(shè)置 AmazonElastic Kubernetes Service

AmazonEKS是 AWS 管理的 Kubernetes 服務(wù),允許你部署、管理和擴展應(yīng)用。對于我們的應(yīng)用而言,由于推文數(shù)量會因熱門話題或事件而大幅波動,因此 EKS 允許自動擴展 Kubernetes pod 和節(jié)點,確保情緒分析應(yīng)用有足夠的資源來處理峰值負(fù)載,并在流量減少時自動縮減,從而優(yōu)化成本效益。

HashiCorp 提供了關(guān)于如何在 AWS 上配置 EKS 集群的文檔。另外還提供了 Terraform 腳本來幫助自動設(shè)置。要在基于 Graviton3 的實例上運行,需要進(jìn)行一些調(diào)整:

確定你希望用于運行集群的 EKS 支持的 Kubernetes 版本。可以在 eks-cluster.tf 中設(shè)置版本;

確定該 Kubernetes 版本的優(yōu)化 Amazon Linux AMI;

更新 worker 組參數(shù)。

b2bf7dc4-0793-11f0-9310-92fbcf53809c.png

結(jié)果和總結(jié)

每條推文的推理時間取決于其長度和所使用的模型。為了實現(xiàn)準(zhǔn)確的情緒預(yù)測,可以選擇較大的模型,與較小的模型相比,雖會增加延遲,但情緒預(yù)測的準(zhǔn)確性更高。由于推文長度各不相同,推理時間也會相應(yīng)波動,每條推文平均約為幾百毫秒。這意味著我們的用例在使用大的模型時,每秒可處理約 5-10 條推文。運行較小的模型通常更快,延遲時間縮短一半,每秒可處理 20-30 條推文。歡迎各位一起動手親自體驗!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9237

    瀏覽量

    371990
  • 集群
    +關(guān)注

    關(guān)注

    0

    文章

    96

    瀏覽量

    17293
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3492

    瀏覽量

    43083
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    234

    瀏覽量

    8831
  • Neoverse
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    4687

原文標(biāo)題:如何在基于 Arm Neoverse 平臺的 Kubernetes 集群上實現(xiàn)實時情緒分析

文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    Kubernetes 網(wǎng)絡(luò)模型如何實現(xiàn)常見網(wǎng)絡(luò)任務(wù)

    Kubernetes 是為運行分布式集群而建立的,分布式系統(tǒng)的本質(zhì)使得網(wǎng)絡(luò)成為 Kubernetes 的核心和必要組成部分,了解
    的頭像 發(fā)表于 10-08 11:32 ?1195次閱讀

    EasyGo使用筆記丨分布式光伏集群并網(wǎng)控制硬件在環(huán)仿真應(yīng)用

    進(jìn)行控制;對于逆變器的控制,采用三相空間矢量脈寬調(diào)制(SVPWM)控制算法以及電壓電流雙閉環(huán)控制算法。最后構(gòu)建分布式光伏集群并網(wǎng)發(fā)電系統(tǒng)的綜合仿真模型,并在MATLAB/Simulink平臺
    發(fā)表于 07-12 17:20

    阿里云Kubernetes集群聯(lián)邦

    規(guī)模的上限等等。Federation集群聯(lián)邦可以一定程度上解決這些問題。Federation是可以將分布在多個Region或者多個云廠商的Kubernetes集群整合成一個大的
    發(fā)表于 03-12 17:10

    阿里云彈性計算Apsara Block Storage正式發(fā)布 構(gòu)建企業(yè)級分布式塊存儲服務(wù)平臺

    摘要: 6月13日,阿里云宣布彈性計算Apsara Block Storage產(chǎn)品正式發(fā)布,為企業(yè)級客戶量身打造,構(gòu)建高性能、彈性、可靠的大規(guī)模分布式塊存儲服務(wù)平臺。 Apsara Block
    發(fā)表于 06-14 17:09

    spark集群使用hanlp進(jìn)行分布式分詞操作說明

    = fs.create(new Path(path));15.return out;16. }17.}第二步:修改配置文件。root為hdfs的數(shù)據(jù)包,把IOAdapter改為咱們上面實現(xiàn)的類ok,這樣你就能在分布式集群
    發(fā)表于 01-21 10:45

    何在集群部署時實現(xiàn)分布式session?

    集群部署時的分布式 session 如何實現(xiàn)?
    發(fā)表于 07-17 06:57

    Hadoop集群分布式的搭建步驟

    Hadoop集群分布式搭建
    發(fā)表于 11-04 09:19

    何在Arm利用Istio搭建一個基于Kubernetes的Service Mesh平臺

    ,另一方面,又通過Service Function Chain將各個服務(wù)有機的連接在一起,從而組合實現(xiàn)復(fù)雜的功能。在這篇文章中,我們將介紹如何在Arm平臺上,利用Istio,搭建一個
    發(fā)表于 03-30 10:59

    ARM Neoverse IP的AWS實例etcd分布式鍵對值存儲性能提升

    1、基于ARM Neoverse IP的AWS實例etcd性能提升etcd是一個分布式鍵值對存儲,設(shè)計用來可靠而快速的保存關(guān)鍵數(shù)據(jù)并提供給分布式
    發(fā)表于 07-06 17:37

    Arm Neoverse V1的AWS Graviton3在深度學(xué)習(xí)推理工作負(fù)載方面的作用

    :區(qū)域任務(wù)模型想象圖像分類Resnet50-v1.5語自然語言處理BERT-大平臺我們在三種 AWS EC2 云實例類型運行,涵蓋兩代 Arm Neoverse 內(nèi)核(
    發(fā)表于 08-31 15:03

    如何部署基于Mesos的Kubernetes集群

    kubernetes是一個跨多個計算節(jié)點的管理容器化應(yīng)用的系統(tǒng),它提供了一系列基本的功能,如應(yīng)用的自動化部署,維護和擴展等。Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系統(tǒng)
    發(fā)表于 10-09 18:04 ?0次下載
    如何部署基于Mesos的<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>

    何在阿里云構(gòu)建一個合適的Kubernetes集群

    摘要:?聲明 本文主要介紹如何在阿里云構(gòu)建一個K8S集群的實踐,只是作為參考,大家可以根據(jù)實際情況做出調(diào)整。 集群規(guī)劃 在實際案例中發(fā)現(xiàn),
    發(fā)表于 07-23 14:02 ?1001次閱讀

    集群分布式有什么區(qū)別

    經(jīng)常聽到MySql集群、Redis集群分布式系統(tǒng)等概念,但是,很少有機會深究,到底什么集群,什么是分布式?在概念
    的頭像 發(fā)表于 05-03 18:24 ?5263次閱讀

    Kubernetes網(wǎng)絡(luò)模型的基礎(chǔ)知識

    Kubernetes 是為運行分布式集群而建立的,分布式系統(tǒng)的本質(zhì)使得網(wǎng)絡(luò)成為 Kubernetes 的核心和必要組成部分,了解
    的頭像 發(fā)表于 07-20 09:46 ?1345次閱讀

    怎么區(qū)分分布式服務(wù)器和集群服務(wù)器?

      如何區(qū)分分布式服務(wù)器和集群服務(wù)器?許多朋友在選擇服務(wù)器時不知道分布式服務(wù)器和集群服務(wù)器的區(qū)別,所以他們不知道如何選擇它們。本文將告訴您分布式
    的頭像 發(fā)表于 11-29 15:20 ?896次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品