快速搭建Storm集群环境

前言

Storm 是一个分布式计算框架,适用于大规模数据的实时计算。

对于分布式技术的学习,可能首先让人头大的就是集群环境的搭建,如何快速的搭建集群环境,让我们可以马上开始实践呢?

下面就介绍下使用官方 Storm Docker 镜像搭建集群,迅速在本机运行起来。

前提条件

  • 安装 Docker

Docker的安装非常简单,到官网下载适合自己操作系统的版本,然后安装即可。

有 Windows、Linux、Mac 多个版本,所以各自的安装过程就不介绍了,下面是说明文档的地址:

https://docs.docker.com/
  • 配置 Docker 加速器

由于 Docker 服务器在国外,国内下载镜像的速度很慢,前些天 Docker 和阿里云合作了,以后下载速度会比较快,但目前还是需要配置加速器。

好用的加速器例如阿里云、DaoCloud,我用的是阿里云,地址:

https://dev.aliyun.com

登录进去后里面有加速器的配置方法。

  • 下载 Storm

下载地址:

http://storm.apache.org/downloads.html

选择当前最新的 1.0.2 版本。

Storm本地模式

使用 Storm 的官方镜像及其简单,对于普通的本地模式,无需安装配置,直接就可以运行 Storm 程序。

Storm 下的 examples/storm-starter目录,是一个示例项目,其中就有打好的jar包,在这个目录下执行下面的命令运行这个示例程序:

docker run -it -v storm-starter-topologies-1.0.2.jar:/topology.jar storm:1.0.2 storm jar /topology.jar org.apache.storm.starter.ExclamationTopology

含义:使用 storm:1.0.2这个镜像运行一个storm环境,并执行 storm-starter-topologies-1.0.2.jar 中的 org.apache.storm.starter.ExclamationTopology

命令执行后,会先下载镜像 storm:1.0.2,然后就可以看到程序的执行结果,这样就相当于同时完成了环境搭建和helloworld程序的执行

最小化集群搭建

本地模式已经可以满足学习需求,如果想更加真实一些,可以搭建一个简单的集群环境。

Storm 是依赖 ZooKeeper 的,使用需要先安装 ZooKeeper,也同样使用 Docker 镜像,非常方便,执行命令:

docker run -d --restart always --name some-zookeeper zookeeper:3.4

Storm 主要分为两种组件:Nimbus、Supervisor,分别安装。

安装并启动 Nimbus :

docker run -d --restart always --name some-nimbus --link some-zookeeper:zookeeper storm:1.0.2 storm nimbus

运行 storm:1.0.2 容器,并连接 zookeeper 容器,容器启动后执行命令 storm nimbus

安装并启动 Supervisor :

docker run -d --restart always --name supervisor --link some-zookeeper:zookeeper --link some-nimbus:nimbus storm:1.0.2 storm supervisor

和上一个命令一样,只是变成执行 storm supervisor

一个精简的集群环境就搭建完成了,在集群中运行一个示例程序测试一下,examples/storm-starter目录下执行:

docker run --link some-nimbus:nimbus -it --rm -v storm-starter-topologies-1.0.2.jar:/topology.jar storm:1.0.2 storm jar /topology.jar org.apache.storm.starter.WordCountTopology topology

小结

在安装好 Docker 并配置好加速器后,这个过程大概在10来分钟,非常方便。

本文目的是引导大家使用 Docker,希望可以触类旁通,在实践其他技术时能够快速起步,节省一些宝贵时间。

本文分享自微信公众号 - 性能与架构(yogoup)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何为Ubuntu 16.04设置Ghost一键式应用程序

使用腾讯云的一键式Ghost应用程序,您可以预先安装带有Ghost的腾讯CVM。有一些命令行可以完成安装,然后您就可以使用一个简单而强大的安全博客工具,让您可以...

28350
来自专栏技术翻译

使用Kubernetes和Ambassador API Gateway部署Java应用程序

在本文中,您将学习如何将三个简单的Java服务部署到Kubernetes(通过新的Docker for Mac / Windows集成在本地运行),并通过Kub...

1K20
来自专栏编码前线

docker底层原理介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

73430
来自专栏糊一笑

教你使用docker部署淘宝rap2服务

1.3K40
来自专栏企鹅号快讯

十分钟带你理解Kubernetes核心概念

本文将会简单介绍Kubernetes的核心概念。因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些...

32770
来自专栏极客日常

利用Katacoda免费同步Docker镜像到Docker Hub

安装kubernetes的时候,我们需要用到 gcr.io/google_containers 下面的一些镜像,在国内是不能直接下载的。如果用 Self Hos...

1.1K20
来自专栏java一日一条

HAProxy、Nginx 配置 HTTP/2 完整指南

基于最近对HTTP/2的争论和它的优势,是时候升级底层架构了。这篇文章将会介绍如何在安装和配置HAProxy和Ngnix(使用ssl终端)。为了简化流程,我建议...

25310
来自专栏企鹅号快讯

十分钟带你理解Kubernetes核心概念

本文将会简单介绍Kubernetes的核心概念。因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些...

38650
来自专栏云计算

使用Helm将应用程序部署到IBM Cloud上的Kubernetes

Helm是Kubernetes的包管理程序。借助Helm,您可以非常方便地将应用程序,工具和数据库(如MongoDB,PostgreSQL,WordPress和...

29490
来自专栏杂文共赏

使用DCHQ自动部署和管理Docker Cloud /虚拟Java微服务

本文演示了一个在云或虚拟平台上,用于自动化部署和管理Docker Java微服务应用程序的解决方案。我们通过扩展现有项目Chris Richardson的示例—...

22840

扫码关注云+社区

领取腾讯云代金券