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

Posted Java后端技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Storm和Zookeeper集群搭建及在java项目中的使用相关的知识,希望对你有一定的参考价值。

上一篇:

介绍了分布式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 通:

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

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

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

service firewalld stop

关于Cent OS防火墙的使用可以参考:

Zookeeper安装与配置

在上一篇中介绍了Zookeeper集群的安装方式,这里不再介绍,请查看:

Storm安装与配置

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

使用wget进行下载:

>wget http://mirrors.tuna.tsinghua.edu.cn/apache/storm

    /apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

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

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

2、配置Storm

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

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

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

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

Storm启动与应用

1、Storm命令

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

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

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

2、启动nimbus

nimbus主机为:xuliugen129

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

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

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

nimbus表示正常启动。

3、启动Storm UI

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

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

启动之后,jps如下:

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

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

http://192.168.1.129:8080

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

3、启动另外两台supervisor

主机分别为:xuliugen214、xuliugen24

>./storm supervisor

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

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

查看Storm UI如下:

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

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

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

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

项目代码使用

1、项目结构

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

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

2、执行原理:

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

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

3、Spout代码

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

4、UpperBolt代码

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

5、AppendBolt代码

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

6、TopologyMain代码

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

7、提交到Storm集群运行:

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

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

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

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

(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位主函数全路径;

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

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

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

(7)运行效果

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

相关阅读:


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



版权声明


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


Storm和Zookeeper集群搭建及在java项目中的使用
微信公众号,长按关注或微信搜索公众号:Java后端技术。



以上是关于Storm和Zookeeper集群搭建及在java项目中的使用的主要内容,如果未能解决你的问题,请参考以下文章

Storm 系列—— Storm 集群环境搭建

在做好的zookeeper集群上搭建storm的开发环境

Storm集群部署

54.Storm环境搭建

storm集群部署和配置过程详解

安装和配置Storm环境第一步 安装zookeeper环境