真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)十四:Storm實(shí)驗(yàn)——部署Storm-創(chuàng)新互聯(lián)

大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)十四:Storm實(shí)驗(yàn)——部署Storm

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、奇臺(tái)網(wǎng)站維護(hù)、網(wǎng)站推廣。文章目錄
  • 大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)十四:Storm實(shí)驗(yàn)——部署Storm
    • 一、前言
    • 二、實(shí)驗(yàn)?zāi)康?/li>
    • 三、實(shí)驗(yàn)要求
    • 四、實(shí)驗(yàn)原理
    • 五、實(shí)驗(yàn)步驟
      • 1、配置SSH免密登錄
      • 2、安裝ZooKeeper集群
      • 3、部署Storm
    • 六、最后我想說(shuō)

一、前言

本次實(shí)驗(yàn)我們將了解學(xué)習(xí)有關(guān)Storm的一些知識(shí)以及如何在虛擬機(jī)集群中進(jìn)行部署。

二、實(shí)驗(yàn)?zāi)康?ol>
  • 掌握Storm基礎(chǔ)簡(jiǎn)介及體系架構(gòu)
  • 掌握Storm集群安裝部署
  • 掌握Storm和Zookeeper之間的關(guān)系,并加深對(duì)Storm架構(gòu)和原理的理解
  • 三、實(shí)驗(yàn)要求
    1. 鞏固之前的實(shí)驗(yàn)
    2. 部署三個(gè)節(jié)點(diǎn)的Storm集群,以master節(jié)點(diǎn)作為主節(jié)點(diǎn),其他兩個(gè)slave節(jié)點(diǎn)作為從節(jié)點(diǎn),并修改Storm Web的端口為8081,并引用外部Zookeeper
    四、實(shí)驗(yàn)原理

    Storm簡(jiǎn)介:Storm是一個(gè)分布式的、高容錯(cuò)的基于數(shù)據(jù)流的實(shí)時(shí)處理系統(tǒng),可以簡(jiǎn)單、可靠的處理大量的數(shù)據(jù)流。Storm支持水平擴(kuò)展,具有高容錯(cuò)性,保證每個(gè)消息都會(huì)得到處理,而且處理速度很快(在一個(gè)小集群中,每個(gè)結(jié)點(diǎn)每秒可以處理數(shù)以百萬(wàn)計(jì)的消息),它有以下特點(diǎn):編程模型簡(jiǎn)單、可擴(kuò)展、高可靠性、高容錯(cuò)性、支持多種編程語(yǔ)言、支持本地模式、高效。Storm有很多使用場(chǎng)景:如實(shí)時(shí)分析,在線機(jī)器學(xué)習(xí),持續(xù)計(jì)算,分布式RPC,ETL等等。

    體系架構(gòu):Storm共有兩層體系結(jié)構(gòu),第一層采用master/slave架構(gòu),第二層為DAG流式處理器,第一層資源管理器主要負(fù)責(zé)管理集群資源、響應(yīng)和調(diào)度用戶任務(wù),第二層流式處理器則實(shí)際執(zhí)行用戶任務(wù)

    集群資源管理層:Storm的集群資源管理器采用master/slave架構(gòu),主節(jié)點(diǎn)即控制節(jié)點(diǎn)(master node)和從節(jié)點(diǎn)即工作節(jié)點(diǎn)(worker node)??刂乒?jié)點(diǎn)上面運(yùn)行一個(gè)叫Nimbus后臺(tái)服務(wù)程序,它的作用類似Hadoop里面的JobTracker, Nimbus負(fù)責(zé)在集群里面分發(fā)代碼,分配計(jì)算任務(wù)給機(jī)器,并且監(jiān)控狀態(tài)。每一個(gè)工作節(jié)點(diǎn)上面運(yùn)行一個(gè)叫做Supervisor的服務(wù)程序。Supervisor會(huì)監(jiān)聽分配給它那臺(tái)機(jī)器的工作,根據(jù)需要啟動(dòng)/關(guān)閉工作進(jìn)程worker。每一個(gè)工作進(jìn)程執(zhí)行一個(gè)topology的一個(gè)子集;一個(gè)運(yùn)行的topology由運(yùn)行在很多機(jī)器上的很多工作進(jìn)程worker組成。(一個(gè)supervisor里面有多個(gè)worker,一個(gè)worker是一個(gè)JVM??梢耘渲脀orker的數(shù)量,對(duì)應(yīng)的是conf/storm.yaml中的supervisor.slot的數(shù)量),架構(gòu)圖如下圖所示:

    在這里插入圖片描述

    稱集群信息(Nimbus協(xié)議、Supervisor節(jié)點(diǎn)位置) 、任務(wù)分配信息等關(guān)鍵數(shù)據(jù)為元數(shù)據(jù)。Storm使用ZooKeeper集群來(lái)共享元數(shù)據(jù),這些元數(shù)據(jù)對(duì)Storm非常重要,比如Nimbus通過(guò)這些元數(shù)據(jù)感知Supervisor節(jié)點(diǎn),Supervisor通過(guò)Zookeeper集群感知任務(wù)分配情況。Nimbus和Supervisor之間的所有協(xié)調(diào)工作都是通過(guò)Zookeeper集群完成。另外,Nimbus進(jìn)程和Supervisor進(jìn)程都是快速失敗(fail-fast)和無(wú)狀態(tài)的?所有的狀態(tài)要么在zookeeper里面, 要么在本地磁盤上。這也就意味著你可以用kill -9來(lái)殺死Nimbus和Supervisor進(jìn)程,然后再重啟它們,就好像什么都沒(méi)有發(fā)生過(guò),這個(gè)設(shè)計(jì)使得Storm異常的穩(wěn)定。

    數(shù)據(jù)模型:Storm實(shí)現(xiàn)了一種數(shù)據(jù)流模型,其中數(shù)據(jù)持續(xù)地流經(jīng)一個(gè)轉(zhuǎn)換實(shí)體網(wǎng)絡(luò)。一個(gè)數(shù)據(jù)流的抽象稱為一個(gè)流(stream),這是一個(gè)無(wú)限的元組序列。元組(tuple)就像一種使用一些附加的序列化代碼來(lái)表示標(biāo)準(zhǔn)數(shù)據(jù)類型(比如整數(shù)、浮點(diǎn)和字節(jié)數(shù)組)或用戶定義類型的結(jié)構(gòu)。每個(gè)流由一個(gè)唯一ID定義,這個(gè)ID可用于構(gòu)建數(shù)據(jù)源和接收器(sink)的拓?fù)浣Y(jié)構(gòu)。流起源于噴嘴(spout),Spout將數(shù)據(jù)從外部來(lái)源流入 Storm 拓?fù)浣Y(jié)構(gòu)中。接收器(或提供轉(zhuǎn)換的實(shí)體)稱為螺栓(bolt)。螺栓實(shí)現(xiàn)了一個(gè)流上的單一轉(zhuǎn)換和一個(gè) Storm 拓?fù)浣Y(jié)構(gòu)中的所有處理。Bolt既可實(shí)現(xiàn) MapReduce之類的傳統(tǒng)功能,也可實(shí)現(xiàn)更復(fù)雜的操作(單步功能),比如過(guò)濾、聚合或與數(shù)據(jù)庫(kù)等外部實(shí)體通信。典型的 Storm 拓?fù)浣Y(jié)構(gòu)會(huì)實(shí)現(xiàn)多個(gè)轉(zhuǎn)換,因此需要多個(gè)具有獨(dú)立元組流的Bolt。Bolt和Spout都實(shí)現(xiàn)為L(zhǎng)inux系統(tǒng)中的一個(gè)或多個(gè)任務(wù)。

    五、實(shí)驗(yàn)步驟 1、配置SSH免密登錄

    首先配置master,slave1和slave2之間的免密登錄和各虛擬機(jī)的/etc/hosts文件,這個(gè)步驟請(qǐng)參考我之前的一篇博客,里面有詳細(xì)過(guò)程:

    大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)一:配置SSH免密登錄

    2、安裝ZooKeeper集群

    配置完免密登錄之后我們還需要安裝Zookeeper集群,這個(gè)步驟可以參考我之前的博客,里面有詳細(xì)的步驟:大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)五:Zookeeper實(shí)驗(yàn)——部署ZooKeeper

    在這里我就不再贅述了。

    3、部署Storm

    首先我們將Storm 安裝包解壓到/usr/cstor目錄,并將Storm解壓目錄所屬用戶改成root:root:

    tar -zxvf apache-storm-0.10.0.tar.gz -c /usr/cstor
    mv /usr/cstor/apache-storm-0.10.0 /usr/cstor/storm
    chown -R root:root /usr/cstor/storm

    學(xué)校的虛擬機(jī)上已經(jīng)提前幫我們解壓好了,所以這一步就不用我們?nèi)ネ瓿闪?,知道如何操作就行?/p>

    然后我們進(jìn)入解壓目錄下,把conf目錄下的storm.yaml修改和添加配置項(xiàng)目(每個(gè)配置項(xiàng)前面必須留有空格,否則會(huì)無(wú)法識(shí)別),如下:

    cd /usr/cstor/storm/conf
    vim storm.yaml

    Storm集群使用的Zookeeper集群地址,其格式如下:

    storm.zookeeper.servers:
      - "slave1"
      - "slave2"
      - "master"

    在這里插入圖片描述

    然后我們?cè)诒镜貏?chuàng)建一個(gè)workdir目錄用于作為存儲(chǔ)目錄:

    mkdir -p /usr/cstor/storm/workdir

    創(chuàng)建完之后我們?cè)俅位氐絼偛诺膕torm.yaml文件中進(jìn)行后續(xù)配置:

    cd /usr/cstor/storm/conf
    vim storm.yaml

    本地存儲(chǔ)目錄,也就是我們剛剛創(chuàng)建的目錄:

    storm.local.dir: "/usr/cstor/storm/workdir"

    Storm集群Nimbus機(jī)器地址:

    nimbus.host: "master"

    對(duì)于每個(gè)Supervisor工作節(jié)點(diǎn),需要配置該工作節(jié)點(diǎn)可以運(yùn)行的worker數(shù)量。每個(gè)worker占用一個(gè)單獨(dú)的端口用于接收消息,該配置選項(xiàng)即用于定義哪些端口是可被worker使用的。默認(rèn)情況下,每個(gè)節(jié)點(diǎn)上可運(yùn)行4個(gè)workers,分別在6700、6701、6702和6703端口,如:

    supervisor.slots.ports:
        - 6700
        - 6701
        - 6702
        - 6703

    UI端口(web端口,默認(rèn)8080):

    ui.port: 8081

    在這里插入圖片描述

    配置成如上即可。

    配置完成之后我們將/usr/cstor/storm目錄傳到另外三個(gè)節(jié)點(diǎn)上:

    scp -r /usr/cstor/storm root@slave1:/usr/cstor
    scp -r /usr/cstor/storm root@slave2:/usr/cstor

    然后,啟動(dòng)Storm集群(保證Zookeeper在此之前已啟動(dòng)),啟動(dòng)步驟如下:

    主節(jié)點(diǎn)(master)啟動(dòng)nimbus服務(wù):

    cd /usr/cstor/storm/bin
    nohup ./storm nimbus >/dev/null 2>&1 &

    從slave節(jié)點(diǎn)(2個(gè))啟動(dòng)supervisor服務(wù):

    cd /usr/cstor/storm/bin
    nohup ./storm supervisor >/dev/null 2>&1 &

    主節(jié)點(diǎn)(master)啟動(dòng)ui服務(wù):

    nohup ./storm ui >/dev/null 2>&1 &

    最后我們使用jps分別在三臺(tái)虛擬機(jī)上查看java進(jìn)程看我們是否啟動(dòng)成功:

    master:

    在這里插入圖片描述

    slave1和slave2:

    在這里插入圖片描述

    在這里插入圖片描述

    分別出現(xiàn)如上進(jìn)程就說(shuō)明我們成功啟動(dòng)storm。

    啟動(dòng)好Storm集群后??梢酝ㄟ^(guò)瀏覽量訪問(wèn)Storm WEB頁(yè)面(http://10.30.160.10:8081 ),查看Storm集群的一些基本情況:

    在這里插入圖片描述

    六、最后我想說(shuō)

    到這里本次部署Storm實(shí)驗(yàn)就結(jié)束了,后面有時(shí)間我會(huì)繼續(xù)更新的,這學(xué)期也快結(jié)束了,也要開始期末復(fù)習(xí)了。

    你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


    網(wǎng)站標(biāo)題:大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)十四:Storm實(shí)驗(yàn)——部署Storm-創(chuàng)新互聯(lián)
    當(dāng)前URL:http://weahome.cn/article/cssjei.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部