<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">

    <title>Command Line Client</title>

    <!-- Bootstrap core CSS -->
    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->
    <link href="/assets/css/bootstrap-theme.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link rel="stylesheet" href="http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css">
    <link href="/css/style.css" rel="stylesheet">
    <link href="/assets/css/owl.theme.css" rel="stylesheet">
    <link href="/assets/css/owl.carousel.css" rel="stylesheet">
    <script type="text/javascript" src="/assets/js/jquery.min.js"></script>
    <script type="text/javascript" src="/assets/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="/assets/js/owl.carousel.min.js"></script>
    <script type="text/javascript" src="/assets/js/storm.js"></script>
    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
    
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>


  <body>
    <header>
  <div class="container-fluid">
     <div class="row">
          <div class="col-md-5">
            <a href="/index.html"><img src="/images/logo.png" class="logo" /></a>
          </div>
          <div class="col-md-5">
            
              <h1>Version: 2.0.0</h1>
            
          </div>
          <div class="col-md-2">
            <a href="/downloads.html" class="btn-std btn-block btn-download">Download</a>
          </div>
        </div>
    </div>
</header>
<!--Header End-->
<!--Navigation Begin-->
<div class="navbar" role="banner">
  <div class="container-fluid">
      <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
          <ul class="nav navbar-nav">
              <li><a href="/index.html" id="home">Home</a></li>
                <li><a href="/getting-help.html" id="getting-help">Getting Help</a></li>
                <li><a href="/about/integrates.html" id="project-info">Project Information</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="documentation">Documentation <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      
                        
                          <li><a href="/releases/2.4.0/index.html">2.4.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.3.0/index.html">2.3.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.2.1/index.html">2.2.1</a></li>
                        
                      
                        
                          <li><a href="/releases/2.2.0/index.html">2.2.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.1.1/index.html">2.1.1</a></li>
                        
                      
                        
                          <li><a href="/releases/2.1.0/index.html">2.1.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.0.0/index.html">2.0.0</a></li>
                        
                      
                        
                          <li><a href="/releases/1.2.4/index.html">1.2.4</a></li>
                        
                      
                        
                          <li><a href="/releases/1.2.3/index.html">1.2.3</a></li>
                        
                      
                    </ul>
                </li>
                <li><a href="/talksAndVideos.html">Talks and Slideshows</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="contribute">Community <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/contribute/Contributing-to-Storm.html">Contributing</a></li>
                        <li><a href="/contribute/People.html">People</a></li>
                        <li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
                        <li><a href="/Powered-By.html">PoweredBy</a></li>
                    </ul>
                </li>
                <li><a href="/2021/10/14/storm211-released.html" id="news">News</a></li>
            </ul>
        </nav>
    </div>
</div>



    <div class="container-fluid">
    <h1 class="page-title">Command Line Client</h1>
          <div class="row">
           	<div class="col-md-12">
	             <!-- Documentation -->

<p class="post-meta"></p>

<div class="documentation-content"><p>This page describes all the commands that are possible with the &quot;storm&quot; command line client. To learn how to set up your &quot;storm&quot; client to talk to a remote cluster, follow the instructions in <a href="Setting-up-development-environment.html">Setting up development environment</a>. See <a href="Classpath-handling.html">Classpath handling</a> for details on using external libraries in these commands.</p>

<p>These commands are:</p>

<ol>
<li>jar</li>
<li>local</li>
<li>sql</li>
<li>kill</li>
<li>activate</li>
<li>deactivate</li>
<li>rebalance</li>
<li>repl</li>
<li>classpath</li>
<li>server_classpath</li>
<li>localconfvalue</li>
<li>remoteconfvalue</li>
<li>nimbus</li>
<li>supervisor</li>
<li>ui</li>
<li>drpc</li>
<li>drpc-client</li>
<li>blobstore</li>
<li>dev-zookeeper</li>
<li>get-errors</li>
<li>heartbeats</li>
<li>kill_workers</li>
<li>list</li>
<li>logviewer</li>
<li>monitor</li>
<li>node-health-check</li>
<li>pacemaker</li>
<li>set_log_level</li>
<li>shell</li>
<li>upload-credentials</li>
<li>version</li>
<li>admin</li>
<li>help</li>
</ol>

<h3 id="jar">jar</h3>

<p>Syntax: <code>storm jar topology-jar-path class ...</code></p>

<p>Runs the main method of <code>class</code> with the specified arguments. The storm jars and configs in <code>~/.storm</code> are put on the classpath. The process is configured so that <a href="javadocs/org/apache/storm/StormSubmitter.html">StormSubmitter</a> will upload the jar at <code>topology-jar-path</code> when the topology is submitted.</p>

<p>When you want to ship other jars which is not included to application jar, you can pass them to <code>--jars</code> option with comma-separated string.
For example, --jars &quot;your-local-jar.jar,your-local-jar2.jar&quot; will load your-local-jar.jar and your-local-jar2.jar.
And when you want to ship maven artifacts and its transitive dependencies, you can pass them to <code>--artifacts</code> with comma-separated string. You can also exclude some dependencies like what you&#39;re doing in maven pom. Please add exclusion artifacts with &#39;^&#39; separated string after the artifact. For example, <code>--artifacts &quot;redis.clients:jedis:2.9.0,org.apache.kafka:kafka_2.10:0.8.2.2^org.slf4j:slf4j-log4j12&quot;</code> will load jedis and kafka artifact and all of transitive dependencies but exclude slf4j-log4j12 from kafka.</p>

<p>When you need to pull the artifacts from other than Maven Central, you can pass remote repositories to --artifactRepositories option with comma-separated string. Repository format is &quot;<name>^<url>&quot;. &#39;^&#39; is taken as separator because URL allows various characters. For example, --artifactRepositories &quot;jboss-repository^<a href="http://repository.jboss.com/maven2,HDPRepo%5Ehttp://repo.hortonworks.com/content/groups/public/">http://repository.jboss.com/maven2,HDPRepo^http://repo.hortonworks.com/content/groups/public/</a>&quot; will add JBoss and HDP repositories for dependency resolver.</p>

<p>Complete example of both options is here: <code>./bin/storm jar example/storm-starter/storm-starter-topologies-*.jar org.apache.storm.starter.RollingTopWords blobstore-remote2 remote --jars &quot;./external/storm-redis/storm-redis-1.1.0.jar,./external/storm-kafka-client/storm-kafka-client-1.1.0.jar&quot; --artifacts &quot;redis.clients:jedis:2.9.0,org.apache.kafka:kafka-clients:1.0.0^org.slf4j:slf4j-api&quot; --artifactRepositories &quot;jboss-repository^http://repository.jboss.com/maven2,HDPRepo^http://repo.hortonworks.com/content/groups/public/&quot;</code></p>

<p>When you pass jars and/or artifacts options, StormSubmitter will upload them when the topology is submitted, and they will be included to classpath of both the process which runs the class, and also workers for that topology.</p>

<h3 id="local">local</h3>

<p>Syntax: <code>storm jar topology-jar-path class ...</code></p>

<p>The local command acts just like <code>storm jar</code> except instead of submitting a topology to a cluster it will run the cluster in local mode.  This means an embedded version of the storm daemons will be run within the same process as your topology for 30 seconds before it shuts down automatically.  As such the classpath of your topology will be extended to include everything needed to run those daemons.</p>

<h3 id="sql">sql</h3>

<p>Syntax: <code>storm sql sql-file topology-name</code></p>

<p>Compiles the SQL statements into a Trident topology and submits it to Storm.</p>

<p><code>--jars</code> and <code>--artifacts</code>, and <code>--artifactRepositories</code> options available for jar are also applied to sql command. Please refer &quot;help jar&quot; to see how to use --jars and --artifacts, and --artifactRepositories options. You normally want to pass these options since you need to set data source to your sql which is an external storage in many cases.</p>

<h3 id="kill">kill</h3>

<p>Syntax: <code>storm kill topology-name [-w wait-time-secs]</code></p>

<p>Kills the topology with the name <code>topology-name</code>. Storm will first deactivate the topology&#39;s spouts for the duration of the topology&#39;s message timeout to allow all messages currently being processed to finish processing. Storm will then shutdown the workers and clean up their state. You can override the length of time Storm waits between deactivation and shutdown with the -w flag.</p>

<h3 id="activate">activate</h3>

<p>Syntax: <code>storm activate topology-name</code></p>

<p>Activates the specified topology&#39;s spouts.</p>

<h3 id="deactivate">deactivate</h3>

<p>Syntax: <code>storm deactivate topology-name</code></p>

<p>Deactivates the specified topology&#39;s spouts.</p>

<h3 id="rebalance">rebalance</h3>

<p>Syntax: <code>storm rebalance topology-name [-w wait-time-secs] [-n new-num-workers] [-e component=parallelism]*</code></p>

<p>Sometimes you may wish to spread out where the workers for a topology are running. For example, let&#39;s say you have a 10 node cluster running 4 workers per node, and then let&#39;s say you add another 10 nodes to the cluster. You may wish to have Storm spread out the workers for the running topology so that each node runs 2 workers. One way to do this is to kill the topology and resubmit it, but Storm provides a &quot;rebalance&quot; command that provides an easier way to do this. </p>

<p>Rebalance will first deactivate the topology for the duration of the message timeout (overridable with the -w flag) and then redistribute the workers evenly around the cluster. The topology will then return to its previous state of activation (so a deactivated topology will still be deactivated and an activated topology will go back to being activated).</p>

<p>The rebalance command can also be used to change the parallelism of a running topology. Use the -n and -e switches to change the number of workers or number of executors of a component respectively.</p>

<h3 id="repl">repl</h3>

<p><em>DEPRECATED: This subcommand may be removed in a future release.</em></p>

<p>Syntax: <code>storm repl</code></p>

<p>Opens up a Clojure REPL with the storm jars and configuration on the classpath. Useful for debugging.</p>

<h3 id="classpath">classpath</h3>

<p>Syntax: <code>storm classpath</code></p>

<p>Prints the classpath used by the storm client when running commands.</p>

<h3 id="server_classpath">server_classpath</h3>

<p>Syntax: <code>storm server_classpath</code></p>

<p>Prints the classpath used by the storm daemons.</p>

<h3 id="localconfvalue">localconfvalue</h3>

<p>Syntax: <code>storm localconfvalue conf-name</code></p>

<p>Prints out the value for <code>conf-name</code> in the local Storm configs. The local Storm configs are the ones in <code>~/.storm/storm.yaml</code> merged in with the configs in <code>defaults.yaml</code>.</p>

<h3 id="remoteconfvalue">remoteconfvalue</h3>

<p>Syntax: <code>storm remoteconfvalue conf-name</code></p>

<p>Prints out the value for <code>conf-name</code> in the cluster&#39;s Storm configs. The cluster&#39;s Storm configs are the ones in <code>$STORM-PATH/conf/storm.yaml</code> merged in with the configs in <code>defaults.yaml</code>. This command must be run on a cluster machine.</p>

<h3 id="nimbus">nimbus</h3>

<p>Syntax: <code>storm nimbus</code></p>

<p>Launches the nimbus daemon. This command should be run under supervision with a tool like <a href="http://cr.yp.to/daemontools.html">daemontools</a> or <a href="http://mmonit.com/monit/">monit</a>. See <a href="Setting-up-a-Storm-cluster.html">Setting up a Storm cluster</a> for more information.</p>

<h3 id="supervisor">supervisor</h3>

<p>Syntax: <code>storm supervisor</code></p>

<p>Launches the supervisor daemon. This command should be run under supervision with a tool like <a href="http://cr.yp.to/daemontools.html">daemontools</a> or <a href="http://mmonit.com/monit/">monit</a>. See <a href="Setting-up-a-Storm-cluster.html">Setting up a Storm cluster</a> for more information.</p>

<h3 id="ui">ui</h3>

<p>Syntax: <code>storm ui</code></p>

<p>Launches the UI daemon. The UI provides a web interface for a Storm cluster and shows detailed stats about running topologies. This command should be run under supervision with a tool like <a href="http://cr.yp.to/daemontools.html">daemontools</a> or <a href="http://mmonit.com/monit/">monit</a>. See <a href="Setting-up-a-Storm-cluster.html">Setting up a Storm cluster</a> for more information.</p>

<h3 id="drpc">drpc</h3>

<p>Syntax: <code>storm drpc</code></p>

<p>Launches a DRPC daemon. This command should be run under supervision with a tool like <a href="http://cr.yp.to/daemontools.html">daemontools</a> or <a href="http://mmonit.com/monit/">monit</a>. See <a href="Distributed-RPC.html">Distributed RPC</a> for more information.</p>

<h3 id="drpc-client">drpc-client</h3>

<p>Syntax: <code>storm drpc-client [options] ([function argument]*)|(argument*)</code></p>

<p>Provides a very simple way to send DRPC requests. If a <code>-f</code> argument is supplied, to set the function name, all of the arguments are treated
as arguments to the function.  If no function is given the arguments must be pairs of function argument.</p>

<p><em>NOTE:</em> This is not really intended for production use.  This is mostly because parsing out the results can be a pain.</p>

<p>Creating an actual DRPC client only takes a few lines, so for production please go with that.</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Config</span> <span class="n">conf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Config</span><span class="o">();</span>
<span class="k">try</span> <span class="o">(</span><span class="n">DRPCClient</span> <span class="n">drpc</span> <span class="o">=</span> <span class="n">DRPCClient</span><span class="o">.</span><span class="na">getConfiguredClient</span><span class="o">(</span><span class="n">conf</span><span class="o">))</span> <span class="o">{</span>
  <span class="c1">//User the drpc client</span>
  <span class="n">String</span> <span class="n">result</span> <span class="o">=</span> <span class="n">drpc</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="n">function</span><span class="o">,</span> <span class="n">argument</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div>
<h4 id="examples">Examples</h4>

<p><code>storm drpc-client exclaim a exclaim b test bar</code></p>

<p>This will submit 3 separate DRPC request.
1. function = &quot;exclaim&quot; args = &quot;a&quot;
2. function = &quot;exclaim&quot; args = &quot;b&quot;
3. function = &quot;test&quot; args = &quot;bar&quot;</p>

<p><code>storm drpc-client -f exclaim a b</code></p>

<p>This will submit 2 separate DRPC request.
1. function = &quot;exclaim&quot; args = &quot;a&quot;
2. function = &quot;exclaim&quot; args = &quot;b&quot;</p>

<h3 id="blobstore">blobstore</h3>

<p>Syntax: <code>storm blobstore cmd</code></p>

<p>list [KEY...] - lists blobs currently in the blob store</p>

<p>cat [-f FILE] KEY - read a blob and then either write it to a file, or STDOUT (requires read access).</p>

<p>create [-f FILE] [-a ACL ...] [--replication-factor NUMBER] KEY - create a new blob. Contents comes from a FILE or STDIN. ACL is in the form [uo]:[username]:[r-][w-][a-] can be comma separated list.</p>

<p>update [-f FILE] KEY - update the contents of a blob.  Contents comes from a FILE or STDIN (requires write access).</p>

<p>delete KEY - delete an entry from the blob store (requires write access).</p>

<p>set-acl [-s ACL] KEY - ACL is in the form [uo]:[username]:[r-][w-][a-] can be comma separated list (requires admin access).</p>

<p>replication --read KEY - Used to read the replication factor of the blob.</p>

<p>replication --update --replication-factor NUMBER KEY where NUMBER &gt; 0. It is used to update the replication factor of a blob.</p>

<p>For example, the following would create a mytopo:data.tgz key using the data stored in data.tgz.  User alice would have full access, bob would have read/write access and everyone else would have read access.</p>

<p>storm blobstore create mytopo:data.tgz -f data.tgz -a u:alice:rwa,u:bob:rw,o::r</p>

<p>See <a href="distcache-blobstore.html">Blobstore(Distcahce)</a> for more information.</p>

<h3 id="dev-zookeeper">dev-zookeeper</h3>

<p>Syntax: <code>storm dev-zookeeper</code></p>

<p>Launches a fresh Zookeeper server using &quot;dev.zookeeper.path&quot; as its local dir and &quot;storm.zookeeper.port&quot; as its port. This is only intended for development/testing, the Zookeeper instance launched is not configured to be used in production.</p>

<h3 id="get-errors">get-errors</h3>

<p>Syntax: <code>storm get-errors topology-name</code></p>

<p>Get the latest error from the running topology. The returned result contains the key value pairs for component-name and component-error for the components in error. The result is returned in json format.</p>

<h3 id="heartbeats">heartbeats</h3>

<p>Syntax: <code>storm heartbeats [cmd]</code></p>

<p>list PATH - lists heartbeats nodes under PATH currently in the ClusterState.
get  PATH - Get the heartbeat data at PATH</p>

<h3 id="kill_workers">kill_workers</h3>

<p>Syntax: <code>storm kill_workers</code></p>

<p>Kill the workers running on this supervisor. This command should be run on a supervisor node. If the cluster is running in secure mode, then user needs to have admin rights on the node to be able to successfully kill all workers.</p>

<h3 id="list">list</h3>

<p>Syntax: <code>storm list</code></p>

<p>List the running topologies and their statuses.</p>

<h3 id="logviewer">logviewer</h3>

<p>Syntax: <code>storm logviewer</code></p>

<p>Launches the log viewer daemon. It provides a web interface for viewing storm log files. This command should be run under supervision with a tool like daemontools or monit.</p>

<p>See Setting up a Storm cluster for more information.(<a href="http://storm.apache.org/documentation/Setting-up-a-Storm-cluster">http://storm.apache.org/documentation/Setting-up-a-Storm-cluster</a>)</p>

<h3 id="monitor">monitor</h3>

<p>Syntax: <code>storm monitor topology-name [-i interval-secs] [-m component-id] [-s stream-id] [-w [emitted | transferred]]</code></p>

<p>Monitor given topology&#39;s throughput interactively.
One can specify poll-interval, component-id, stream-id, watch-item[emitted | transferred]
  By default,
    poll-interval is 4 seconds;
    all component-ids will be list;
    stream-id is &#39;default&#39;;
    watch-item is &#39;emitted&#39;;</p>

<h3 id="node-health-check">node-health-check</h3>

<p>Syntax: <code>storm node-health-check</code></p>

<p>Run health checks on the local supervisor.</p>

<h3 id="pacemaker">pacemaker</h3>

<p>Syntax: <code>storm pacemaker</code></p>

<p>Launches the Pacemaker daemon. This command should be run under
supervision with a tool like daemontools or monit.</p>

<p>See Setting up a Storm cluster for more information.(<a href="http://storm.apache.org/documentation/Setting-up-a-Storm-cluster">http://storm.apache.org/documentation/Setting-up-a-Storm-cluster</a>)</p>

<h3 id="set_log_level">set_log_level</h3>

<p>Syntax: <code>storm set_log_level -l [logger name]=[log level][:optional timeout] -r [logger name] topology-name</code></p>

<p>Dynamically change topology log levels</p>

<p>where log level is one of: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
and timeout is integer seconds.</p>

<p>e.g.
  ./bin/storm set_log_level -l ROOT=DEBUG:30 topology-name</p>

<p>Set the root logger&#39;s level to DEBUG for 30 seconds</p>

<p>./bin/storm set_log_level -l com.myapp=WARN topology-name</p>

<p>Set the com.myapp logger&#39;s level to WARN for 30 seconds</p>

<p>./bin/storm set_log_level -l com.myapp=WARN -l com.myOtherLogger=ERROR:123 topology-name</p>

<p>Set the com.myapp logger&#39;s level to WARN indefinitely, and com.myOtherLogger to ERROR for 123 seconds</p>

<p>./bin/storm set_log_level -r com.myOtherLogger topology-name</p>

<p>Clears settings, resetting back to the original level</p>

<h3 id="shell">shell</h3>

<p>Syntax: <code>storm shell resourcesdir command args</code></p>

<p>Makes constructing jar and uploading to nimbus for using non JVM languages</p>

<p>eg: <code>storm shell resources/ python topology.py arg1 arg2</code></p>

<h3 id="upload-credentials">upload-credentials</h3>

<p>Syntax: <code>storm upload_credentials topology-name [credkey credvalue]*</code></p>

<p>Uploads a new set of credentials to a running topology</p>

<h3 id="version">version</h3>

<p>Syntax: <code>storm version</code></p>

<p>Prints the version number of this Storm release.</p>

<h3 id="admin">admin</h3>

<p>Syntax: <code>storm admin &lt;cmd&gt; [options]</code></p>

<p>The storm admin command provides access to several operations that can help an administrator debug or fix a cluster.</p>

<p><code>remove_corrupt_topologies</code> - This command should be run on a nimbus node as the same user nimbus runs as.  It will go directly to zookeeper + blobstore and find topologies that appear to be corrupted because of missing blobs. It will kill those topologies.</p>

<p><code>zk_cli [options]</code> - This command will launch a zookeeper cli pointing to the storm zookeeper instance logged in as the nimbus user.  It should be run on a nimbus server as the user nimbus runs as.</p>

<ul>
<li><code>-s --server &lt;connection string&gt;</code>: Set the connection string to use,
        defaults to storm connection string.</li>
<li><code>-t --time-out &lt;timeout&gt;</code>:  Set the timeout to use, defaults to storm
        zookeeper timeout.</li>
<li><code>-w --write</code>: Allow for writes, defaults to read only, we don&#39;t want to
        cause problems.</li>
<li><code>-n --no-root</code>: Don&#39;t include the storm root on the default connection string.</li>
<li><code>-j --jaas &lt;jaas_file&gt;</code>: Include a jaas file that should be used when
        authenticating with ZK defaults to the
        java.security.auth.login.config conf.</li>
</ul>

<p><code>creds &lt;topology_id&gt;</code> - Print the credential keys for a topology.</p>

<h3 id="help">help</h3>

<p>Syntax: <code>storm help [command]</code></p>

<p>Print one help message or list of available commands</p>
</div>


	          </div>
	       </div>
	  </div>
<footer>
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Meetups</h5>
                    <ul class="latest-news">
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Apache-Kafka/">Apache Storm & Apache Kafka</a> <span class="small">(Sunnyvale, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Apache Storm & Kafka Users</a> <span class="small">(Seattle, WA)</span></li>
                        
                        <li><a href="http://www.meetup.com/New-York-City-Storm-User-Group/">NYC Storm User Group</a> <span class="small">(New York, NY)</span></li>
                        
                        <li><a href="http://www.meetup.com/Bay-Area-Stream-Processing">Bay Area Stream Processing</a> <span class="small">(Emeryville, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Boston-Storm-Users/">Boston Realtime Data</a> <span class="small">(Boston, MA)</span></li>
                        
                        <li><a href="http://www.meetup.com/storm-london">London Storm User Group</a> <span class="small">(London, UK)</span></li>
                        
                        <!-- <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Seatle, WA</a> <span class="small">(27 Jun 2015)</span></li> -->
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>About Apache Storm</h5>
                    <p>Apache Storm integrates with any queueing system and any database system. Apache Storm's spout abstraction makes it easy to integrate a new queuing system. Likewise, integrating Apache Storm with database systems is easy.</p>
               </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>First Look</h5>
                    <ul class="footer-list">
                        <li><a href="/releases/current/Rationale.html">Rationale</a></li>
                        <li><a href="/releases/current/Tutorial.html">Tutorial</a></li>
                        <li><a href="/releases/current/Setting-up-development-environment.html">Setting up development environment</a></li>
                        <li><a href="/releases/current/Creating-a-new-Storm-project.html">Creating a new Apache Storm project</a></li>
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Documentation</h5>
                    <ul class="footer-list">
                        <li><a href="/releases/current/index.html">Index</a></li>
                        <li><a href="/releases/current/javadocs/index.html">Javadoc</a></li>
                        <li><a href="/releases/current/FAQ.html">FAQ</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <hr/>
        <div class="row">   
            <div class="col-md-12">
                <p align="center">Copyright © 2021 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. 
                    <br>Apache Storm, Apache, the Apache feather logo, and the Apache Storm project logos are trademarks of The Apache Software Foundation. 
                    <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
            </div>
        </div>
    </div>
</footer>
<!--Footer End-->
<!-- Scroll to top -->
<span class="totop"><a href="#"><i class="fa fa-angle-up"></i></a></span> 

</body>

</html>

