Storm 1 2 1 集群環境搭建

2021-08-16 17:28:19 字數 3611 閱讀 7264

1,storm基礎介紹:

storm作為大資料處理框架之一,其和spark一樣具有非常廣泛的使用,如下為storm的架構圖:

在了解集群配置安裝之前需要掌握如下幾個概念(concept):

拓撲(topologies):類似hadoop的mapreduce 的任務(job),區別在於 mapreduce 的乙個 job 在得到結果之後總會結束,而拓撲會一直在集群中執行,直到被手動終止。

流(streams):資料流(streams)是 storm 中最核心的抽象概念。乙個資料流指的是在分布式環境中並行建立、處理的一組元組(tuple)的無界序列。

資料來源(spouts):資料來源(spout)是拓撲中資料流的**。一般 spout 會從乙個外部的資料來源讀取元組然後將他們傳送到拓撲中。根據需求的不同,spout 既可以定義為

可靠的資料來源,也可以定義為

不可靠的

資料來源。

資料流處理元件(bolts):拓撲中所有的資料處理均是由 bolt 完成的。通過資料過濾(filtering)、函式處理(functions)、聚合(aggregations)、聯結(joins)、資料庫互動等功能,bolt 幾乎能夠完成任何一種資料處理需求。

資料流分組(stream groupings):為拓撲中的每個 bolt 的確定輸入資料流是定義乙個拓撲的重要環節。資料流分組定義了在 bolt 的不同任務(tasks)中劃分資料流的方式。

可靠性(reliability)

任務(tasks):在 storm 集群中每個 spout 和 bolt 都由若干個任務(tasks)來執行。

工作程序(workers):拓撲是在乙個或多個工作程序(worker processes)中執行的

nimbus:storm集群的守護程序之一,所以集群的主管理服務。

supervisor:storm集群的worker節點,執行任務的機器守護程序。

zookeeper:作為storm集群的配置管理存在。(zookeeper基本是配置管理的主選軟體)

2,storm集群安裝

2.1 集群部署架構介紹

在192.168.32.150~152三颱主機部署storm集群,依賴zookeeper完成配置管理及nimbus和supervisor的註冊工作。

--zookeeper

192.168.32.150

192.168.32.151

192.168.32.152

--nimbus

192.168.32.150

--supbervisor

192.168.32.151

192.168.32.152

前置條件:在安裝和配置之前需要保證所有機器jdk7+和python 2.6.6+。

2.2 zookeeper集群搭建

2.2.2 修改zookeeper的conf/zoo.cfg檔案,增加如下配置(每台機器的zookeeper配置均如下)

clientport=2181

server.150=192.168.32.150:2888:3888

server.151=192.168.32.151:2888:3888

server.152=192.168.32.152:2888:3888

2.2.3 啟動zookeeper集群在每台機器上通過zookeeper的bin/zkserver.sh start啟動zk,zookeeper會自動組建集群。

2.2.4 zookeeper環境確認:在每台機器上執行zkserver.sh status檢視其狀態,如

[root@rhel150 ~]# ./zookeeper/zookeeper-3.4.9/bin/zkserver.sh status

zookeeper jmx enabled by default

using config: /root/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg

mode: follower

2.3 storm集群搭建2.3.2 配置storm,修改conf/storm.yaml檔案,增加如下配置(每台機器配置均相同):

storm.zookeeper.servers:

- "192.168.32.150"

- "192.168.32.151"

- "192.168.32.152"

storm.zookeeper.port: 2181

storm.local.dir: "/root/storm/storm-local"

nimbus.seeds: ["192.168.32.150"]

supervisor.slots.ports:

- 6700

- 6701

- 6702

- 6703

storm.health.check.dir: "healthchecks"

storm.health.check.timeout.ms: 5000

其中storm.local.dir指定的目錄需要提前建立,

supervisor.slots.ports配置的埠數量決定了每台supervisor機器的worker數量,每個worker會有自己的監聽埠用於監聽任務。

2.3.3 啟動storm:

在192.168.32.150機器啟動nimbus和監控

#!/bin/sh

storm_home=/root/storm/storm-1.2.1

nohup $storm_home/bin/storm nimbus &

nohup $storm_home/bin/storm ui &

在192.168.32.151和152機器啟動supervisor作為worker

#!/bin/sh

storm_home=/root/storm/storm-1.2.1

nohup $storm_home/bin/storm supervisor &

#nohup $storm_home/bin/storm ui &

3 環境確認通過瀏覽器訪問ui監控介面,"storm ui"命令執行的機器ip + 預設8080埠,如本例中的

到此,storm集群搭建完成,主要工作為:1,zookeeper的安裝;2,storm中配置zookeeper的位址;3,分別啟動storm的nimbus和supervisor及監控ui。

RHEL7 0下安裝Storm1 2 1集群

1.基本資訊 軟硬體環境 版本storm1.2.1 安裝機器 三颱機器 big data01 ip 192.168.200.121 big data02 ip 192.168.200.122 big data03 ip 192.168.200.123 賬號hadoop 源路徑 opt softwar...

storm1 2 2 集群搭建

2 修改conf目錄下的storm.yaml配置檔案 注意,storm對配置檔案的格式校驗非常嚴格,以下配置項,每行前要有乙個空格,和 後都要有空格 zookeeper位址,storm.zookeeper.servers xx.xx.xx.xx storm.zookeeper.port 2181 s...

Storm1 0 3集群部署

storm集群部署 1 所有的集群上都要配置hosts vi etc hosts 192.168.33.201 storm1 hadoop1 zk1 192.168.33.202 storm2 hadoop2 zk2 192.168.33.203 storm3 hadoop3 zk3 2 集群部署的...