美文网首页Storm
Storm(五)第一个集群Topology

Storm(五)第一个集群Topology

作者: quiterr | 来源:发表于2017-04-12 11:03 被阅读140次

    上一篇文章编写了一个简单的Topology,以local模式在Storm和IDEA中运行。这篇文章仍然以ExclamationBolt为例,只是这次要在Storm集群中运行。本文假定Storm集群环境已存在,不讨论如何搭建环境。

    原创文章,转载请注明出处

    修改Storm提交代码

    ExclamationTopology类的大部分代码都不用修改,只需要修改main函数提交topology部分的代码如下:

        try {
          StormSubmitter.submitTopology(topologyName, conf,
                  builder.createTopology());
        } catch (Exception e) {
          e.printStackTrace();
        }
    

    这里也把修改之前的代码贴出来做个对比:

        try {
          LocalCluster cluster = new LocalCluster();
          cluster.submitTopology(topologyName, conf,builder.createTopology());
          Thread.sleep(60 * 1000);
          cluster.shutdown();
        } catch (Exception e) {
          e.printStackTrace();
        }
    

    打包&运行

    打包:mvn package
    运行:storm jar cluster-topology-1.0-SNAPSHOT.jar com.quiterr.ExclamationTopology
    打包和运行的方法和上一篇介绍的local模式是一模一样的。

    调试集群模式下的topology

    本地模式下,可以在IDEA中方便的调试topology;集群模式下,至少有两个方法来帮助验证topology是否正确运行。

    1. Storm UI
    Storm UI

    Storm UI不仅可以用来查看一些信息,还有关闭topology、动态调整日志级别等功能。

    topology管理

    2.日志
    (1)日志的路径
    默认的日志路径:
    /home/app/software/apache-storm-1.0.1/logs/workers-artifacts/{TopologyName}/6704/worker.log
    例如ExclamationTopology:
    /home/app/software/apache-storm-1.0.1/logs/workers-artifacts/ExclamationTopology-20-1491962752/6704/worker.log
    (2)如果集群有多台Storm服务器,日志在哪一台上?
    从路径的命名来看,日志是按照worker来分的,这样看来topology在哪台服务器上执行,日志就会在相应的服务器上。如果有3个Storm服务器,刚好有3个worker,应该每台服务器上都会有日志。为了避免找日志的繁琐,我测试时一般在集群中只运行一台服务器,一个worker。
    (3)如何写入自己的日志
    其实Storm已经引入了slf4j日志框架,并用log4j进行日志存储,我们不用自己再添加依赖,直接用就可以了。

    public static Logger LOG = LoggerFactory.getLogger(TestWordSpout.class);
    ...... //省略中间的代码
    LOG.info("topologyName: {}", topologyName);
    

    (4)如何调整日志级别
    Storm UI可以动态调整某个topology的日志级别。
    也可以修改/home/app/software/apache-storm-1.0.1/log4j2/worker.xml,然后重启Storm。

    本文源代码:https://github.com/quiterr/storm-test/tree/master/cluster-topology

    相关文章

      网友评论

        本文标题:Storm(五)第一个集群Topology

        本文链接:https://www.haomeiwen.com/subject/bngpattx.html