`
邢邢色色
  • 浏览: 227719 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Storm集群搭建与配置指南

阅读更多

系统环境

  • 安装环境为GNU/Linux 2.6.32 x64。

  • 需要为每台设置好hostname,并在/etc/hosts配置好集群中每台机器的hostnameip的关系。

  • 确认集群里每台机器互相之间都是可以访问的,取消端口的限制。

注:以下命令行输入的命令没有加sudo,可自己酌情添加。

 

Storm集群包含以下组件

  • zookeeper

  • kafka

  • storm

三者都运行在JVM里,所以需要先安装Java环境。

 

Java环境

官方推荐使用Java6,安装过程略,需在~/.bashrc中配置好JAVA_HOME,并在PATH追加JAVA_HOME/bin

 

Python环境

Storm需要Python2.6.6以上的环境,一般都有预装,如果没有可以使用yum安装或者通过源码进行安装。

 

Zookeeper环境

kafkastorm都高度依赖Zookeeper,所以先部署他。

 

版本

官方建议配一个3台机器的集群,使用的是3.3.6稳定版。

 

准备

下载后解压,假设解压到/usr/local/zookeeper,设置一个环境变量$ZK_HOME指向这个目录。

 

配置

进入$ZK_HOME/conf目录,创建配置文件zoo.cfg,如下所示:

tickTime=2000
dataDir=your path
clientPort=2181
initLimit=5
syncLimit=2
server.1=
机器1hostname:2888:3888
server.2=
机器2hostname:2888:3888
server.3=
机器3hostname:2888:3888

 

本文后续章节会对这些参数进行详细的介绍,这里只是简单说几点:集群中的每台机器都需要感知整个集群是由哪几台机器组成的,在配置文件中,可以按照这样的格式,每行写一个机器配置: server.id=host:port:port. 关于这个id,我们称之为Server ID,用来标识该host在集群中的机器序号。在每个ZooKeeper机器上,我们都需要在数据目录(数据目录就是dataDir数指定的那个目录)下创建一个myid文件,该文件只有一行内容,并且是一个数字——对应这个 Server ID数字。

 

ZooKeeper的设计中,集群中所有机器上的zoo.cfg文件的内容都是一致的。

 

关于myid文件。myid文件中只有一个数字,即一个Server ID。例如,server.1 myid 文件内容就是”1“。注意,请确保每个servermyid文件中id数字不同,并且和s erver.id=host:port:port中的id一致。另外,id的范围是1~255

 

在其他2台机器也进行上述的操作,唯一的不同是myid中的数字。

 

如果要设置JVM参数,可以在$ZK_HOME/conf/java.env进行配置,例如:

export JVMFLAGS="-Xms2048m -Xmx2048m $JVMFLAGS"

zk使用log4j输出日志,默认输出到控制台上,可以到 $ZK_HOME/conf/log4j.properties中进行修改。

 

启动集群

分别执行$ZK_HOME/bin/zkServer.sh start启动。其中还有许多其他命令可具体参考其他文档。使用echo stat|nc ip port命令可验证集群的状态。

 

其他说明

有一些配置需要特别提一下:

maxClientCnxns单个客户端与单台服务器之间的连接数的限制,是ip级别的,这个值设置太小集群无法正常工作。设置为0代表无限制,其实就差不多了。其他配置在运维篇中会详细描述。

 

Kafka环境

一开始其实只需要配置一台kafka就可以了,因为kafka是无中心结构的,每个节点的地位都是一样的,节点之间通过zk进行互相发现和交互。加入一个新节点只需要启动节点进程,会自动向 zk报告自己的存在,这样集群中的其他节点也会知道了。不过这里假设配置的是多节点的集群。

 

版本

kafka_2.9.2-0.8.1版本

 

准备

下载后解压,假设解压到/usr/local/kafka,设置一个环境变量$KAFKA_HOME指向这个目录。

 

配置

修改$KAFKA_HOME/conf/server.properties配置文件,里面已有一些配置,下面选一个些重点的来说:

broker.id表示集群的一个节点的唯一表示,用一个数字表示。

 

log.dirs代表数据的持久化的目录,kafka不使用内存,而是直接持久化到硬盘,利用的是操作系统本身的缓存机制进行缓存,所以这个目录很重要。

 

log.retention.hours代表数据要保留多少个小时,超过这个时间会被自动删除。消费者即使从 kafka中取走了数据,但kafka也不会马上删除,而是过期了再删除。

 

zookeeper.connect表示与kafka进行通讯的zk集群,这个也很重要。

其他命令请参考官方文档。

 

kafka也是使用了log4j打日志,到$KAFKA_HOME/conf/log4j.properties修改即可。

 

修改kafkaJVM参数可以在$KAFKA_HOME/bin/kafka-server-start.sh中修改:

export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G 等等"

 

启动集群

$KAFKA_HOME/bin/kafka-server-start.sh为启动命令,其他命令请参考官方文档。

如果有多个节点请分别在节点上启动。

启动后进程工作在前台,如果要设成daemon请使用nohup命令并在命令最后加上&

 

在任意一个节点中输入命令来创建一个topic(队列)进行验证。

$/KAFKA_HOME/bin/kafka-topics.sh --create --topic first_topic --zookeeper 你的ZK集群IP:PORT --partitions 1 --replication-factor 1

如果输出Created topic "first_topic".则表示OK

 

Storm环境

storm集群中的节点角色分为nimbus(监控和分派任务)supervisor(任务具体调度)两种,一般一台主机只扮演其中的一种角色,要都在一起也可以,不过最好是要保持nimbus的安全,因为nimbus有单点故障的危险。这里假设都在一台机器上,分开的话过程也是一样的。

 

版本

apache-storm-0.9.1-incubating版本

 

准备

下载后解压,假设解压到/usr/local/storm,设置一个环境变量$STORM_HOME指向这个目录。

 

配置

修改$STORM_HOME/conf/storm.yaml,不管是nimbus还是supervisor都是一样的配置。对其中一些重要的配置进行说明:

storm.local.dir: "your path",这是storm的各个节点存储一些本地数据的路径,比如说上传的topology和它的JAR文件等等。

 

storm.zookeeper.servers:

 

      • "zk1 ip : port"

      • "zk2 ip : port"

 

代表zk集群的地址。

 

nimbus.host: "nimbus ip",代表nimbus节点的ip

 

supervisor.slots.ports:

- 46700

- 46701

- 46702

 

代表supervisor节点可以启动的worker子进程的个数,其中的数字代表worker节点用来通信的本地端口号。默认是4个。

 

各个节点和workerJVM参数可以分别配置,例如:

nimbus.childopts: "-Xmx2048m"

supervisor.childopts: "-Xmx2048m"

worker.childopts: "-Xmx2024m"

更多配置默认参数请参见官方文档,在这里可以看到默认配置:

https://github.com/apache/incubator-storm/blob/master/conf/defaults.yaml

 

启动集群

nimbus节点中启动:

$STORM_HOME/bin/storm nimbus

 

supervisor节点中启动:

$STORM_HOME/bin/storm supervisor

 

随意一个节点可以启动一个web后台程序,可以监控集群和拓扑的性能:

$STORM_HOME/bin/storm ui

 

上述启动的所有进程工作在前台,如果要设成daemon请使用nohup命令并在命令最后加上&

 

最后在浏览器中输入地址:

http://{运行ui后台程序的进程ip}:8080

 

如果可以看到类似下面的页面就表示部署成功了:

 

 

 

  • 大小: 45.4 KB
分享到:
评论

相关推荐

    批量下载】storm环境搭建v1等.zip

    2. **环境搭建**:在本地或集群上设置Storm环境需要安装JDK,配置环境变量,下载Storm的安装包,解压并启动Nimbus(主节点)、Supervisor(工作节点)和服务监控界面UI。 3. **Hadoop集成**:Storm可以与Hadoop生态...

    细细品味Storm_Storm简介及安装

    第2章详细讲解storm 集群环境的安装和搭建,以及如何将topology部署 到分布式环境中;第3章通过传感器数据实例详细 介绍Trident topology;第4章讲解如何使用Storm 和Tridentj挂行实时趋势分析;第5章介绍如何使用 ...

    apache-storm-2.0.0-src.tar.gz

    1. **实时数据处理**:与批处理系统不同,Storm 可以连续处理数据流,实时生成结果,这对实时分析和快速响应事件的场景非常有用。 2. **容错机制**:Storm 使用一种名为“拓扑”的结构来组织数据流处理任务,当某个...

    Hadoop权威指南中文版(完全版)

    1. Hadoop安装与配置:包括单机模式、伪分布式模式和完全分布式模式的搭建,以及集群的监控和故障排查技巧。 2. HDFS详解:深入理解HDFS的数据存储模型,块的概念,副本策略,以及NameNode和DataNode的角色与工作...

    Clouder Manager 安装与配置

    **Cloudera Manager安装与配置指南** Cloudera Manager是一款强大的大数据管理平台,它提供了对CDH(Cloudera Distribution Including Apache Hadoop)组件的全面安装、配置、管理和监控功能。CDH是Cloudera公司...

    Hadoop权威指南中文版PDF

    5. **Hadoop安装与配置**:学习如何在本地或集群环境中搭建Hadoop环境,包括配置文件详解和故障排查技巧。 6. **数据处理优化**:探讨提高Hadoop性能的各种策略,如压缩、数据本地化、I/O优化和JobTracker的调优。 ...

    Hadoop权威指南(第四版).rar

    该书详细讲解了Hadoop的核心概念、架构、安装与配置,以及在大数据处理中的实际应用。 首先,Hadoop的核心包括两个主要组件:Hadoop Distributed File System (HDFS)和MapReduce。HDFS是分布式文件系统,它将大型...

    kafka 权威指南 2018年1月出版 完整版

    接下来,指南涵盖了安装和配置Kafka的步骤,包括集群的搭建、配置参数的调整以及与Zookeeper的集成。这部分内容对于实际操作Kafka至关重要,帮助读者理解如何在生产环境中部署和管理Kafka集群。 书中还详细介绍了...

    hadoop权威指南合集第四版

    书中详细介绍了Hadoop的安装和配置过程,包括单机模式、伪分布式模式和完全分布式模式,这对于初学者理解和搭建自己的Hadoop环境至关重要。此外,还讲解了Hadoop的版本管理和升级策略,帮助读者应对实际生产环境中的...

    Hadoop权威指南第四版(中文版)

    本书详细介绍了Hadoop的安装与配置过程,包括单机模式、伪分布式模式和完全分布式模式,帮助读者搭建自己的Hadoop环境。同时,书中涵盖了Hadoop生态系统的其他关键组件,如YARN(Yet Another Resource Negotiator)...

    大数据平台搭建实验手册-罗登1

    【大数据平台搭建实验手册-罗登1】是关于构建大数据处理环境的一份详细指南,主要涵盖了Hadoop生态系统中的多个组件的安装与配置。本实验由罗登同学在信息科学与技术专业的计算机科学与技术课程中完成,使用了章鱼...

    202x年ambari搭建大数据平台安装手册(专业完整版).pdf

    本文档主要介绍了使用 Ambari 搭建大数据平台的安装手册,对于大数据的安装和配置进行了详细的介绍。 大数据平台的基本概念: * 大数据是指无法在一定时间内用传统处理方式处理的巨量数据,包括结构化、非结构化和...

    Hadoop权威指南

    在Hadoop的安装与配置方面,《Hadoop权威指南》详细介绍了单机模式、伪分布式模式和完全分布式模式的搭建过程,包括集群硬件规划、软件依赖安装、配置文件调整等多个环节,确保读者能够成功部署和运行Hadoop环境。...

    Hadoop权威指南(第3版) 修订版(带目录书签) 中文PDF高清晰

    3. **Hadoop安装与配置**:读者将学习如何在本地或集群环境中搭建Hadoop环境,包括硬件需求、软件依赖、配置文件详解以及启动与停止Hadoop服务的步骤。 4. **HDFS操作**:Hadoop文件系统的使用方法,如文件上传、...

    Hadoop权威指南(第三版)-书签-目录-中文.pdf

    接着,书中深入到Hadoop的安装和配置,包括集群的搭建、资源管理以及故障排查,这些都是实际操作中不可或缺的部分。同时,作者也讨论了Hadoop的扩展性,如Hadoop YARN,这是一个资源管理系统,负责调度和管理集群中...

    Hadoop权威指南 第四版 英文版 Hadoop_The Definitive Guide 4th Edition

    本书首先从安装和配置Hadoop开始,讲解了分布式环境的搭建和管理。然后详细阐述了HDFS的工作原理,包括数据块、副本策略、命名节点(NameNode)和数据节点(DataNode)的角色,以及如何进行数据读写操作。此外,书中...

    大数据平台方向教学计划规划方案.pdf

    知识目标包括理解大数据的基本概念和应用场景,熟练掌握Linux操作,HDFS、HBase、Hadoop集群的搭建,Spark和Storm的配置及运行,以及其他Hadoop生态系统组件如Yarn和Zookeeper的安装和使用。能力目标则是培养学生...

    hadoop史上最详尽的实例

    《Hadoop实战》这本书提供了丰富的实践教程,涵盖从基础概念到高级技术,包括集群搭建、数据处理、优化策略和故障排查等。书中不仅有详细的步骤指导,还有大量案例分析,帮助读者理解如何在实际工作中运用Hadoop解决...

    DaShuJu.zip

    9. **搭建相关**:这个目录可能包含了安装、配置和优化这些大数据组件的指南和脚本,对于初学者和运维人员来说非常有价值。 总之,"DaShuJu.zip" 提供了一套全面的大数据环境搭建和操作的资源,涵盖了从数据存储、...

    hadoop-2.7.5.zip

    在Window10环境下使用Hadoop的另一个关键点是配置SSH无密码登录,因为Hadoop的一些操作如集群间的数据复制需要SSH。通过安装PuTTY和WinSCP,配置SSH密钥对,然后将公钥复制到每个节点(在这种情况下,只有一个节点)...

Global site tag (gtag.js) - Google Analytics