Note |
---|
This feature is available after the 1.6.1. version of Ambari |
The Ambari Shell's aim is to provide an interactive command line tool which supports: -
all functionality available through Ambari web-app
context aware command availability
tab completion
required/optional parameter support
Architecture
The shell is written is Java, and uses the Groovy bases Ambari REST client, and the Spring Shell framework.
Ambari-Shell is distributed as a single-file executable jar. The **uber jar**
is generated with the help of spring-boot-maven-plugin available at: http://docs.spring.io/spring-boot/docs/1.0.1.RELEASE/reference/htmlsingle/#executable-jar.
Spring-Boot also provides a helper to launch those jars: http://docs.spring.io/spring-boot/docs/1.0.1.RELEASE/reference/htmlsingle/#executable-jar-launching).
After compiling the project, the shell is ready to use (make sure you use Java 7 or above).
Code Block |
---|
|
>> java -jar ambari-shell/target/ambari-shell-1.3.0-SNAPSHOT.jar --ambari.server=localhost --ambari.port=8080 --ambari.user=admin --ambari.password=admin
_ _ _ ____ _ _ _
/ \ _ __ ___ | |__ __ _ _ __ (_)/ ___| | |__ ___ | || |
/ _ \ | '_ ` _ \ | '_ \ / _` || '__|| |\___ \ | '_ \ / _ \| || |
/ ___ \ | | | | | || |_) || (_| || | | | ___) || | | || __/| || |
/_/ \_\|_| |_| |_||_.__/ \__,_||_| |_||____/ |_| |_| \___||_||_|
Welcome to Ambari Shell. For assistance press tab or use the `hint` command.
For the list of available commands type help
ambari-shell>help
* blueprint add - Add a new blueprint with either --url or --file
* blueprint defaults - Adds the default blueprints to Ambari
* blueprint list - Lists all known blueprints
* blueprint show - Shows the blueprint by its id
* cluster assign - Assign host to host group
* cluster autoAssign - Automatically assigns hosts to different host groups base on the provided strategy
* cluster build - Starts to build a cluster
* cluster create - Create a cluster based on current blueprint and assigned hosts
* cluster delete - Delete the cluster
* cluster preview - Shows the currently assigned hosts
* cluster reset - Clears the host - host group assignments
* configuration download - Downloads the desired configuration
* configuration modify - Modify the desired configuration
* configuration set - Sets the desired configuration
* configuration show - Prints the desired configuration
* debug off - Stops showing the URL of the API calls
* debug on - Shows the URL of the API calls
* exit - Exits the shell
* hello - Prints a simple elephant to the console
* help - List all commands usage
* hint - Shows some hints
* host components - Lists the components assigned to the selected host
* host focus - Sets the useHost to the specified host
* host list - Lists the available hosts
* quit - Exits the shell
* script - Parses the specified resource file and executes its commands
* services components - Lists all services with their components
* services list - Lists the available services
* services start - Starts a service/all the services
* services stop - Stops a service/all the running services
* tasks - Lists the Ambari tasks
* version - Displays shell version
|
Please note that all commands are context aware - and are available only when it makes sense.
For example the `cluster create` command is not available until a `blueprint` has not been added or selected.
A good approach is to use the `hint` command - as the Ambari UI, this will give you hints about the available commands and the flow of
creating or configuring a cluster. You can always use TAB for completion or available parameters.
Code Block |
---|
|
ambari-shell>hello
.-.._
__ /` '.
.-' `/ ( a \
/ ( \,_ \
/| '---` |\ =|
` \ /__.-/ / | |
| / / \ \ \ \_\
|__|_| |_|__\
ambari-shell>blueprint defaults
BLUEPRINT STACK
--------------------- -------
multi-node-hdfs-yarn HDP:2.0
single-node-hdfs-yarn HDP:2.0
ambari-shell>cluster build --blueprint single-node-hdfs-yarn
ambari-shell>cluster assign --hostGroup host_group_1 --host server.ambari.com
HOSTGROUP HOST
------------ -----------------
host_group_1 server.ambari.com
ambari-shell>cluster create
ambari-shell>tasks
TASK STATUS
-------------------------- -------
HISTORYSERVER INSTALL QUEUED
ZOOKEEPER_SERVER START PENDING
ZOOKEEPER_CLIENT INSTALL PENDING
HDFS_CLIENT INSTALL PENDING
HISTORYSERVER START PENDING
NODEMANAGER INSTALL QUEUED
NODEMANAGER START PENDING
ZOOKEEPER_SERVER INSTALL QUEUED
YARN_CLIENT INSTALL PENDING
NAMENODE INSTALL QUEUED
RESOURCEMANAGER INSTALL QUEUED
NAMENODE START PENDING
RESOURCEMANAGER START PENDING
DATANODE START PENDING
SECONDARY_NAMENODE START PENDING
DATANODE INSTALL QUEUED
MAPREDUCE2_CLIENT INSTALL PENDING
SECONDARY_NAMENODE INSTALL QUEUED
|
Summary
To sum it up in less than two minutes watch this video: https://asciinema.org/a/9783