jstorm2.2.1 安裝使用記錄

1、準備工做

一、機器:一臺或多臺
二、修改主機名,設置集羣hosthtml

  • 修改主機名,並使之生效python

    - 修改:`vim etc/sysconfig/network`
     - 使之生效:`source etc/sysconfig/network`

clipboard.png

  • 統一設置集羣host(修改集羣中每一個節點的hosts文件):vim /etc/hosts clipboard.png

三、防火牆設置linux

若多臺機器,設置防火牆,可以使用如下任一方法:

3.1 關閉防火牆git

  • 即時生效,重啓後會復原:service iptables stop
  • 永久生效:chkconfig iptables off

3.2 設置防火牆規則,容許內網間訪問。github

  • 修改iptables:在/etc/sysconfig/iptables中加入-A INPUT -s 192.168.1.0/24 -j ACCEPT ,192.168.1.0/24更改成本身的網段/子網掩碼位數。
  • 重啓防火牆:service iptables restart

四、安裝zookeeperweb

五、python環境apache

2.6或以上版本(linux系統默認已安裝python2.6)

六、jdk環境vim

2、jstorm安裝

官網地址:http://www.jstorm.io:8080/segmentfault

一、下載wget https://github.com/alibaba/jstorm/releases/download/2.2.1/jstorm-2.2.1.zip
二、解壓tar zxvf jstorm-2.2.1.zip
三、配置vim jstorm-2.2.1/conf/storm.yaml
配置說明參考:http://www.jstorm.io:8080/Maintenance_cn/Configuration.htmltomcat

  • storm.zookeeper.servers: zookeeper地址,能夠是ip,也能夠是hostname
  • storm.zookeeper.port: zookeeper集羣服務的端口
  • storm.zookeeper.root:jstorm數據在zookeeper上的存儲路徑(若只有一個集羣也可不設置該參數,默認爲/sstrom)
  • cluster.name:jstorm集羣名稱(若只有一個集羣也可不設置該參數,默認爲default)
  • nimbus.host: nimbus服務所在節點ip,注意只支持ip不能使用hostname,多個ip使用逗號隔開
  • nimbus.host.start.supervisor:是否在nimbus節點啓動supervisor服務(使用start.sh腳本啓動時會使用此參數,使用jstorm腳本啓動時 沒有影響)
  • storm.local.dir:數據臨時存儲目錄,目錄需先手動建立好
  • jstorm.log.dir: 日誌存儲目錄,目錄需先手動建立好
  • supervisor.slots.ports.base:supervisor 執行worker使用的基本端口
  • supervisor.slots.ports:執行worker使用的端口,默認爲四
  • supervisor.slots.port.cpu.weight:cpu權重 cpu_num = system_physical_cpu_num/supervisor.slots.port.cpu.weight
  • supervisor.slots.port.mem.weight:內存權重 mem_num = system_physical_memory_size/(worker.memory.size * supervisor.slots.port.mem.weight)
  • storm.messaging.netty.transfer.async.batch:若是此設置爲真,netty處於異步模式,則netty將會批處理消息,若是此設置爲false,netty在異步模式下,netty將把tuple一個一個地發送到一個大消息中
  • worker.memory.size: worker內存大小,單位是字節
  • topology.performance.metrics: 禁用時,不會收集定時器和直方圖的數據
  • topology.alimonitor.metrics.post: 官方解釋爲:禁用時,指標數據只會被打印成日誌。啓動時,那數據除了打印到日誌以外,還發布到alimonitor上。暫時沒發現有什麼影響

clipboard.png
clipboard.png

四、安裝
4.1 將安裝包放到須要安裝的目錄,如:mv jstorm-2.2.1 /opt/
4.2 複製安裝包到其餘節點,如: scp -r jstorm-2.2.1 host29:/opt/
4.3 爲了使環境變量與版本無關,創建一個軟鏈接 ln -s jstorm-2.2.1 jstorm
clipboard.png

4.4 設置jstorm環境變量,不然啓動報錯,致使服務沒法正常啓動

- 設置JSTORM_HOME:`vim /etc/profile`        ![clipboard.png](/img/bV04wD)
- 使設置生效: `source /etc/profile`

五、啓動

  • 同時啓動nimbus和supervisor: /opt/jstorm/bin/start.sh clipboard.png
  • 只啓動nimbus:
    使用jstorm腳本啓動:nohup $JSTORM_HOME/bin/jstorm nimbus >/dev/null 2>&1 &clipboard.png
  • 使用start.sh腳本啓動:設置nimbus.host.start.supervisorfalse 使用/opt/jstorm/bin/start.sh
  • 只啓動supervisor: nohup $JSTORM_HOME/bin/jstorm supervisor>/dev/null 2>&1 & clipboard.png

六、中止jstorm/opt/jstorm/bin/stop.sh
clipboard.png

3、jstorm-ui安裝

通常與nimbus安裝在一個節點,也能夠單獨部署

一、安裝tomcat
1.1 下載tomcat

  • 官網地址:https://tomcat.apache.org/dow...
  • 下載:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz (此地址爲鏡像地址,可能變動,請以官網最新下載地址爲準)

1.2 解壓 安裝

  • 解壓:tar zxvf apache-tomcat-8.5.23.tar.gz
  • 安裝:cp apache-tomcat-8.5.23 /opt/

二、部署jstorm-ui
2.1 部署安裝包

  • 安裝包在jstorm-2.2.1安裝包下,把ui安裝包部署到tomcat的webapps目錄下:cp /opt/jstorm-2.2.1/jstorm-ui-2.2.1.war /opt/apache-tomcat-8.5.23/webapps/

2.2 配置文件:配置文件放在~/.jstorm目錄下,沒有則新建

  • 新建配置文件目錄:mkdir ~/.jstorm
  • 複製jstorm的配置文件:cp -f /opt/jstorm/conf/storm.yaml ~/.jstorm

2.3 配置tomcat:vim /opt/apache-tomcat-8.5.23/conf/server.xml

在host節點中增長以下代碼
<Context docBase="${catalina.home}/webapps/jstorm-ui-2.2.1" reloadable="false" path="/jstorm"/>

*此配置是爲了使用http://153.35.119.4:8080/jstorm這個url訪問jstorm-ui,不配置此項默認是使用報名訪問的:http://153.35.119.4:8080/jstorm-ui-2.2.1*

三、啓動

  • 運行tomcat:/opt/apache-tomcat-8.5.23/bin/startup.sh

四、使用http://153.35.119.4:8080/jstorm訪問頁面
clipboard.png

4、運行任務

一、開發

二、運行/opt/jstorm/bin/jstorm jar LogCaculater-1.0.0.jar com.snail.dw.jstorm.topology.LogCountTopology conf.yaml

三、刪除任務/opt/jstorm/bin/jstorm kill LogCountTopology

5、錯誤記錄

一、沒有設置JSTORM_HOME環境變量:clipboard.png

二、yaml配置文件語法錯誤
clipboard.png

yaml配置文件一級屬性必須距離左邊 空 **一個空格**,值距離左邊分號也必須至少一個空格

參考文章:

相關文章
相關標籤/搜索