2022銀河麒麟服務(wù)器操作系統(tǒng)storm適配手冊_第1頁
2022銀河麒麟服務(wù)器操作系統(tǒng)storm適配手冊_第2頁
2022銀河麒麟服務(wù)器操作系統(tǒng)storm適配手冊_第3頁
2022銀河麒麟服務(wù)器操作系統(tǒng)storm適配手冊_第4頁
2022銀河麒麟服務(wù)器操作系統(tǒng)storm適配手冊_第5頁
免費預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

V4storm軟件適配手冊銀河麒麟服務(wù)器操作系統(tǒng)V4銀河麒麟服務(wù)器操作系統(tǒng)V4storm軟件適配手冊目錄TOC\o"1-2"\h\z\u目 概述 系統(tǒng)概 環(huán)境概 STORM軟件簡介 STORM基本概 STORM架構(gòu) 任務(wù)提交處理流 STORM中的數(shù)據(jù) 消息的可靠性保證 STORM軟件適配 下載STORM軟件 修改環(huán)境變 修改配置文 啟動 STORM測試用例及使用場景舉 運行STORM自帶測試用 STORM使用場景舉 運行方 運行結(jié) 銀河麒麟服務(wù)器操作系統(tǒng)V4銀河麒麟服務(wù)器操作系統(tǒng)V4storm軟件適配手冊概述系統(tǒng)概述銀河麒麟服務(wù)器操作系統(tǒng)主要面向軍隊綜合電子信息系統(tǒng)、金融系統(tǒng)以及電力系統(tǒng)等國家關(guān)鍵行業(yè)的服務(wù)器應(yīng)用領(lǐng)域,突出高安全性、高可用性、高效數(shù)據(jù)處理、虛擬化等關(guān)鍵技術(shù)優(yōu)勢,針對關(guān)鍵業(yè)務(wù)構(gòu)建的豐富高效、安全可靠的功能特性,兼容適配長城、聯(lián)想、浪潮、華為、曙光等國內(nèi)主流廠商的服務(wù)器整機產(chǎn)品,以及達夢、金倉、神通、南大通用等主要國產(chǎn)數(shù)據(jù)庫和中創(chuàng)、金蝶、東方通等國產(chǎn)中間件,滿足虛擬化、云計算和大數(shù)據(jù)時代,服務(wù)器業(yè)務(wù)對操作系統(tǒng)在性能、安全性及可擴展性等方面的需求,是一款具有高安全、高可用、高可靠、高性能的自主可控服務(wù)器操作系統(tǒng)。環(huán)境概述服務(wù)器型號長城信安擎天DF720服務(wù)器CPU類型飛騰2000+處理器操作系統(tǒng)版本Kylin-4.0.2-server-sp2-2000-內(nèi)核版本storm版本Storm軟件簡介ApacheStormTwitter高容錯的實時計算系統(tǒng)。Storm令持續(xù)不斷的流計算變得容易,彌補了Hadoop批處理所不能滿足的實時要求。Storm經(jīng)常用于在實時分析、在線機器學(xué)習(xí)、持續(xù)計算、分布式遠程調(diào)用和ETL等領(lǐng)域。Storm的部署管理非常簡單,而且在同類的流式計算工具,Storm的性能也是非常出眾的。Storm基本概念storm中服務(wù)器節(jié)點分為主節(jié)點和從節(jié)點,Nimbus為主節(jié)點,Supervisor為從節(jié)點,以及若干組件構(gòu)成。下面為對一些術(shù)語進行簡單的介紹:Nimbus:主節(jié)點,是一個調(diào)度中心,負責(zé)分發(fā)任務(wù);Supervisor:從節(jié)點,任務(wù)執(zhí)行的地方;Worker:任務(wù)工作進程,一個Supervisor中可以有多個Worker。;Executor:Worker進程在執(zhí)行任務(wù)時,會啟動多個Executor線程;Topology:任務(wù)的抽象概念。由于storm是流式計算的框架,它的數(shù)據(jù)流和拓撲圖很像,所以它的任務(wù)就叫topology;Spout:從數(shù)據(jù)源獲取數(shù)據(jù)并進行分發(fā);BoltSpout或者上一個Bolt的數(shù)據(jù),然后進行處理后交給下一個處理;Tuplestorm中,一條數(shù)據(jù)可以理解為是一個TupleStorm架構(gòu)任務(wù)提交處理流程Nimbus是調(diào)度中心,Supervisor是任務(wù)執(zhí)行的地方。Supervisor上面有若干WorkerWorker都有自己的端口,Worker可以理解為一個進程。另外,每個Worker中還可以運行若干個線程。當(dāng)客戶端向storm集群提交一個Topology時,這里的提交就是在集群上通過stormjarxxxtopology。如果我們是在Supervisor節(jié)點上執(zhí)行stormjarxxxSupervisorjar包拷貝到NimbusNimbusTopology進行調(diào)度。Nimbus會根據(jù)Topology所需要的Worker進行分配,將其分配到各個Supervisor的節(jié)點上執(zhí)行?,F(xiàn)在假設(shè)有4Supervisor節(jié)點,每個Supervisor都配置4Worker。這時提交一個Topology,需要4個Worker,那可能的分配情況可能如下圖所示:Storm中的數(shù)據(jù)流啟動完Topology后,相關(guān)組件就開始運行起來了。在Storm中,Spout組件主要用來從數(shù)據(jù)源拉取數(shù)據(jù),形成一個Tuple后轉(zhuǎn)交給BoltBolt接收到Tuple處理完后,可以選擇繼續(xù)交給下一個Bolt處理,也可以選擇不往下傳。這樣數(shù)據(jù)Tuple的形式一個接一個的往下執(zhí)行,就形成了一個拓撲數(shù)據(jù)流。storm數(shù)據(jù)在組件間的流向如下圖所示:消息的可靠性保證一條數(shù)據(jù)在spout中形成一個tuple,然后交給一個個bolt執(zhí)行,那我們怎么保證這個tuple被完整的執(zhí)行了呢?這里的完整執(zhí)行說的是這個tuple必須在后面的每一個bolt都成功處理,假設(shè)在一個bolt中發(fā)生異常導(dǎo)致失敗,這就不能算完整處理。為了保證消息處理過程中的可靠性,storm使用了ack機制。storm會專門啟動若干acker線程,來追蹤tuple的處理過程,acker線程數(shù)量可以設(shè)置。每一個tuplespout中生成的時候,都會分配到一個64messageId。通過對messageId進行哈希我們可以通過向acker線程發(fā)送消息來通知它監(jiān)聽這個acker線程收到消息后,會將發(fā)出消息的spoutmessageId綁定起來。然后開始跟蹤該tuple的處理流程。如果這個tuple全部處理完,那么acker線程就會調(diào)用發(fā)起這個tuple的那個spout實例的ack()方法。如果超過一定時間這個tuple還沒處理完,那么acker線程就會調(diào)用對應(yīng)spoutfail()方法,通知spout消息處理失敗,spout組件就可以重新發(fā)送這個tuple。從上面的介紹我們知道了,tuple數(shù)據(jù)的流向會形成一個拓撲圖,也可以理解成是一個tuple樹。這個拓撲圖的節(jié)點可能會有很多個,如果要把這些節(jié)點全部保存起來,處理大量的數(shù)據(jù)時勢必會造成內(nèi)存溢出。對于這個難題,storm使用20個字節(jié)就可以追蹤一個tuple是否被完整的執(zhí)行。這也是storm的一個突破性的技術(shù)。Storm軟件適配storm軟件 /dist/storm/apache-storm-1.0.1/apache-storm-$tar-zxvfapache-storm-1.0.1.tar.gz-C修改環(huán)境變量$$vim在文件的最后添加:exportexportSTORM_HOME=/usr/local/apache-storm-1.0.1$$vim修改配置文件$$cd/usr/local/apache-storm-$vim修改storm.zookeeper.servers的值為如下:-nimbus.host:"localhost"storm.zookeeper.port:2181storm.local.dir:nimbus.host:"localhost"storm.zookeeper.port:2181storm.local.dir:"/usr/local/apache-storm-1.0.1/data"----$$stormnimbus$stormsupervisor$stormuiStorm測試用例及使用場景舉例storm自帶測試用例$$cd/usr/local/apache-storm- examples/storm-starter/storm-starter-topologies- Storm使用場景舉例我們在這里演示kafka+storm的常見使用場景,對單字段字符串進行匹配過濾。其中,kafka負責(zé)生成和消費數(shù)據(jù),storm使用kafkaspout從指定的kafka主題中將數(shù)據(jù)取下來,對數(shù)據(jù)進行Avro反序列化,然后對數(shù)據(jù)進行過濾匹配(filterbolt),最后將匹配的結(jié)果生產(chǎn)到kafka中(kafkabolt)。運行方法 ./kafka- -- -- ./kafka- -- -- --replication- --partitions50--topictopic,然后在stormbin文件夾下執(zhí)行:$$./stormjar/media

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論