1.从官网下载安装包,并通过Xftp5上传到机器集群上

下载apache-storm-1.2.1.tar.gz 版本,并通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/uploads/目录:

2、解压apache-storm-1.2.1.tar.gz,并把解压的安装包移动到/opt/app/目录上

tar zxvf  apache-storm-1.2.1.tar.gz

mv apache-storm-1.2.1 /opt/app/  && cd /opt/app/

3、修改环境变量(每台机器都要执行),编辑/etc/profile,并生效环境变量,输入如下命令:

sudo vi /etc/profile

添加如下内容:

export STORM_HOME=/opt/app/apache-storm-1.2.1
export PATH=:$PATH:$STORM_HOME/bin

使环境变量生效:source /etc/profile

4、zookeeper集群搭建

①下载解压zookeeper:http://zookeeper.apache.org/releases.html

②修改zookeeper的conf/zoo.cfg文件,增加如下内容:

dataDir=/opt/app/zookeeper-3.4.5/data
clientPort=2181
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888

③启动zookeeper集群

在每台机器上通过zookeeper的bin/zkServer.sh  start启动zk,zookeeper会自动组件集群。

6、修改配置文件storm.yaml

进入storm配置文件的目录,cd  /opt/app/apache-storm-1.2.1/conf/

修改storm.yaml文件 vi  storm.yaml,将以下内容写入到storm.yaml文件中

# zookeeper集群的hosts
storm.zookeeper.servers:
    - "hadoop1"
    - "hadoop2"
    - "hadoop3"

# 指定zookeeper的端口
storm.zookeeper.port: 2181

# storm存储的数据目录
storm.local.dir: "/opt/app/apache-storm-1.2.1/storm-local"

# 指定storm集群中的nimbus节点所在的服务器
nimbus.seeds: ["hadoop1"]

# 指定nimbus启动JVM最大可用内存大小
nimbus.childopts: "-Xmx1024m"

# 指定supervisor启动JVM最大可用内存大小
supervisor.childopts: "-Xmx768m"

# 指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上
ui.childopts: "-Xmx768m"

# 指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker
supervisor.slots.ports:
   - 6700
   - 6701
   - 6702
   - 6703

storm.health.check.dir: "healthchecks"

storm.health.check.timeout.ms: 5000

其中storm.local.dir指定的目录需要提前创建,supervisor.slots.ports配置的端口数量决定了每台supervisor机器的worker集群,每个worker会有自己的监听端口用于监听任务。

7、把storm的安装包发送到其他节点机器

scp -r /opt/app/apache-storm-1.2.1/ hadoop@hadoop2:/opt/app/
scp -r /opt/app/apache-storm-1.2.1/ hadoop@hadoop3:/opt/app/

8、启动storm

在hadoop1节点机器上启动nimbus和监控ui

nohup storm nimbus &
nohup storm ui &

在hadoop2和hadoop3节点机器上启动supervisor作为worker

nohup storm supervisor &

9、环境确认

通过浏览器访问ui监控界面,“storm ui”命令运行的机器ip + 默认8080端口,如图:

前提条件:三台机器集群是部署在VMware 12上面的,通过NAT网络通信,如果需要访问虚拟机的8080端口,需要在VMware12上面设置端口转发,如图:

至此,storm集群搭建完成,主要工作为:①zookeeper的安装配置;②storm中配置zookeeper的地址;③分别启动storm的nimbus和supervisor及监控ui。

参考资料:

https://blog.csdn.net/qingkangxu/article/details/79513697

http://storm.apache.org/releases/1.2.1/Setting-up-a-Storm-cluster.html

Storm安装部署的更多相关文章

  1. 【Storm一】Storm安装部署

    storm安装部署 解压storm安装包 $ tar -zxvf apache-storm-1.1.0.tar.gz -C /usr/local/src 修改解压后的apache-storm-1.1. ...

  2. Storm 安装部署

    环境要求JDK 1.6+java -versionPython 2.6.6+python -V ZooKeeper3.4.5+storm 0.9.4+ 单机模式上传解压 $ .tar.gz $ cd ...

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

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

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

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

  5. Storm集群安装部署步骤

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

  6. storm集群安装部署

    安装步骤: 搭建Zookeeper集群: 安装Storm依赖库: 下载并解压Storm发布版本: 修改storm.yaml配置文件: 启动Storm各个后台进程. 1. 搭建Zookeeper集群 这 ...

  7. Storm-0.9.0.1安装部署 指导

    可以带着下面问题来阅读本文章: 1.Storm只支持什么传输 2.通过什么配置,可以更改Zookeeper默认端口 3.Storm UI必须和Storm Nimbus部署在同一台机器上,UI无法正常工 ...

  8. Storm介绍及安装部署

    本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...

  9. twitter storm学习 - 安装部署问题汇总

    已经碰到的或者将来碰到的关于安装部署方面的问题以及解决方法,先挖个坑 1.提交的topology在admin界面上看emitted始终都是0,查看日志发现有如下错误: worker [ERROR] E ...

随机推荐

  1. hibernate中持久化对象的生命周期(转载)

    三态的基本概念 1, 临时状态(Transient):也叫自由态,只存在于内存中,而在数据库中没有相应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象: 2 ...

  2. 华为Python 算法面试题

    华为算法面试题 """ 算法题: 提供一个序列,完成对这个序列的分割.要求分割后的两个序列彼此差值最小 实现函数,返回两个序列 """ de ...

  3. zabbix 自定义 windows 监控项

    zabbix获取windows服务器上数据C:\zabbix_agents\conf\zabbix_agentd.win.confUserParameter=conncount,d:\\tools\\ ...

  4. ansible 开源批量管理服务器工具

    Ansible 是一款基于 Python 开发的自动化运维工具,可以进行配置管理.批量部署等功能.对于机器较多的场景,可以使用 Ansible 来免去重复敲命令的烦恼. 安装ansibleyum -y ...

  5. 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】

    题目大意 给你\(k\)个点,让这一些点和一号节点断开,删去某一些边,求最小的删去边权之和. 做题的心路历程 做了\(HG\)昨天的模拟赛,深深感觉到了窝的菜,所以为了\(A\)掉T1这一道毒瘤,窝就 ...

  6. 537. Complex Number Multiplication

    题目大意: 给出a, b两个用字符串表示的虚数,求a*b 题目思路: 偷了个懒,Python3的正则表达式匹配了一下,当然acm里肯定是不行的 class Solution: def complexN ...

  7. [SCOI2007]压缩(区间dp)

    神仙题,看了半天题解才看明白... 因为题目里说如果没有m,会自动默认m在最前面. 我们设计状态为dp[l][r][0/1]为在区间l到r中有没有m的最小长度. 转移:枚举我们要压缩的起点,dp[l] ...

  8. linux下的标准输出和错误输出重定向

    如果想要将对应信息输出到某个文件中,就用对应的数字加上重定向符号“>”,会将这些信息,重新定向到指定的文件中,即可.简单说明:系统默认的stdin,stdout,stderr,都是送往屏幕,所以 ...

  9. yii2 阿里云短信 aliyun-dysms

    aliyun-dysms安装 composer require "saviorlv/yii2-dysms:dev-master" 或者添加下列代码在composer.json文件中 ...

  10. 组件之间的数据传递--Vuex

    安装Vuex: npm install Vuex -S 在main.js中引入 import Vue from 'vue' import App from './App' import Vuex fr ...