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. python_sort(key=) 的使用

    """ sort() 函数内含有 key 可以指定相关的函数来作为排序依据 比如这里指定每一项的索引为1 的元素作为排序依据 默认是以第一个作为排序依据 "&q ...

  2. BZOJ1095 [ZJOI2007] Hide 捉迷藏 (括号序列 + 线段树)

    题意 给你一颗有 \(n\) 个点的树 , 共有 \(m\) 次操作 有两种类别qwq 将树上一个点染黑/白; 询问树上最远的两个黑点的距离. \((n \le 200000, m ≤500000)\ ...

  3. 「ZJOI2015」地震后的幻想乡 解题报告

    「ZJOI2015」地震后的幻想乡 想了半天,打开洛谷题解一看,最高票是_rqy的,一堆密密麻麻的积分差点把我吓跑. 据说有三种解法,然而我只学会了一种最辣鸡的凡人解法. 题意:给一个无向图\(G\) ...

  4. [模板] Manacher(马拉车)算法

    用途 求回文子串 做法 先考虑回文子串以某字符为中心的情况,即长度为奇数 推着做,记rad[i]为以i位置为中心的最大半径(包含中点) 考虑怎么求rad[i].找之前的一个右端点最靠右的位置p,设它的 ...

  5. nodejs的某些api~(一)node的流1

    根据心情整理一些node的api~ 今天第一篇,node的流:node的流比较重要,node的流存在于node的各个模块,包括输入输出流,stdin,stout.fs读取流,zlib流,crypto流 ...

  6. hihocoder--1384 -- Genius ACM (倍增 归并)

    题目链接 1384 -- Genius ACM 给定一个整数 m,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 m 对数(即 2*M 个数,不能重复使用集合中的数,如果 S 中的整 ...

  7. ACM-ICPC 2015 BeiJing

    比赛连接:ACM-ICPC 2015 BeiJing 本次比赛只写了 A G     然后 I题随后补 A 有一个正方形土地,上面有若干块绿洲.让你以x0为界限划一条竖线,要求左边绿洲面积>=右 ...

  8. CodeFroces-- 514.div2.C-Sequence Transformation

    题目链接 :514.div2.C-Sequence Transformation #include<bits/stdc++.h> using namespace std; #define ...

  9. java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历

    一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...

  10. C++ Exception机制

    C++异常机制的执行顺序. 在构造函数内抛出异常 /* * ExceptClass.h * * Created on: 2018年1月2日 * Author: jacket */ #ifndef EX ...