storm安裝教程 單機版

Storm是Twitter開源的分散式實時大資料處理框架,被業界稱為實時版Hadoop。按照storm作者的說法,Storm對於實時計算的意義類似於Hadoop對於批處理的意義。

應用場景包括推薦系統(實時推薦,根據下單或加入購物車推薦相關商品)、金融系統、預警系統、網站統計(實時銷量、流量統計,如淘寶雙11效果圖)、交通路況實時系統等等。

storm一般從日誌系統透過kafka收集資料,然後對資料進行處理運算(運算可以結合資料庫以及hdfs的存量資料),不斷將運算結果寫入redis,然後需要展示這個運算結果的系統從redis讀取資料。運算結果寫入redis和讀取展示運算結果是不斷重複的(例如1秒一次),這樣能實時觀察資料的變化。例如雙十一的銷售額會不斷增長,那麼storm就要不斷解析日誌累加銷售額,展示頁面也要不斷讀取redis最新的銷售額。

twitter和微博實時統計熱搜也是一樣,實時分析日誌才能發現今天的高頻詞是哪個。

也可以用於埋點收集日誌,使用者做某個動作,會觸發在日誌裡打印出某個關鍵字,透過對關鍵字的統計,可以實時分析使用者行為特徵。

本文演示安裝單機storm系統,並執行內建的示例程式。分為四個步驟:

安裝Java環境

安裝 Zookeeper

安裝Storm(單機)

執行Storm例項-WordCount

安裝Java環境

yum install java-1。7。0-openjdk java-1。7。0-openjdk-devel

storm安裝教程 單機版

env沒有JAVA_HOME變數,因此要自己配置該變數。查詢jdk安裝目錄。

storm安裝教程 單機版

在/root目錄下編輯。bashrc

storm安裝教程 單機版

使環境變數生效,檢查是否有JAVA_HOME變數

storm安裝教程 單機版

安裝 Zookeeper

下載zookeeper-3。4。6。tar。gz,上傳到伺服器,解壓

storm安裝教程 單機版

進入zookeeper的conf資料夾

然後vi zoo。cfg

修改dataDir目錄為你希望的目錄

storm安裝教程 單機版

storm安裝教程 單機版

啟動zookeeper

storm安裝教程 單機版

安裝Storm(單機)

下載apache-storm-0。9。6。tar。gz 上傳伺服器,解壓

storm安裝教程 單機版

進入storm的conf目錄,修改storm。yaml檔案,地址改成127。0。0。1,ui埠改成8888

storm安裝教程 單機版

storm安裝教程 單機版

bin目錄下依次啟動storm nimbus、storm supervisor、storm ui

storm安裝教程 單機版

storm安裝教程 單機版

storm安裝教程 單機版

瀏覽器輸入IP:8888可以開啟UI介面。

storm安裝教程 單機版

如果訪問UI打不開一般是防火牆沒關閉,systemctl stop firewalld臨時關閉防火牆試試。

下圖描述了幾個角色之間的關係

storm安裝教程 單機版

執行Storm例項-WordCount

執行內建示例,示例程式不斷地取如下語句作為資料來源,然後統計單詞出現的次數。後面加上grep the是篩選統計結果關於the這個單詞的次數。該程式執行10秒後會自動關閉。

{

“the cow jumped over the moon”,

“an apple a day keeps the doctor away”,

“four score and seven years ago”,

“snow white and the seven dwarfs”, “i am at two with nature”

}

。/bin/storm jar 。/examples/storm-starter/storm-starter-topologies-0。9。6。jar storm。starter。WordCountTopology |grep ‘Thread-[0-9]*-count’ | grep the

storm安裝教程 單機版