Twitter Storm

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

第 121 章 Twitter Storm

121.1. 单机版

操作系统环境:Ubuntu 13.04 KVM虚拟机

安装 storm 涉及到安装以下包:Python、zookeeper、zeromq、jzmq、storm

过程 121.1. Ubuntu + Storm 单机环境安装

  1. 安装 zookeeper

    $ sudo apt-get install zookeeper zookeeper-bin zookeeperd
    				
  2. 安装 zeromq 与 jzmq

    $ sudo apt-get install openjdk-7-jdk
    $ sudo apt-get install libzmq-dev
    				

    设置 JAVA_HOME 环境变量

    $ export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
    				

    编译安装 jzmq

    				
    $ cd /usr/local/src/
    $ git clone git://github.com/nathanmarz/jzmq.git
    $ cd jzmq
    $ ./autogen.sh
    $ ./configure --prefix=/srv/jzmq-2.1.0
    $ javac src/org/zeromq/*.java
    $ touch src/classdist_noinst.stamp
    $ make && make install
    
    $ ls /srv/jzmq-2.1.0/
    lib  share
    				
    				
  3. 安装 Storm

    下载地址:https://github.com/nathanmarz/storm/downloads

    $ sudo apt-get install unzip
    
    $ cd /usr/local/src/
    $ $ wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
    $ unzip storm-0.8.1.zip
    $ $ sudo mv storm-0.8.1 /srv/
    $ sudo ln -s /srv/storm-0.8.1 /srv/storm
    				

     

    				
    cat >> ~/.bashrc <<'EOF'
    
    export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
    export ZOOKEEPER_HOME="/usr/lib/zookeeper"
    export STORM_HOME=/srv/storm
    export PATH=$PATH:$PATH:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin
    EOF
    				
    				

    修改 Storm CONF_DIR 目录位置

    $ sed -i 's:CONF_DIR = os.path.expanduser("~/.storm"):CONF_DIR = "/srv/storm-0.8.1/conf":' /srv/storm/bin/storm
    				
  4. 启动服务

    启动 zookeeper 服务

    $ sudo service zookeeper start
    				

    启动 storm 服务

    				
    /srv/storm/bin/storm nimbus &
    /srv/storm/bin/storm supervisor &
    /srv/storm/bin/storm ui &
    				
    				

    Storm UI

    http://192.168.6.2:8080/

    查看 Java 进程

    $ jps
    10382 Jps
    10228 supervisor
    10294 core
    10173 nimbus
    				
  5. 测试 Storm

    $ sudo apt-get install maven2
    
    $ git clone git://github.com/nathanmarz/storm-starter
    $ cd storm-starter
    $ mvn -f m2-pom.xml package
    				

    先进入Storm UI http://192.168.6.2:8080/, 然后运行下面与命令

    $ storm jar target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.WordCountTopology wordcountTop
    				

    在次进入 Storm UI 你会看到 wordcountTop

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
消息中间件 SQL 存储
Presto on Apache Kafka 在 Uber 的大规模应用
本文最初发布于 Uber 官方博客,InfoQ 经授权翻译如下
205 0
Presto on Apache Kafka 在 Uber 的大规模应用
|
JavaScript 网络协议 Dubbo
Facebook分布式框架—Thrift介绍。
Thrift介绍 Thrift是一个分布式RPC框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml这些编程语言间无缝结合的、高效的服务。
345 0
Facebook分布式框架—Thrift介绍。
|
搜索推荐 开发工具
完全基于开源软件构建的 Twitter
Twitter 宣布其整个系统基于开源软件系统构建,同时该公司也贡献很多开源的软件,并为这些开源软件专门制作一个汇集页面 http://twitter.github.io/
133 0
完全基于开源软件构建的 Twitter
|
大数据 测试技术 Apache
Apache Cassandra 在 Facebook 的应用
在 Instagram (Instagram是Facebook公司旗下一款免费提供在线图片及视频分享的社交应用软件,于2010年10月发布。)上,我们拥有世界上最大的 Apache Cassandra 数据库部署。
3816 0
|
消息中间件 Java 开发工具
|
流计算 程序员 并行计算