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(保证各主机可以正常通信,为避免 ...
随机推荐
- 数字货币量化分析报告_20170905_P
[分析时间]2017-09-05 16:36:46 [数据来源]中国比特币 https://www.chbtc.com/ef4101d7dd4f1faf4af825035564dd81聚币网 http ...
- SpringBoot 之数据访问
1. Spring Boot 与 JDBC 默认使用 org.apache.tomcat.jdbc.pool.DataSource 数据源; // application.yml spring: da ...
- HDFS分布式集群安装
HDFS集群安装: 1.准备工作 虚拟机(电脑8G内存 磁盘500GB) 3台 linux系统(1台namenode 2台datanode) (1)关闭防火墙 firewall-cmd --state ...
- python爬虫系列(1)——一个简单的爬虫实例
本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容:分析html中 ...
- mysql数据池设置
参考链接https://www.cnblogs.com/KKSoft/p/8040374.html python的数据库连接池包:DBUtils DBUtils提供两种外部接口: Persistent ...
- swagger多个分组代码展示
/** * api信息 * * @param name 标题 * @param description 描述 * @param version 版本 * @return */ private ApiI ...
- CloudFoundry V2 单机版离线安装(伪离线安装)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangdk789/article/details/30255763 之前安装CloudFou ...
- 关于android:windowNoTitle不起作用的解决办法
今天测试一个新功能的时候,在styles.xml设置<item name="android:windowNoTitle">true</item>并没有生效, ...
- 基于.net core2.1开发遇到的问题记录以及解决方案
问题1:升级EFCore 到2.1一直报'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFac ...
- 转载SQL_trace 和10046使用
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法.本文就SQL_TRACE的使用作简单探讨,并 ...