Storm 0.9安装指南
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
> 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安装指南的更多相关文章
- 实时流式计算框架Storm 0.9.0发布通知(中文版)
Storm0.9.0发布通知中文翻译版(2013/12/10 by 富士通邵贤军 有错误一定告诉我 shaoxianjun@hotmail.com^_^) 我们很高兴宣布Storm 0.9.0已经成功 ...
- grid control 11.1.0.1 安装指南
grid control 11.1.0.1 安装指南 废话少说,进入正题 系统版本号 [root@gridcontrol ~]# lsb_release -a LSB Version: :bas ...
- 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 ...
- 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. 前言 ...
- redhat6.4上build storm 0.9.0.1
1.安装mvn 2.下载源代码 3.build mvn package 过程中出现问题,clojars.org 访问不了.通过私服映射clojars.org并在pom.xml中将dependency的 ...
- 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 ...
- 消息通信库ZeroMQ 4.0.4安装指南
一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序. 首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如Ac ...
- 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_ ...
- 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. ...
随机推荐
- ●Joyoi Easy
题链: http://www.joyoi.cn/problem/tyvj-1952题解: 概率dp (先做的BZOJ 4318: OSU![本人题解],然后就感觉这个题很简单了) 令p[i]表示第i个 ...
- [LCA模版] Distance Queries
题目描述 约翰的奶牛们拒绝跑他的马拉松,因为她们悠闲的生活不能承受他选择的长长的赛道.因此他决心找一条更合理的赛道.此题的输入于第一题相同,紧接着下一行输入一个整数K,以后K行为K个"距离问 ...
- hdu 1166 线段树(sum+单点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- [Project] Simulate HTTP Post Request to obtain data from Web Page by using Python Scrapy Framework
1. Background Though it's always difficult to give child a perfect name, parent never give up trying ...
- Python paramik
本节内容 paramiko模块 1.paramiko模块 Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 Python的paramiko模块,该模块机遇SSH用于 ...
- Python中模块之queue的功能介绍
模块之queue的功能介绍 队列的分类: 队列主要要分为两种 1.双向队列 2.单项队列 1. 单项队列 创建单项队列 格式:queue.Queue(obj) 例如:que = queue.Queue ...
- vue+cordova 构建hybrid app
配了一个 vue + cordova + ionicCli 的 项目 支持 ionic 的脚手架命令 支持 cordova 的 插件 安装使用 支持 webpack 的自动构建 vue 安装了 vue ...
- JavaScript数据结构和算法----栈
前言 栈是一种遵循后进先出(LIFO)原则的有序集合,新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另外一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底.可以想象桌上的一叠书,或者厨房里的 ...
- Python-Jupyter Notebook使用技巧
0. 体验与安装 首先可以通过Jupyter Notebook体验这个链接体验一下Jupyter Notebook. 首先安装ipython:pip3 install ipython 然后安装Jupy ...
- 如何处理IO
Network I/O operations in user code should only be done through the Nginx Lua API calls as the Nginx ...