JStorm是一个类似Hadoop MapReduce的系统,不同的是JStorm是一套基于流水线的消息处理机制,是阿里基于Storm优化的版本,和Storm一样是一个分布式实时计算的系统,从开发角度来说,JStorm所有的概念和Storm都相同,所有的编程代码一行不用改也可以直接放到JStorm运行,也可以做一些优化,JStorm比Storm更稳定、更强大、更快,去掉了很多耗费资源的代码,在实际生产中表现更是非常突出,所以对于使用Storm计算的应用场景来说升级到JStorm更是简单、低成本,以下使用3台服务器说一下JStorm集群的部署流程

  这3台服务器的主机名分别为:bigdata1,bigdata2,bigdata3

  准备工作:

  1、主机名和hosts映射一一对应,设置完好!

  2、防火墙关闭,保证通信畅通

  3、Zookeeper集群正常运行

  4、Python 2.6以上(系统一般默认都存在)

  5、JDK 推荐1.8

  接下来在bigdata1上操作安装:

  1、释放storm安装包并移动至指定目录:

unzip jstorm-2.1..zip
mv jstorm-2.1. /bigdata/jstorm/
cd /bigdata/jstorm/jstorm-2.1./

  现在安装目录是/bigdata/jstorm/jstorm-2.1.1/

  2、编辑配置文件,执行 vim conf/storm.yaml 打开配置文件

  配置storm.zookeeper.servers为zookeeper地址

  

  storm.zookeeper.root为jstorm在zookeeper的节点名称

  

  去掉nimbus.host的注释,配置nimbus节点为bigdata1

  

  配置storm.local.dir,表示jstorm的临时数据存放目录

  

  去掉supervisor.slots.ports前面的注释,设置supervisor节点执行worker使用的端口列表,默认为68xx,而storm是67xx

  

  一般设置为4个就够了,当worker太多不够时,再增加端口进行扩展

  配置完以上几个配置,保存并退出配置文件,另外注意每一项配置必须对齐,这里每一项前面都有一个空格

  配置成功之后,执行以下命令,将jstorm整体发送至其他两个节点:

scp -r /bigdata/jstorm/ bigdata2:/bigdata/
scp -r /bigdata/jstorm/ bigdata3:/bigdata/

  在当前机器,一般是nimbus,也就是提交jar包的机器上执行如下命令:

mkdir ~/.jstorm
cp /bigdata/jstorm/jstorm-2.1./conf/storm.yaml ~/.jstorm/

  建议尽量拷贝storm.yaml配置文件过去,否则可能在启动ui和supervisor之后出现找不到supervisor节点的情况

  3、配置storm ui管理界面

  首先安装好tomcat,然后将storm安装目录下的jstorm-ui-2.1.1.war复制到tomcat下的webapps中,就相当于tomcat容器中的一个web项目,可以放个软链给ROOT这样jstorm的管理界面就变成tomcat默认项目了,这里为默认项目,进入tomcat的webapps下执行如下命令:

mv ROOT ROOT.old
ln -s jstorm-ui-2.1. ROOT

  然后启动tomcat服务器: /usr/local/tomcat/apache-tomcat-8.0./bin/startup.sh

  4、启动nimbus和supervisor

  在主节点jstorm安装目录下执行: nohup bin/jstorm nimbus & 执行后再次执行回车回到命令行,执行 jps 能看到NimbusServer进程,则nimbus启动成功:

  

  在其他两个节点分别执行: nohup bin/jstorm supervisor & 执行之后,执行 jps 可以看到Supervisor进程,则supervisor启动成功:

  

  访问主节点ip查看管理界面,地址为:http://192.168.0.187:8080/

  

  现在可以看到集群状态,到这里Storm就安装成功并且可以使用了

JStorm集群的部署的更多相关文章

  1. jstorm集群部署

    jstorm集群部署下载 Install JStorm Take jstorm-0.9.6.zip as an example unzip jstorm-0.9.6.1.zip vi ~/.bashr ...

  2. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  3. JStorm集群的安装和使用

    0 JStorm概述 JStorm是一个分布式的实时计算引擎.从应用的角度,JStorm应用是一种遵守某种编程规范的分布式应用:从系统角度, JStorm是一套类似MapReduce的调度系统: 从数 ...

  4. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  5. Redis集群的部署

    Redis集群分为主节点Master和从节点Slave,主节点只有1个,而从节点可以有多个,这样从节点和主节点可以进行数据的传输,Redis集群的性能将比单机环境更高,接下来是配置的过程 首先配置Ma ...

  6. Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境

    一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...

  7. Storm集群安装部署步骤

    本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...

  8. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

  9. Tomcat集群应用部署的实现机制

    集群应用部署是一个很重要的应用场景,设想一下如果没有集群应用部署功能,每当我们发布应用时都要登陆每台机器对每个tomcat实例进行部署,这些工作量都是繁杂且重复的,而对于进步青年的程序员来说是不能容忍 ...

随机推荐

  1. HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦

    var divs = html.CssSelect("div");  //all div elementsvar nodes = html.CssSelect("div. ...

  2. coreseek安装遇到的错误

    coreseek安装遇到的错误 1.问题: wtm@wtm-OEM:/usr/local/coreseek/etc$ /usr/local/coreseek/bin/indexer --all Cor ...

  3. jdk的安装及配置

    前几天重新了下系统,所以JDK也要重新安装,顺带温故了安装及配置的过程,记录下来.(安装的版本是JDK1.7.0) 后面基本都是点下一步(i第一步选:开发工具),路径我改为E:/java/jdk 1. ...

  4. 采用ETL with RDBMS模式来实现ETL

    目前Teradata数据仓库的ETL作业采用ELT方式, 因为loading太重了, 需要将ETL压力转移到专门的ETL Server上. 对于ETL工具, 市场上已有很成熟的商业/开源工具, 比如I ...

  5. Linux下C语言高手成长路线(转载)

    建议学习路径: 首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了. 然后看看<C程序设计语言>K&R,这样 ...

  6. [转]C++模板学习

    1. 模板的概念. 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同.正确的调用重载函数.例如,为求两个数的最大值,我们定义MAX()函数 ...

  7. 2012多校3.A(用O(log(n))判断b^k % a == 0)

    Arcane Numbers 1 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Su ...

  8. 编译CDH Spark源代码

    如何编译CDH Spark源代码 经过漫长的编译过程(我编译了2个半小时),最终成功了,在assembly/target/scala-2.10目录下面有spark-assembly-1.0.0-cdh ...

  9. PHP 暂停函数 sleep() 与 usleep() 的区别

    在PHP中暂停代码执行一定时间,有两个函数可以实现,一个是sleep(),另一个是usleep(),它们参数都是一个整数值.sleep()是暂停多少秒,usleep()是暂停多少微秒. 注意:usle ...

  10. 免费的Android UI库及组件推荐

    短短数年时间Android平台就已经形成了一个庞大而活跃的开发者社区.许多社区开发的项目业已进入成熟阶段,甚至可以用于商业的软件生产中,且不用担心质量问题. 本文编译自androiduipattern ...