zoukankan      html  css  js  c++  java
  • storm学习总结

    1.storm shell端常用指令:

    提交Topologies
    命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
    样例:storm jar /storm-starter.jar storm.starter.WordCountTopology wordcountTop

    #提交storm-starter.jar到远程集群,并启动wordcountTop拓扑。
    停止Topologies
    命令格式:storm kill 【拓扑名称】
    样例:storm kill wordcountTop
    #杀掉wordcountTop拓扑。
    启动nimbus后台程序
    命令格式:storm nimbus
    启动supervisor后台程序
    命令格式:storm supervisor
    启动drpc服务
    命令格式:storm drpc
    启动ui服务
    命令格式:storm ui
    启动REPL
    REPL — read-evaluate-print-loop。
    虽然clojure可以作为一种脚本语言内嵌在java里面,但是它的首选编程方式是使用REPL,这是一个简单的命令行接口,使用它你可以输入你的命令,执行,然后查看结果, 你可以以下面这个命令来启动REPL:
    命令格式:storm repl
    打印本地配置
    命令格式:storm localconfvalue 【配置参数关键字】
    举例:storm localconfvalue storm.zookeeper.servers
    #根据指定参数打印本地配置的值。
    打印远程配置
    命令格式:storm remoteconfvalue 【配置参数关键字】
    举例:storm remoteconfvalue storm.zookeeper.servers
    #根据指定参数打印远程配置的值。
    执行Shell脚本
    命令格式:storm shell resourcesdir command args

    打印CLASSPATH
    命令格式:storm classpath

    2.storm 启动日志查看,即在storm ui中直接查看日志

    nohub storm logview &

    .查看storm的日志,找到各个节点,的storm的根目录,在根目录下的logs文件夹下会生成一个xxxx-端口号.log的日志文件

    3.storm 中 开启drpc功能 

    在集群中每台机器的storm   conf配置文件 storm.yaml中修改

    然后 控制台  bin/storm drpc

    4.storm rebalance 拓扑名称 -n 12 这个指令是重新设置worker的数量 ,这是在不重启拓扑的前提下,动态的调整worker的数量,同样,每个spout blot的并发数都可以动态的调整

    5.如何通过storm ui 来查看,自己topologic中设置的并发度是否可以,是否出现数据在内存中的拥堵?

    上图中如果emitted数量和acked的数量差不多,那就是合理,如果 emitted的数量,远远大于acked的数量,那就需要把并发度设置大一些

    关于storm吞吐量的问题,可以参考这篇文章:https://blog.csdn.net/WeiJonathan/article/details/38536671?tdsourcetag=s_pcqq_aiomsg

    5. storm maven项目的pom.xml 文件,重点看如何打包

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.zhangshitong</groupId>
        <artifactId>trident</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.apache.storm/storm-kafka -->
            <dependency>
                <groupId>org.apache.storm</groupId>
                <artifactId>storm-kafka</artifactId>
                <version>1.2.1</version>
                <scope>provided</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.storm/storm-core -->
            <dependency>
                <groupId>org.apache.storm</groupId>
                <artifactId>storm-core</artifactId>
                <version>1.2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka_2.11</artifactId>
                <version>0.10.0.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>0.10.0.1</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>

    cd  到 项目pom.xml 文件所在位置 执行命令  mvn clean package

    6.storm版本的问题,在storm1之前的版本,是没有被apache基金收购,而在1版本之后storm被Apache基金收购了,所以出现了包名、类名的变更

    类包已经从“backtype.storm”更改为“org.apache.storm”

  • 相关阅读:
    汇编语言-子程序调用
    汇编语言-转移指令的原理
    汇编语言-直接定址表
    汇编语言-内中断
    汇编语言-汇编程序初识
    【Mybtais】Mybatis 插件 Plugin开发(一)动态代理步步解析
    【Redis】redis异步消息队列+Spring自定义注解+AOP方式实现系统日志持久化
    【ECharts】报表联动,动态数据设计
    【】POST、GET、RequestParam、ReqestBody、FormData、request payLoad简单认知
    【TensorFlow】Win7下使用Object Detection API 训练自己的数据集,并视频实时检测
  • 原文地址:https://www.cnblogs.com/zhangshitong/p/10454795.html
Copyright © 2011-2022 走看看