STORM-3134: Improved Documentation
Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/c705eea6 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/c705eea6 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/c705eea6 Branch: refs/heads/master Commit: c705eea6628504ee6c74cecf0f0e82c3356ef247 Parents: f237f32 Author: Robert (Bobby) Evans <ev...@yahoo-inc.com> Authored: Tue Jul 10 11:27:53 2018 -0500 Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com> Committed: Tue Jul 10 11:27:53 2018 -0500 ---------------------------------------------------------------------- bin/storm.py | 34 +++++++++++++++++++++++-------- docs/Command-line-client.md | 44 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 66 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/c705eea6/bin/storm.py ---------------------------------------------------------------------- diff --git a/bin/storm.py b/bin/storm.py index e11a8c0..93eee5b 100755 --- a/bin/storm.py +++ b/bin/storm.py @@ -640,15 +640,31 @@ def kill_workers(*args): extrajars=[USER_CONF_DIR, os.path.join(STORM_DIR, "bin")]) def admin(*args): - """Syntax: [storm admin cmd] - - This is a proxy of nimbus and allow to execute admin commands. As of now it supports - command to remove corrupt topologies. - Nimbus doesn't clean up corrupted topologies automatically. This command should clean - up corrupt topologies i.e.topologies whose codes are not available on blobstore. - In future this command would support more admin commands. - Supported command - storm admin remove_corrupt_topologies + """Syntax: [storm admin cmd [options]] + + The storm admin command provides access to several operations that can help + an administrator debug or fix a cluster. + + remove_corrupt_topologies - 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. + + zk_cli [options] - 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. + -s --server <connection string>: Set the connection string to use, + defaults to storm connection string. + -t --time-out <timeout>: Set the timeout to use, defaults to storm + zookeeper timeout. + -w --write: Allow for writes, defaults to read only, we don't want to + cause problems. + -n --no-root: Don't include the storm root on the default connection string. + -j --jaas <jaas_file>: Include a jaas file that should be used when + authenticating with ZK defaults to the + java.security.auth.login.config conf. + + creds topology_id - Print the credential keys for a topology. """ exec_storm_class( "org.apache.storm.command.AdminCommands", http://git-wip-us.apache.org/repos/asf/storm/blob/c705eea6/docs/Command-line-client.md ---------------------------------------------------------------------- diff --git a/docs/Command-line-client.md b/docs/Command-line-client.md index 7bc678d..ce889e7 100644 --- a/docs/Command-line-client.md +++ b/docs/Command-line-client.md @@ -8,6 +8,7 @@ This page describes all the commands that are possible with the "storm" command These commands are: 1. jar +1. local 1. sql 1. kill 1. activate @@ -15,6 +16,7 @@ These commands are: 1. rebalance 1. repl 1. classpath +1. server_classpath 1. localconfvalue 1. remoteconfvalue 1. nimbus @@ -36,6 +38,7 @@ These commands are: 1. shell 1. upload-credentials 1. version +1. admin 1. help ### jar @@ -54,6 +57,12 @@ Complete example of both options is here: `./bin/storm jar example/storm-starter 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. +### local + +Syntax: `storm jar topology-jar-path class ...` + +The local command acts just like `storm jar` 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. + ### sql Syntax: `storm sql sql-file topology-name` @@ -102,6 +111,12 @@ Syntax: `storm classpath` Prints the classpath used by the storm client when running commands. +### server_classpath + +Syntax: `storm server_classpath` + +Prints the classpath used by the storm daemons. + ### localconfvalue Syntax: `storm localconfvalue conf-name` @@ -147,7 +162,7 @@ as arguments to the function. If no function is given the arguments must be pai *NOTE:* This is not really intended for production use. This is mostly because parsing out the results can be a pain. -Creating an actuall DRPC client only takes a few lines, so for production please go with that. +Creating an actual DRPC client only takes a few lines, so for production please go with that. ```java Config conf = new Config(); @@ -162,14 +177,14 @@ try (DRPCClient drpc = DRPCClient.getConfiguredClient(conf)) { `storm drpc-client exclaim a exclaim b test bar` This will submit 3 separate DRPC request. -1. funciton = "exclaim" args = "a" +1. function = "exclaim" args = "a" 2. function = "exclaim" args = "b" 3. function = "test" args = "bar" `storm drpc-client -f exclaim a b` This will submit 2 separate DRPC request. -1. funciton = "exclaim" args = "a" +1. function = "exclaim" args = "a" 2. function = "exclaim" args = "b" ### blobstore @@ -310,6 +325,29 @@ Syntax: `storm version` Prints the version number of this Storm release. +### admin + +Syntax: `storm admin <cmd> [options]` + +The storm admin command provides access to several operations that can help an administrator debug or fix a cluster. + +`remove_corrupt_topologies` - 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. + + `zk_cli [options]` - 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. + + * `-s --server <connection string>`: Set the connection string to use, + defaults to storm connection string. + * `-t --time-out <timeout>`: Set the timeout to use, defaults to storm + zookeeper timeout. + * `-w --write`: Allow for writes, defaults to read only, we don't want to + cause problems. + * `-n --no-root`: Don't include the storm root on the default connection string. + * `-j --jaas <jaas_file>`: Include a jaas file that should be used when + authenticating with ZK defaults to the + java.security.auth.login.config conf. + +`creds <topology_id>` - Print the credential keys for a topology. + ### help Syntax: `storm help [command]`