02_Storm集群部署
1. 部署前的硬件及软件检查
硬件要求
1)storm集群部署包括zookeeper部署,而zookeeper集群最小为3台机器
2)storm的计算过程都在内存中完成,因此内存要尽量大
3)storm少部分数据在本地(topology提交会有本地目录,storm.local.dir/nimbus/inbox目录下),使用系统盘即可,不需要额外添加磁盘
软件要求
storm通过java编写,因此依赖于Java,同时还在少数情况下需要使用python(一般linux自带)
要提前保证java和python软件在待部署机器或虚拟机上的安装
集群部署注意事项
1)storm版本选择
* 不能太老(功能,性能)
* 该版本的参考资料必须足够多
* 最好不使用最新的版本(稳定性验证不够)
2. Storm集群部署
zookeeper的部署,请参考本博客的zookeeper系列,这里不在赘述
Storm集群部署
1)上传安装包到待部署节点,解压并得到安装目录
以我的为例,安装包上传到3个待部署节点的/usr/local/src/目录,解压后得到storm安装目录,同时修改安装目录名为storm-0.9.3
[/usr/local/src]chmod apache-storm-0.9..tar.gz
[/usr/local/src]tar -xzvf apache-storm-0.9..tar.gz
[/usr/local/src]mv apache-storm-0.9. storm-0.9.
2) 修改storm配置文件storm.yaml
任选1个节点,进入storm安装目录下的conf目录,找到配置文件storm.yaml
[/usr/local/src]cd storm-0.9./conf
[/usr/local/src]vim storm.yaml
将配置文件中的一些注释符号#删除,配置如下信息
*storm.zookeeper.servers, zookeeper服务器地址,通过hostname配置
*nimbus.host, nimbus部署在哪一台机器上,通过hostname配置
*storm.local.dir, storm存储临时文件及nimbus上存放上传的任务jar包的目录,storm启动会自动创建该目录
*supervisor.slots.ports, supervisor节点能够运行的worker进程数,每个进程占用1个port

将该节点的配置文件保存,通过SCP分发到其他节点
[conf]scp –rp storm.yaml root@slave1:/usr/local/src/storm-0.9./conf/
[conf]scp –rp storm.yaml root@slave2:/usr/local/src/storm-0.9./conf/
3) Storm环境变量配置
复制storm安装目录路径,在/etc/profile尾部增加如下内容(所有集群节点都要配置环境变量)
# STORM HOME and PATH modify
export STORM_HOME=/usr/local/src/storm-0.9.
export PATH=$PATH:$STORM_HOME/bin
在所有集群节点上,使配置文件生效
# source /etc/profile
4) 启动nimbus及storm ui(网页形式的UI页面)
在storm-0.9.3/bin/目录下创建start.sh启动脚本(和supervisor的启动脚本不同),并填入如下内容

storm logviewer >dev/null 2>&1 & //ui页面上显示可滚动的log日志
给脚本增加执行权限, 并执行
# chomd start.sh
# ./start.sh
5) 启动supervisor节点
在storm-0.9.3/bin/目录下创建start.sh启动脚本(和supervisor的启动脚本不同),并填入如下内容

storm logviewer >dev/null 2>&1 & //ui页面上显示可滚动的log日志
给脚本增加执行权限, 并执行
# chomd start.sh
# ./start.sh
6) 查看各个节点上的storm进程
Nimbus节点
core为storm ui进程

Supervisor节点


7) 查看storm UI监控页面,部署完成
http://主节点ip:8080/

02_Storm集群部署的更多相关文章
- Quartz.net持久化与集群部署开发详解
序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...
- Openfire 集群部署和负载均衡方案
Openfire 集群部署和负载均衡方案 一. 概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...
- 基于Tomcat的Solr3.5集群部署
基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...
- jstorm集群部署
jstorm集群部署下载 Install JStorm Take jstorm-0.9.6.zip as an example unzip jstorm-0.9.6.1.zip vi ~/.bashr ...
- CAS 集群部署session共享配置
背景 前段时间,项目计划搞独立的登录鉴权中心,由于单独开发一套稳定的登录.鉴权代码,工作量大,最终的方案是对开源鉴权中心CAS(Central Authentication Service)作适配修改 ...
- Windows下ELK环境搭建(单机多节点集群部署)
1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...
- 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- HBase集成Zookeeper集群部署
大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...
- SolrCloud-5.2.1 集群部署及测试
一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...
随机推荐
- c 整数运算
一.无符号加法(形式的模运算,无符号加法等价于计算模2w 的和) 示例:非负数 x 和 y 位数: w(8位机) 范围: 0 <= x,y <= 2w -1 结果:0 <= x+y ...
- Windows 下配置 php_imagick 扩展
1.首先按装 imageimagick 可以去 http://imagemagick.org/script/binary-releases.php#windows 这里下载,看好自己的系统环境和选择好 ...
- Apache2.4部署python3.6+django2.0项目
一.安装apache Apache是非常有名的web服务器软件,如果想让我们web项目运行几乎离不开它. Apache官方网站:http://httpd.apache.org/ 根据自己的环境,选择相 ...
- npm install命令对package-lock.json文件自动做了一些额外的更新
今天我使用 npm 命令给项目安装file-saver,通过git却发现package-lock.json中除了file-saver组件之外的其他组件的记录也被改了 npm为何会自动做这些更改呢,又如 ...
- postgresql导出sql执行结果到文件的方法(转)
原文:http://blog.sina.com.cn/s/blog_840dd283010178jz.html 对于一些特殊字符,比如字符
- linux定时查询mysql数据库并把结果保存到新表 然后备份数据库
脚本文件名:myshell内容如下: #!/bin/bash # mysql用户名 username="root" # mysql密码 password="root&qu ...
- 关于编译openjdk过程的一个编码错误
-Xlint:deprecation 重新编译 或者 错误: 编码ascii的不可映射字符 出现这种错误的时候 可以进行设置jdk编译编码即可解决 因为是编译openjdk 所以在环境变量中设置: ...
- Linux ssh服务
关于ssh服务不多说就提几句,1,机房的服务器一般都是通过远程连接登录的,远程登录就必然少不了ssh客户端.2,虚拟机每次都要点击进去,每次退出来也需要按Ctrl+Alt+Enter,也比较麻烦,有时 ...
- Oracle DB 移动数据
描述移动数据的方式 • 创建和使用目录对象 • 使用SQL*Loader 加载非Oracle DB(或用户文件)中的数据 • 使用外部表并通过与平台无关的文件移动数据 • 说明Oracle 数据泵的 ...
- 过滤adb logcat 日志
原文地址http://blog.csdn.net/listening_music/article/details/7518990 另外比较好的文章http://blog.csdn.net/liao27 ...