前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Storm和Zookeeper集群搭建及在java项目中的使用

Storm和Zookeeper集群搭建及在java项目中的使用

作者头像
Java后端技术
发布2018-08-09 11:30:01
5390
发布2018-08-09 11:30:01
举报
文章被收录于专栏:Java后端技术栈Java后端技术栈

上一篇:

Kafka 单机和分布式环境搭建与案例使用

介绍了分布式Zookeeper集群的搭建和Kafka集群的搭建,接下来学习一下Storm集群的搭建。

实验环境

  1. Cent OS 6.9;
  2. apache-storm-1.1.0;
  3. 三台服务器虚拟机:192.168.1.129、192.168.1.214、192.168.1.241;

准备工作

1、修改服务器hostname和hosts文件使得可以直接通过hostname访问

使用hostname name修改hostname,例如:

#hostname xuliugen129

(或者直接修改/etc/hostname文件,输入要设置的hostname)

将三台服务器分别修改为:xuliugen129、xuliugen214、xuliugen241。

2、然后,修改/etc/hosts使之在内网环境下可以ping 通:

每台机子都设置为上边的hostname,只需要添加上边的三行即可。

3、关闭3台服务器的防火墙:

service firewalld stop

关于Cent OS防火墙的使用可以参考:CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙

Zookeeper安装与配置

在上一篇中介绍了Zookeeper集群的安装方式,这里不再介绍,请查看:Kafka 单机和分布式环境搭建与案例使用

Storm安装与配置

1、选择合适的版本进行下载Storm

下载地址:http://storm.apache.org/downloads.html

这里选择的是apache-storm-1.1.0.tar.gz ,点击进去选择合适的镜像地址进行下载,我这里的下载地址为:http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

使用wget进行下载:

>wget http://mirrors.tuna.tsinghua.edu.cn/apache/storm /apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

分别下载到3台服务器上,然后解压到自己合适的位置,我这里都是:/home/xuliugen/server

2、配置Storm

配置文件在:/home/xuliugen/server/apache-storm-1.1.0/conf 目录下的storm.yaml

默认只需要修改如下部分:

3台服务器的Storm进行上述相同的配置即可。

Storm启动与应用

1、Storm命令

启动命令在:/home/xuliugen/server/apache-storm-1.1.0/bin 文件夹下,

以上列出了所有可以执行的命令模式。

2、启动nimbus

nimbus主机为:xuliugen129

另外开启一个控制界面,使用jps查看是否正常启动:

nimbus表示正常启动。

3、启动Storm UI

Storm UI这可以在启动nimbus的机器上运行,这里是:xuliugen129,启动如下:

启动之后,jps如下:

Storm UI 进程为core,访问xuliugen129:8080(这里我的PC级访问的话,就不再是上述设置的hostname,应该是对应的内网IP,默认端口为8080)

http://192.168.1.129:8080

3、启动另外两台supervisor

主机分别为:xuliugen214、xuliugen24

>./storm supervisor

查看Storm UI如下:

4、最后查看任一台Zookeeper服务器,查看节点情况:

项目代码使用

CSDN代码地址:http://download.csdn.net/download/u010870518/9949050 百度云盘地址: 链接:http://pan.baidu.com/s/1qYoJ6I4 密码:zsni

1、项目结构

核心jar为:storm-core-1.1.0.jar

2、执行原理:

一个Topology是Spouts和Bolts组成的图, 通过Stream Groupings将图中的Spouts和Bolts连接起来,如下图:

3、Spout代码

4、UpperBolt代码

5、AppendBolt代码

6、TopologyMain代码

7、提交到Storm集群运行:

(1)将项目导出jar,步骤如下:

(2)如果有警告的话,直接忽略即可。 (2)将导出的jar上传到服务器上,nimbus主机即可,我这里上传到:/home/xuliugen/temp 目录下,

(4)在2台supervisor主机上创建项目中需要的目录:

/home/xuliugen/server/stormdata/

(5)提交到Storm集群的命令为:

>./storm jar /home/xuliugen/temp/stormdemo.jar com.xuliugen.demo.topology.TopologyMain (1)/home/xuliugen/temp/stormdemo.jar为打包的jar在服务器上的位置; (2)com.xuliugen.demo.topology.TopologyMain位主函数全路径;

(6)最后查看Storm UI可以看到:

(7)运行效果

相关阅读:

Apache Kafka:下一代分布式消息系统

Kafka简介、基本原理、执行流程与使用场景

Kafka 单机和分布式环境搭建与案例使用

版权声明

Java后端技术所推送文章,为本人原创、网上收集或其他作者投稿,对于网上收集部分除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^ QQ:1573876303。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验环境
  • 准备工作
  • Zookeeper安装与配置
  • Storm安装与配置
  • Storm启动与应用
  • 项目代码使用
  • Apache Kafka:下一代分布式消息系统
  • Kafka简介、基本原理、执行流程与使用场景
  • Kafka 单机和分布式环境搭建与案例使用----
相关产品与服务
消息队列 CKafka 版
消息队列 CKafka 版(TDMQ for CKafka)是一个分布式、高吞吐量、高可扩展性的消息系统,100%兼容开源 Kafka API 2.4、2.8、3.2 版本。CKafka 基于发布/订阅模式,通过消息解耦,使生产者和消费者异步交互,无需彼此等待。CKafka 具有高可用、数据压缩、同时支持离线和实时数据处理等优点,适用于日志压缩收集、监控数据聚合、流式数据集成等场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档