查看原文
其他

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

徐刘根 Java后端技术 2022-04-29

上一篇:

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在服务器上的位置;

2com.xuliugen.demo.topology.TopologyMain位主函数全路径;

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

(7)运行效果

相关阅读:

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

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

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


如果对你有帮助的话!点击下边广告支持一下!只点击无需关注!谢谢!



版权声明


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


微信公众号,长按关注或微信搜索公众号:Java后端技术。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存