1. 程式人生 > >Storm入門-storm的安裝

Storm入門-storm的安裝

本文介紹linux環境下storm執行環境的搭建。由於條件有限,安裝的storm執行在單機模式下,即主從節點都在同一臺機器上,zookeeper也在同一臺機器上。
環境:
OS:Red Hat Enterprise Linux Server release 6.3 (Santiago)
2G記憶體,50G儲存的虛擬機器
虛擬機器通過網路橋接和實體機相連
所需基礎軟體:
1. jdk(建議1.7及以上)
2. zookeeper(提供分散式叢集的協同)
3. Zeromq(storm預設的訊息佇列庫)
4. Jzmq(zreomq的java)
5. Storm(本文apache-storm-1.0.2.tar.gz)

安裝前的一些準備
修改主機名(例如將hostname修改為stormnode)

vim /etc/sysconfig/network  //編輯主機名為 stormnode
hostname stormnode   //使用hostname命令修改主機名,並立即生效
vim /etc/hosts   //修改ip地址和主機名的對映關係
可以只保留如下配置
  127.0.0.1   localhost
  192.168.1.100   stormnode   //192.168.1.100是本機的靜態IP地址

關閉防火牆

service iptables stop //關閉防火牆服務
chkconfig iptables off //設定系統重啟時預設不啟動防火牆服務

PS:本文只使用到一臺機器,如果要使用多臺機器組成的叢集,那麼可以參照上述依次修改主機名,並在每臺機器節點的/etc/hosts中都加上所有節點的ip地址到hostname的對應關係。並且通過ssh-kegen和ssh-copy-id 建立主節點(master)到其餘工作節點(worker)的信任。如果按照叢集,還是通過編寫自動化指令碼來吧。

關於jdk,zookeeper,zeromq,以及jzmq的安裝在此不再進行詳述(可參考文獻[2-3]),重點介紹安裝過程中可能遇到問題,以及storm的安裝。安裝過程以root使用者進行安裝。

安裝jzmq時,使用make進行編譯時遇到如下錯誤

Event
.cpp: In function ‘_jobject* Java_org_zeromq_ZMQ_00024Event_recv(JNIEnv*, _jclass*, jlong, jint)’: Event.cpp:60: error: ‘zmq_event_t’ was not declared in this scope Event.cpp:60: error: expected ‘;’ before ‘eventEvent.cpp:72: error: ‘event’ was not declared in this scope make[2]: *** [libjzmq_la-Event.lo] Error 1 make[2]: Leaving directory `/home/jzmq-3.1.0/src/main/c++' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/jzmq-3.1.0/src/main/c++' make: *** [all-recursive] Error 1

Tips:對於zeromq和jzmq,預設安裝到/usr/local/目錄下,可以通過修改當前使用者的環境變數來載入一些必要的可執行檔案和系統預設查詢庫檔案的路徑

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/bin:
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

source ~/.bash_profile

Storm的安裝(安裝包位於/home目錄下,並即將安裝到/home目錄下)
tar -zxvf apache-storm-1.0.2.tar.gz
ln –sf apache-storm-1.0.2 storm

修改當前使用者的環境變數,新增storm的環境配置

vim ~/.bash_profile

STORM_HOME=/home/storm
PATH=$PATH:$HOME/bin:/usr/local/bin:$STORM_HOME/bin
export STORM_HOME

source ~/.bash_profile

修改conf/storm.yaml

storm.zookeeper.servers:
    - "stormnode

nimbus.seeds:
    - "stormnode"

ui.port: 8080

drpc.servers:
     - "stormnode"

啟動storm
啟動storm前需先啟動zookeeper

storm nimbus &  //主節點的nimbus守護程序
storm ui &     //storm的UI介面
storm supervisor & //工作節點的守護程序
storm drpc & //drpc守護
storm logviewer & //logviewer是storm新增的用來除錯和監視拓撲的程序,可以容易訪問一個指定worker節點的日誌,只需在storm的UI介面中點選worker的port即可。

在啟動storm nimbus時如果發生以下錯誤:

Caused by: while scanning a simple key
 in 'reader', line 25, column 1:
    nimbus.seeds:" stormnode "
    ^
could not found expected ':'
 in 'reader', line 27, column 1:
    ui.port: 8080

那麼應該檢查storm.yaml的配置,yaml檔案的格式(http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt)不對會導致上述讀取配置錯誤
當所有程序都正常啟動後,訪問 http://{IP}:8080,即可檢視storm的ui

相關推薦

Storm入門-storm安裝

本文介紹linux環境下storm執行環境的搭建。由於條件有限,安裝的storm執行在單機模式下,即主從節點都在同一臺機器上,zookeeper也在同一臺機器上。 環境: OS:Red Hat Enterprise Linux Server release

Storm入門(三)HelloWorld示例

right 出現 9.png context color tro order tput 執行 一、關聯代碼 使用maven,代碼如下。 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x

Storm入門(八)Storm實戰常見問題總結

logger 2.x appenders exec 問題 一個 新建 round XML 一、本地環境log級別設置問題 storm-core-1.1.0.jar下面有個log4j2.xml文件,默認log級別是info。 <configuration monitor

Storm入門(十一)Twitter Storm源代碼分析之CoordinatedBolt

業務 什麽 協議 ack 第一個 ng- rec 功能 這一 作者: xumingming | 可以轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明網址: http://xumingming.sinaapp.com/811/twitter-storm-code

Storm入門(四)WordCount示例

etl rri emit lis auto deb turn output -- Storm API文檔網址如下: http://storm.apache.org/releases/current/javadocs/index.html 一、關聯代碼 使用maven,代碼如

Storm介紹及安裝部署

節點和 yam 實時計算系統 如果 int 端口 bili usr then 本節內容: Apache Storm是什麽 Apache Storm核心概念 Storm原理架構 Storm集群安裝部署 啟動storm ui、Nimbus和Supervisor 一、Ap

Storm 0.9安裝指南

3.4 sample configure 那種 gravity avi 版本 裝包 mes Storm 0.9.2安裝指南0 Storm0.9的亮點引用網上的描寫敘述:“Storm 0.9.0.1版本號的第一亮點是引入了netty transport。Storm網絡傳輸

storm入門

storm本文出自 “我是程序我最大” 博客,請務必保留此出處http://skinglzw.blog.51cto.com/10729606/1968625storm入門

Storm筆記整理(三):Storm集群安裝部署與Topology作業提交

大數據 實時計算 Storm [TOC] Storm分布式集群安裝部署 概述 Storm集群表面類似Hadoop集群。但在Hadoop上你運行的是”MapReduce jobs”,在Storm上你運行的是”topologies”。”Jobs”和”topologies”是大不同的,一個關鍵不同是

Storm 入門的Demo教程

簡單 單詞 ring 方向 執行 項目 地址 遠程 本地模式 Storm介紹 Storm是Twitter開源的分布式實時大數據處理框架,最早開源於github,從0.9.1版本之後,歸於Apache社區,被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的Map

【轉】Storm入門示例

Storm入門示例   開發Storm的第一步就是設計Topology,為了方便開發者入門,首先我們設計一個簡答的例子,該例子的主要的功能就是把每個單詞的後面加上Hello,World字尾,然後再列印輸出,整個例子的Topology圖如下:   整個Topology分為三部分:  

【轉】Storm入門(一)原理介紹

問題導讀:1.hadoop有master與slave,Storm與之對應的節點是什麼? 2.Storm控制節點上面執行一個後臺程式被稱之為什麼? 3.Supervisor的作用是什麼? 4.Topology與Worker之間的關係是什麼? 5.Nimbus和Supervisor之間的所有協調工作有m

Storm入門學習隨記

推薦慕課網視訊:http://www.imooc.com/video/10055   另外,關於Storm併發度,已經整理到另一篇部落格中,希望對讀者有所幫助。 請參考:http://www.cnblogs.com/quchunhui/p/8271349.html &n

Apache Storm 入門教程

1、瞭解Storm 1.1、什麼是Storm? 疑問:已經有了Hadoop,為什麼還要有Storm? Storm是一個開源免費的分散式實時計算系統,Storm可以輕鬆的處理無界的資料流。 Storm有許多用例:實時分析、線上機器學習、連

Storm入門介紹一

概述 離線計算是什麼? 批量獲取資料,批量傳輸資料,週期性批量計算資料,資料展示。(形象的比喻:電梯載客,一波一波的來) 代表技術:Sqoop 批量匯入資料,HDFS 批量儲存資料 ,MapRduce Hive 批量計算資料,azkaban 任務排程。 日常業務:hi

Storm入門之第五章Bolts

第5章 Bolts 正如你已經看到的,bolts是一個Storm叢集中的關鍵元件。你將在這一章學到bolt生命週期,一些bolt設計策略,以及幾個有關這些內容的例子。 Bolt生命週期 Bolt是這樣一種元件,它把元組作為輸入,然後產生新的元組作為輸出。實現一個bolt時,通常需要實現IRi

Storm入門之第一章

原書下載地址 譯者:吳京潤   編輯:方騰飛 譯者注:本文翻譯自《Getting Started With Storm》,本書中所有Storm相關術語都用斜體英文表示。 這些術語的字面意義翻譯如下,由於這個工具的名字叫Storm,這些術語一律按照氣象名詞解釋 spout 龍捲,讀取原始資料

Storm入門之附錄C

安裝實際的例子 譯者注:有些軟體的最新版本已有變化,譯文不會完全按照原文翻譯,而是列出當前最新版本的軟體。 首先,從下述GitHub的URL克隆這個例子: > git clone git://github.com/storm-book/examples-ch06-real-li

Storm入門之第四章Spouts

你將在本章瞭解到spout作為拓撲入口和它的容錯機制相關的最常見的設計策略。 在設計拓撲結構時,始終在頭腦中記著的一件重要事情就是訊息的可靠性。當有無法處理的訊息時,你就要決定該怎麼辦,以及作為一個整體的拓撲結構該做些什麼。舉個例子,在處理銀行存款時,不要丟失任何事務報文就是很重要的事情。

Storm入門 第二章準備開始

準備開始 在本章,我們要建立一個Storm工程和我們的第一個Storm拓撲結構。 NOTE: 下面假設你的JRE版本在1.6以上。我們推薦Oracle提供的JRE。你可以到http://www.java .com/downloads/下載。 操作模式 開始之前,有必要了解一下Storm的操