Storm安装部署

1、修改/etc/hosts

172.16.3.7      nimbus

172.16.3.8      supervisor1

172.16.3.9      supervisor2

172.16.3.10     supervisor3

2、集群所有机器安装ZooKeeper,storm需要zk存储数据及进行nimbus、supervisor之间协调

tar xzvf zookeeper-3.4.3.tar.gz

mv zookeeper-3.4.3
~/platform/zookeeper

cp ~/platform/zookeeper/conf/zoo_sample.cfg ~/platform/zookeeper/conf/zoo.cfg
(用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)

配置zoo.cfg:

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

dataDir=/home/jjt/platform/zookeeper/data

dataLogDir=/home/jjt/platform/zookeeper/log

# the port at which the clients will connect

     clientPort=2181

server.0=nimbus:2888:3888

server.1=supervisor1:2888:3888

server.2=supervisor2:2888:3888

server.3=supervisor3:2888:3888

修改zk id, 每台机器不同,cluster的echo是0,supervisor1的echo是1,supervisor2的echo是2,supervisor3的echo是3

echo 0 > /home/pplive/platform/zookeeper/data/myid

添加环境变量:

export ZOOKEEPER_HOME=/home/pplive/platform/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

启动zk:  zkServer.sh start

3、每台安装zeromq, storm使用zeromq进行消息同学

configure中可能会遇到的问题:

configure:error:in ‘/usr/local/download/zeromq-2.2.0‘:

congifure:error:no acceptable C compiler found in $PATH

这是因为没有安装C编译器, 解决方法是:# yum install gcc*

Error:cannot link with -luuid, install uuid-dev

这是因为没有安装uuid相关的package,

解决方法是:# yum install uuid*

# yum install e2fsprogs*

# yum install libuuid*

4、每台安装jzmq, zeromq依赖jzmq

  • # https://github.com/nathanmarz/jzmq 下载jzmq-master.zip
  • # cd jzmq-master
  • # ./autogen.sh
  • # ./configure --prefix=/home/pplive/platform/jzmq
  • # make
  • # make install

./autogen.sh如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决

5、每台安装python,storm启动脚本是python script

追加/usr/local/lib/

  • # sudo ldconfig
  • # Python 查看python是否安装正确

6、每台安装storm

unzip storm-0.8.1.zip

mv storm-0.8.1 ~/platform/storm

修改storm配置 ~/platform/storm/conf/storm.yaml

storm.zookeeper.servers:

- "nimbus"

- "supervisor1"

- "supervisor2"

- "supervisor3"

storm.zookeeper.port: 2181

storm.local.dir: "/home/jjt/platform/storm/data"

java.library.path: /usr/local/lib:/opt/local/lib:/usr/lib:/home/jjt/platform/jzmq/lib:/home/jjt/platform/zeromq/lib?

nimbus.host: "nimbus"

supervisor.slots.ports:

- 6700

- 6701

- 6702

- 6703

注意yaml文件key/value之间有一个空格, 当然也可以修改log4j配置log格式

添加环境变量:

export STORM_HOME=/home/pplive/platform/strom

export PATH=$PATH:$STORM_HOME/bin

启动storm:

storm nimubs & (nimbus上)

storm ui & (nimbus上,可通过 http://{NimbusHost}:8080 查看topo运行状态 )

storm supervisor( supervisor上)

至此storm 安装基本完成,可storm启动脚本提供的Option对topo进行控制,比如storm list/kill, 然而在supervisor上执行storm脚本会遇到以下错误:

Exception in thread "main" org.apache.thrift7.transport.TTransportException: java.net.ConnectException: Connection refused

at org.apache.thrift7.transport.TSocket.open(TSocket.java:183)

at org.apache.thrift7.transport.TFramedTransport.open(TFramedTransport.java:81)

at backtype.storm.thrift$nimbus_client_and_conn.invoke(thrift.clj:56)

at backtype.storm.command.list$_main.invoke(list.clj:7)

at clojure.lang.AFn.applyToHelper(AFn.java:159)

at clojure.lang.AFn.applyTo(AFn.java:151)

at backtype.storm.command.list.main(Unknown Source)

此时需要在supervisor上将storm配置文件storm.yaml 拷贝至 ~/.storm目录下

由于storm运行中的状态保存在zk中,因此在使用过程中可以重启nimbus/supervisor而不用重启topology, 有时会因为zk中保存有文件相关状态而实际文件已不存在导致nimbus/supervisor启动失败,此时可在zk中将storm相关数据删掉,然后重启zk、storm解决。

时间: 2024-08-13 16:04:04

Storm安装部署的相关文章

Storm入门教程 第三章 Storm安装部署步骤[转]

本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 3.1 Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 1. 主控节点(Master Node)上运行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,并且负责监控集群运行状态.Nimbus的作用类似

新版flume+kafka+storm安装部署

安装步骤: 1.版本介绍: zookeeper3.4.6 flume-ng1.6 kafka2.10-0.8.2 storm0.9.5 2.安装zookeeper 1.下载最新release版zookeeper http://zookeeper.apache.org/releases.html#download 2.修改zookeeper配置文件 $zookeeper_home/conf $ cp zoo_sample.cfg zoo_sample.cfg.bak $ mv zoo_sample

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

作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 1. Storm集群组件 Storm集群中包含两

【Storm一】torm安装部署

storm安装部署 解压storm安装包 $ tar -zxvf apache-storm-1.1.0.tar.gz -C /usr/local/src 修改解压后的apache-storm-1.1.0.tar.gz文件名称为storm-1.1.0 $ mv apache-storm-1.1.0 storm-1.1.0 在/usr/local/src/storm-1.1.0/目录下创建data文件夹 $ mkdir data 修改配置文件 storm.yaml 设置Zookeeper的主机名称

Storm-0.9.0.1安装部署 指导

可以带着下面问题来阅读本文章: 1.Storm只支持什么传输 2.通过什么配置,可以更改Zookeeper默认端口 3.Storm UI必须和Storm Nimbus部署在同一台机器上,UI无法正常工作为什么 2.Storm-0.9.0.1大概经过几个步骤 Twitter Storm更新0.9.0.1之后,安装部署变得容易得多了,比起Storm0.8.x的版本,Storm少了zeromq和jzmq的安装,也省去了很多编译这些插件时出现的bug. 1.Storm-0.9.0.1 版本的亮点: 1.

Storm介绍及安装部署

本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache Storm是什么 Apache Storm是自由开源的分布式实时计算系统,擅长处理海量数据,适用于数据实时处理而非批处理. 批处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大.自动容错等优点,在海量数据处理上得到了广泛的使用.但是,hadoop不擅长实时

Storm笔记整理(三):Storm集群安装部署与Topology作业提交

[TOC] Storm分布式集群安装部署 概述 Storm集群表面类似Hadoop集群.但在Hadoop上你运行的是"MapReduce jobs",在Storm上你运行的是"topologies"."Jobs"和"topologies"是大不同的,一个关键不同是一个MapReduce的Job最终会结束,而一个topology永远处理消息(或直到你kill它). Storm集群有两种节点:控制(master)节点和工作者(wo

大数据学习之Storm实时计算概述及安装部署33

一:Storm概述 网址:http://storm.apache.org/ ApacheStorm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理.Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣! Storm有许多用例:实时分析,在线机器学习,连续计算,分布式RPC,ETL等.风暴很快:一个基准测试表示每个节点每秒处理超过一百万个元组.它具有可扩展性,容错性,可确保您的数据得到处理,并且易于设置和操作. Sto

3_HA介绍和安装部署

一.hadoop 2.x产生背景 1.hadoop 1.x中hdfs和mr在高可用和扩展性等方面存在问题.2.hdfs存在的问题:NN单点故障,难以应用于在线场景:NN压力过大,内存受限,影响系统扩展性.3.mr存在的问题:1.x难以支持除mr之外的计算框架,如spark和storm(mr一般得到结果时间较长,storm和spark可以很快得到结果). 二.hadoop 1.x与hadoop2.x区别 1.2.x由hdfs.mr和yarn三个分支构成,yarn是分布式的资源管理器(资源包括内存,