zoukankan      html  css  js  c++  java
  • Storm单机版的安装与测试

    一、安装Python
     
    二、安装zookeeper
     
    三、安装zeromq以及jzmq
    jzmp的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。
    1、安装zeromq:
     
    jzmq dependencies 依赖包
    sudo yum install uuid*
    sudo yum install libtool
    sudo yum install libuuid 
    sudo yum install libuuid-devel
     
    wget http://download.zeromq.org/zeromq-2.2.0.tar.gz
    tar zxf zeromq-2.2.0.tar.gz 
    cd zeromq-2.2.0
    ./configure
    make
    make install
    sudo ldconfig (更新LD_LIBRARY_PATH)
    zeromq安装完成。
     
    2、安装jzmq
    yum install git
    cd jzmq
    ./autogen.sh
    ./configure
    make
    sudo make install
     
    四、安装storm
    unzip storm-0.8.2.zip
    cd storm-0.8.2.zip
    设置环境变量
    vi /etc/profile.d/java.sh
    export STORM_HOME=/usr/local/storm-0.8.2
    export PATH=$PATH:$STORM_HOME/bin
    手动立即生效
    source /etc/profile
     
    配置storm
    文件在/usr/local/storm-0.8.2/conf/storm.yaml
    内容:
     storm.zookeeper.servers:
     - 127.0.0.1
     storm.zookeeper.port:2181
     nimbus.host: "127.0.0.1"
     storm.local.dir: "/tmp/storm"
     supervisor.slots.ports:
     - 6700
     - 6701
     - 6702
     - 6703
     
    配置时一定要注意在每一项的开始时要加空格,冒号后也必须要加空格,否则storm就不认识这个配置文件了。
    storm.local.dir:表示storm需要用到的本地目录。
    nimbus.host:表示那一台机器是master机器,即nimbus。
    storm.zookeeper.servers:表示哪几台机器是zookeeper服务器。
    storm.zookeeper.port表示zookeeper的端口号,这里一定要与zookeeper配置的端口号一致,否则会出现通信错误。
     
    运行:
    # bin/storm nimbus&(启动主节点)
    # bin/storm supervisor&(启动从节点)
    执行命令:
    # storm jar StormStarter.jar storm.starter.WordCountTopology test
    此命令的作用就是用storm将jar发送给storm去执行,后面的test是定义的toplogy名称。
    # bin/storm ui
    启动ui,可以通过浏览器,ip:8080/ 查看运行情况。
    如果8080端口被占用会报错,修改storm-ui的端口,ui.port: 81
     
    五、测试一下本地模式的WordCount
    Github里有一个例子storm_starter,可以用它来做测试。
    按照http://github.com/nathanmarz/storm-starter ,执行这个程序需要用lein,我们用eclipse代替lein。打包后进行上传。
    1) 安装twitter4j
    # mkdir twitter4j
    # cd twitter4j
    # wget http://twitter4j.org/en/twitter4j-2.2.5.zip
    # unzip twitter4j-2.2.5.zip
    2)追加源文件storm-start/src/jvm/storm
    使用eclipse建立java project。追加twitter4j和storm的jar文件。
    File-> New -> Java Project ->随便取个名字-> Next -> Libraries -> add External JARs...-> 追加commons-collections-3.2.1.jar、twitter4j和storm的jar文件(/path/to/twitter4j/lib/*.jar和/path/to/storm/lib/*.jar和/path/to/storm/storm-{version}.jar)-> Finsh
    导入storm-start
    File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/src/jvm/storm -> Browse(Info floder)  -> xxx -> src -> OK -> “storm” 和 “Create top-level folder”前打勾 -> Finish
    完成之后如图:
    3)追加源文件storm-start/multilang/resources×(python 文件word count用)
    File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/multilang/resources -> Browse(Info floder)  -> xxx -> OK -> check “resources” and “Create top-level folder” -> Finish
    2个源文件都追加好之后,eclipse左边显示如下图:
    4)JAR export
    File -> Export -> JAVA -> JAR file -> 取消 “.classpath” ,“.project” 和 “<.settings” ->的勾 browse -> path/to/export/name.jar -> Finish (忽视 warnings)
    5)上传刚才打包编译的jar包,执行文件。
    # storm jar StormStarter.jar storm.starter.WordCountTopology
    如果出现类似下面的文字,说明运行成功!
    ....
    11367 [Thread-25] INFO  backtype.storm.daemon.task  - Emitting: class storm.starter.ExclamationTopology$ExclamationBolt source: 2:3, stream: 1, id: {}, [golda!!!]
    ....
    如果看到有Emitted等数据,就说明我们正确地完成了配置。
  • 相关阅读:
    ES6核心内容精讲--快速实践ES6(三)
    ES6核心内容精讲--快速实践ES6(二)
    ES6核心内容精讲--快速实践ES6(一)
    webpack入门
    centos 7 nodejs 安装
    android结合Jenkins使用V2签名
    dockerfile 创建Jenkins镜像
    ubuntu docker 安装
    shell sed语法详解
    mac关于stf开源工具安装
  • 原文地址:https://www.cnblogs.com/jingyunyb/p/3408039.html
Copyright © 2011-2022 走看看