当前位置: 首页 > news >正文

使用Docker快速部署Storm环境

Storm的部署虽然不是特别麻烦,但是在生产环境中,为了提高部署效率,方便管理维护,使用Docker来统一管理部署是一个不错的选择。下面是我开源的一个新的项目,一个配置好了storm与mono环境的Docker镜像编排:storm-mono-docker。

这个项目得益于https://github.com/ptgoetz/storm-vagrant和https://github.com/wurstmeister/storm-docker;在此感谢他们的付出!
项目使用的Docker镜像托管在 https://index.docker.io。

准备工作

  • 安装 Docker Engine,https://docs.docker.com/

  • 安装 docker-compose http://docs.docker.com/compose/install/

  • 克隆git项目:

    git clone https://github.com/ziyunhx/storm-mono-docker
    

使用

首先将命令行目录切换到刚刚克隆下来的git项目目录;

通过以下命令启动集群:

docker-compose up -d
  • 你也可以使用 docker-compose up 命令来将结果输出到当前命令行界面,但是在你结束它之前无法进行任何其它操作,而一旦命令行退出,所有的容器都将停止。而 docker-compose up -d 将在后台启动所有容器。

停止这个集群的所有容器:

docker-compose stop

容器一旦停止,下次直接启动将无法正常链接容器,导致storm运行异常,你可以在结束后使用以下命令结束和移除所有的Docker缓存:

docker kill $(docker ps -q) ; docker rm $(docker ps -a -q)

增加更多的supervisors:

docker-compose scale supervisor=4

使用以下命令删除所有的镜像文件(小心,这会让你下一次启动时花费更多时间下载容器,仅在不想继续使用时执行):

docker rmi $(docker images -q -a)

重新构建和更新

你可以在修改Dockerfile后使用以下命令来重新构建镜像:rebuild.sh ;

使用以下命令来更新镜像到最新版本:refresh.sh 。

问与答

如何访问Storm UI来查看运行状况?

在docker-compose.yml中有下面这段配置:

ui:
  image: ziyunhx/storm-ui
      ports:
        - "49080:8080"

它告诉我们将Docker镜像的8080端口映射到了主机的49080,因此你可以通过访问 http://localhost:49080 来访问。如果你使用 boot2docker ,你可以通过以下命令得到虚拟机的IP:

$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103

返回的结果就是你的IP,本例中可以通过 http://192.168.59.103:49080 来访问。

如何部署提交一个topology?

如果 nimbus 的IP与端口不是默认的,你需要指定它们后来提交,本例中可以使用以下命令:

storm jar target/your-topology-fat-jar.jar com.your.package.AndTopology topology-name -c nimbus.host=192.168.59.103 -c nimbus.thrift.port=49627 

如果上述命令没有起作用,你可以在本地的Storm配置文件(storm.yaml)配置以下项:

nimbus.host: "192.168.59.103"    
nimbus.thrift.port: 49627 

然后执行以下命令提交:

storm jar target/your-topology-fat-jar.jar com.your.package.AndTopology topology-name

如何连接我的容器?

通过使用 docker-compose ps 找到你希望连接的容器的ssh端口,然后通过ssh连接:

$ ssh root@`boot2docker ip` -p $CONTAINER_PORT

密码是 ‘ziyunhxpass’ (位于:https://registry.hub.docker.com/u/ziyunhx/base/dockerfile/)。

本文来自 The NewIdea,作者 Carey Tzou 。
首发地址:http://www.tnidea.com/deploy-storm-by-docker.html
未经授权,拒绝任何全文及摘要转载!

转载于:https://www.cnblogs.com/NewIdea/p/deploy-storm-by-docker.html

相关文章:

  • 谈谈Java多线程
  • jzoj2866. 【集训队互测 2012】Bomb
  • python自动化运维技术读书笔记
  • js同步和异步
  • 并发并行同步异步多线程
  • 猿辅导 2019年 校招提前批笔试
  • RequireJs入门
  • Asp.net页面的生命周期
  • 终于弄好了 homework-09
  • python面向对象
  • leetcode 337. House Robber III
  • Durandal入门
  • js中使用EL表达式总结
  • leetcode 309. Best Time to Buy and Sell Stock with Cooldown
  • 环境变量
  • [译]前端离线指南(上)
  • 【5+】跨webview多页面 触发事件(二)
  • gf框架之分页模块(五) - 自定义分页
  • JavaScript设计模式之工厂模式
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • opencv python Meanshift 和 Camshift
  • Python3爬取英雄联盟英雄皮肤大图
  • Selenium实战教程系列(二)---元素定位
  • spring-boot List转Page
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 全栈开发——Linux
  • 一个JAVA程序员成长之路分享
  • 移动端解决方案学习记录
  • 用jQuery怎么做到前后端分离
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #pragma multi_compile #pragma shader_feature
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (20050108)又读《平凡的世界》
  • (poj1.2.1)1970(筛选法模拟)
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)php投票系统 毕业设计 121500
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (转)linux下的时间函数使用
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .equals()到底是什么意思?
  • .form文件_SSM框架文件上传篇
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET gRPC 和RESTful简单对比
  • :O)修改linux硬件时间
  • @Autowired多个相同类型bean装配问题
  • [ C++ ] STL---stack与queue
  • [AIGC] MySQL存储引擎详解
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [C# WPF] 如何给控件添加边框(Border)?
  • [C\C++]读入优化【技巧】
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [c语言]小课堂 day2