Storm 0.9.2安装指南

0 Storm0.9的亮点

引用网上的描述

“Storm 0.9.0.1版本的第一亮点是引入了netty transport。Storm网络传输机制实现可插拔形式,当前包含两种方式:原来的0mq传输,以及新的netty实现;在早期版本中(0.9.x之前的版本),Storm只支持0mq传输,由于0MQ是一个本地库(native library),对平台的依赖性较高,要完全正确安装还是有一定挑战性。而且版本之间的差异也比较大;Netty Transport提供了纯JAVA的替代方案,消除了Storm的本地库依赖,且比0MQ的网络传输性能快一倍以上;

“Storm 0.9.0.1版本提供了有助于调试和检测拓扑结构的新特性:logviewer(守护进程名)

你现在可以在Storm UI通过点击相应的Woker来查看对应的工作日志。有点类似于hadoop的那种日志查看机制。

安全性、认证以及授权已经并将继续成为将来的重要特点重点领域。Storm 0.9.0.1版本引入了一个可插拔的序列化元组API以及实现一个基于blowfish加密方法对敏感数据进行加密的用例。

1 依赖包安装

Storm依赖包有JDK, Python和Zookeeper。

1.1 JDK和Python

JDK和Python非常简单,在Yum库中就有安装包。

> yum install java-1.7.0-openjdk.i386

> yum install python.i386

1.2 ZooKeeper

Zookeeper需要手动下载安装。首先下载解压:

> wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

> tar -xzvf zookeeper-3.4.6.tar.gz

> chown -R root:root zookeeper-3.4.6

然后配置:

> cd zookeeper-3.4.6

> cp conf/zoo_sample.cfg conf/zoo.cfg

> export ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.5

> export PATH=$ZOOKEEPER_HOME/bin:$PATH

最后启动服务器,并用客户端连上去测试:

> bin/zkServer.sh start

> bin/zkCli.sh -server 127.0.0.1:2181

2 Storm安装

> wget

http://mirrors.hust.edu.cn/apache/incubator/storm/apache-storm-0.9.2-incubating/apache-storm-0.9.2-incubating.tar.gz

> tar -xzvf apache-storm-0.9.2-incubating.tar.gz

在/conf/storm.yaml中配置Storm为单机模式,并且通过Netty通信(Storm 0.9新功能,否则还要按照ZeroMQ):

storm.zookeeper.servers:

- "localhost"

nimbus.host : "localhost"

storm.local.dir : "/var/storm"

ui.port : 8088

storm.messaging.transport :"backtype.storm.messaging.netty.Context"

storm.messaging.netty.server_worker_threads : 1

storm.messaging.netty.client_worker_threads : 1

storm.messaging.netty.buffer_size : 5242880

storm.messaging.netty.max_retries : 100

storm.messaging.netty.max_wait_ms : 1000

storm.messaging.netty.min_wait_ms : 100

启动Storm所有后台服务:

> bin/storm nimbus >/dev/null 2>&1 &

> bin/storm supervisor>/dev/null 2>&1 &

> bin/storm ui >/dev/null 2>&1 &

> bin/storm logviewer > /dev/null 2>&1 &

正常的访问日志应该是这样的:

访问UI http://localhost:8080 就能看到监控页面了。

3 常见问题

3.1 Python版本问题

注意:yum install的可能是低版本的Python,像我的CentOS 5.5给我装的就是2.3。后面启动storm时直接就报错了。可以使用这种方法安全地升级Python到2.7:

> wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

> cd Python-2.7.8

> ./configure –prefix=/usr/local/python

> make

> make install

覆盖老版本文件(老文件要保留,否则Yum就没法用了!)

> mv /usr/bin/python /usr/bin/python_old

> ln -s /usr/local/python/bin/python /usr/bin

将/usr/bin/yum脚本中的第一行改为:#!/usr/bin/python_old

大功告成!现在敲Python命令进入的就是2.7版本了,并且Yum命令也好使!

3.2 ZooKeeper连接问题

当storm.yaml中nimbus和zookeeper的IP地址配置成虚拟机实际IP时,启动nimbus就会报错:KeeperErrorCode = ConnectionLoss for /storm … 都改为localhost就可以了。

其他问题还有:忘记启动ZooKeeper服务,没有关防火墙(service iptables stop)等。

Storm 0.9安装指南的更多相关文章

  1. 实时流式计算框架Storm 0.9.0发布通知(中文版)

    Storm0.9.0发布通知中文翻译版(2013/12/10 by 富士通邵贤军 有错误一定告诉我 shaoxianjun@hotmail.com^_^) 我们很高兴宣布Storm 0.9.0已经成功 ...

  2. grid control 11.1.0.1 安装指南

    grid control 11.1.0.1 安装指南 废话少说,进入正题 系统版本号 [root@gridcontrol ~]# lsb_release -a LSB Version:    :bas ...

  3. HBase-0.98.0和Phoenix-4.0.0分布式安装指南

    目录 目录 1 1. 前言 1 2. 约定 2 3. 相关端口 2 4. 下载HBase 2 5. 安装步骤 2 5.1. 修改conf/regionservers 2 5.2. 修改conf/hba ...

  4. mono-3.0.2安装指南

     install-mono.sh.zip   mono-3.0.2安装指南.pdf   mod_mono.diff.zip mono-3.0.2安装指南 一见 2012/12/27 目录 1. 前言 ...

  5. redhat6.4上build storm 0.9.0.1

    1.安装mvn 2.下载源代码 3.build mvn package 过程中出现问题,clojars.org 访问不了.通过私服映射clojars.org并在pom.xml中将dependency的 ...

  6. HBase-1.2.1和Phoenix-4.7.0分布式安装指南

    目录 目录 1 1. 前言 2 2. 概念 2 2.1. Region name 2 3. 约定 2 4. 相关端口 3 5. 下载HBase 3 6. 安装步骤 3 6.1. 修改conf/regi ...

  7. 消息通信库ZeroMQ 4.0.4安装指南

    一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序. 首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如Ac ...

  8. oracle12c(oracle12.1.0.1.0)安装指南--实测OEL5.9(RH5)

    [root@oel ora12c]# uname -a Linux oel 2.6.39-300.26.1.el5uek #1 SMP Thu Jan 3 18:31:38 PST 2013 x86_ ...

  9. Spark 0.9.1和Shark 0.9.1分布式安装指南

    目录 目录 1 1. 约定 1 2. 安装Scala 1 2.1. 下载 2 2.2. 安装 2 2.3. 设置环境变量 2 3. 安装Spark 2 3.1. 部署 2 3.2. 下载 3 3.3. ...

随机推荐

  1. LOJ #6031 字符串

    Description Solution 当 \(k\) 值较小时,发现询问串比较多,串长比较小 然后对 \(Q\) 个询问区间离线跑莫队,一次考虑每一个区间的贡献 假设一个区间 \([i,j]\) ...

  2. 【LSGDOJ 1850】滑雪课程

    题目描述 贝西去科罗拉多州去滑雪,不过还她不太会玩,只是个能力为 1 的渣渣.贝西从 0 时刻进入滑雪场,一到 T 时刻就必须离开.滑雪场里有 N 条斜坡,第 i 条斜坡滑行一次需要 D i 分钟,要 ...

  3. BZOJ1187 [HNOI2007]神奇游乐园(插头dp)

    麻麻我会写插头dp了! 推荐陈丹琦论文:https://wenku.baidu.com/view/3e90d32b453610661ed9f4bd.html 破题调一年 #include <cs ...

  4. django-rest-framework 注意事项

    注意事项: 在使用django rest framework时候由于网上资料太多,出现了 由一下两个函数导致的问题: from django.views.decorators.csrf import ...

  5. Win10无法删除文件提示“你需要来自system的权限”

    不得不说win10的管理权限非常迷 windows10用户在删除文件时,就会遇到错误提示"你需要来自SYSTEM的权限才可以对此文件夹进行更改".以下是具体解决方法.   解决方案 ...

  6. jquery 数组操作 $.unique() $.inArray()

    1.去除重复 $.unique() $.unique() 去掉重复的元素 注意 : 执行unique之前,要先调用sort对数组的内容进行排序. <script src="http:/ ...

  7. javascript引擎任务运行顺序

  8. 构建纯TypeScript应用

    构建纯TypeScript应用 现在只有命令行应用的例子. 前言 现在,应用开发的趋势是命令行接口应用和Web应用. node.js 和 typescript的崛起所以,这里讨论如何创建纯的TypeS ...

  9. brew的MAC安装

    1.介绍 brew是一个软件包管理工具,类似于centos下的yum或者ubuntu下的apt-get,非常方便,免去了自己手动编译安装的不便 brew 安装目录 /usr/local/Cellar ...

  10. Node.js 集群

    稳定性: 2 - 不稳定 单个 Node 实例运行在一个线程中.为了更好的利用多核系统的能力,可以启动 Node 集群来处理负载. 在集群模块里很容易就能创建一个共享所有服务器接口的进程. var c ...