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
env沒有JAVA_HOME變數,因此要自己配置該變數。查詢jdk安裝目錄。
在/root目錄下編輯。bashrc
使環境變數生效,檢查是否有JAVA_HOME變數
安裝 Zookeeper
下載zookeeper-3。4。6。tar。gz,上傳到伺服器,解壓
進入zookeeper的conf資料夾
然後vi zoo。cfg
修改dataDir目錄為你希望的目錄
啟動zookeeper
安裝Storm(單機)
下載apache-storm-0。9。6。tar。gz 上傳伺服器,解壓
進入storm的conf目錄,修改storm。yaml檔案,地址改成127。0。0。1,ui埠改成8888
bin目錄下依次啟動storm nimbus、storm supervisor、storm ui
瀏覽器輸入IP:8888可以開啟UI介面。
如果訪問UI打不開一般是防火牆沒關閉,systemctl stop firewalld臨時關閉防火牆試試。
下圖描述了幾個角色之間的關係
執行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