Mac系統安裝JStorm 2.1.0配置過程

從頭安裝jstorm

創建安裝目錄

當前在桌面創建work目錄

# mkdir  /work/jstrom
# cd /work/jstrom

安裝jdk(需要jdk1.5以上)

  1. 下載:訪問Oracle官網 http://www.oracle.com,在頁面的底部Download Java for Develops,同時選擇Accept Lisence Agreement,下載後點擊即可以安裝
    Mac下安裝地址:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    (當前安裝版本爲1.8.0_131)
  2. 配置環境變量
    vi ~/.bash_profile
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
  1. 查看安裝結果
java -version

顯示結果爲以下則說明安裝成功

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

安裝python(需要2.6以上)

Mac自帶python,可以通過python命令來進行查看
如果需要重新安裝
(1)brew install python
(2)官網下載安裝 https://www.python.org/download
通過which python查看python的安裝位置

安裝ZooKeeper

  1. 下載並解壓:當前安裝版本3.4.12
    (1)從Apache網站(http://zookeeper.apache.org/releases.html)上下載zookeeper
    (2)命令行下載
# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
# sudo tar -zxvf zookeeper-3.4.12.tar.gz
  1. 配置環境變量
    可以在~/.bash_profile或者 ~/.bashrc中進行配置
    terminal運行vi ~/.bash_profile
# export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
ZOOKEEPER_HOME=/Users/.../work/jstorm/zookeeper-3.4.12
# export PATH="$PATH:$ZOOKEEPER_HOME"
  1. 關閉當前terminal或者運行一下命令使環境變量生效
source  ~/.bash_profile

4.可以運行cd和pwd檢查環境變量是否配置正確

# cd $ZOOKEEPER_HOME
# pwd //查看當前目錄
  1. 添加zoo.cfg配置
# cd $ZOOKEEPER_HOME/conf/
# cp zoo_sample.cfg zoo.cfg
# vi zoo.cfg

在zoo.cfg中僅需要修改dataDir的配置

dataDir=/work/jstorm/zookeeper-3.4.12/data
  1. zookeeper的啓動和停止
# $ZOOKEEPER_HOME/bin/zkServer.sh start
# $ZOOKEEPER_HOME/bin/zkServer.sh stop

安裝jstorm

  1. 下載jstorm並解壓 當前版本2.1.0(jstorm-2.1.0.tar.bz2)(因爲後面用到mvn編寫jar包,mvn只提供三個jstorm-core的版本支持)
    下載地址: http://jstorm.io/Downloads.html
    下載至/work/jstorm
# wget https://github.com/alibaba/jstorm/releases/download/2.1.0/jstorm-2.1.0.tar.bz2
# tar -zxvf jstorm-2.1.0.tar.bz2
  1. 只在2.1.0下需要注意
mv deploy/jstorm ./jstorm-2.1.0
  1. 配置環境變量
export JSTORM_HOME=/Users/.../work/jstorm/jstorm-2.1.0
export PATH="$PATH:$JSTORM_HOME"
  1. 配置storm.yaml
# cd jstorm-2.1.0/conf
# cp storm.yaml.example storm.yaml
# vim storm.yaml

修改storm.yaml,配置nimbus

storm.zookeeper.servers:
     - "192.168...."
     - "192.168...."
     - "192.168..."
 storm.zookeeper.root: "/jstorm"
 nimbus.host: "....."   # 只能用ip
 storm.local.dir: "%JSTORM_HOME%/data"
  1. 修改supervisor配置
# cd jstorm-2.1.0/conf
# cp storm.yaml.example storm.yaml
# vim storm.yaml

講下面的內容前面的#去掉

supervisor.slots.ports:
    - 6800
    - 6801
    - 6802
    - 6803
  1. 修改集羣的配置,在jstorm安裝目錄下conf/storm.yaml
    去掉下面內容前面的#號
 ui.cluseters:
     - {
          name: "jstorm.share",
          zkRoot: "/jstorm",
          zkServers:
              [ "192.168......", "", ""],
          zkPort: 2181,
        }
  1. 啓動節點
# nohup jstorm nimbus &
# nohup jstorm supervisor &

啓動Nimbus:進入JStorm目錄,執行bin/jstorm nimbus
啓動Supervisor:進入JStorm目錄,執行bin/jstorm supervisor
啓動之後可以通過jps命令查看結果

可能報錯

報錯

MaxTenuringThreshold of 20 is invalid; must be between 0 and 15
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

解決方案:在conf/storm.yaml內添加

nimbus.childopts: " -Xms2g -Xmx2g -Xmn768m -XX:PermSize=128m  -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC  -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:CMSFullGCsBeforeCompaction=5 -XX:+HeapDumpOnOutOfMemoryError  -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 "

worker.gc.childopts: " -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC  -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:CMSFullGCsBeforeCompaction=5 -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 "

安裝JStorm UI

  1. 下載Tomcat:https://tomcat.apache.org/download-80.cgi#8.5.35
    或者
    http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.53.tar.gz
    當前安裝版本爲8.0.53
  2. 安裝8.0.53
# tar -xzf apache-tomcat-8.0.53.tar.gz 
# cd apache-tomcat-8.0.53
# cd webapps
# cp $JSTORM_HOME/jstorm-ui-2.1.0.war ./
# mv ROOT ROOT.old
# ln -s jstorm-ui-2.1.0 ROOT
# cd ../bin
# ./startup.sh 
  1. 瀏覽器查看: http://localhost:8080查看JStorm的管理頁面

提交Topology

  1. 使用Hello進行測試
    github代碼:https://github.com/ashrithr/storm-helloworld
    bin/jstorm jar hello-world-1.0-SNAPSHOT.jar storm.cookbook.HelloWorldTopology HelloWorld
    生成jar包,提交Storm集羣
    mvn clean install
    mvn clean package
    mvn clean deploy
  2. 自己的測試樣例
    bin/jstorm jar storm-1.0.jar w…papercode.SimpleTopology
    bin/jstorm jar storm-1.0.jar w…papercode.MiddleTopology
    bin/jstorm jar storm-1.0.jar w…papercode.ComplexTopology

參考博文:https://blog.fish2bird.com/?p=383
https://www.cnblogs.com/chen110xi/p/5655050.html
https://blog.csdn.net/szzhaom/article/details/41778763

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章