Launching an Accumulo Application Instance
1. Iniatialize Accumulo Passwords
Before starting an Accumulo cluster on YARN, you must initialize the passwords needed by
Accumulo. These passwords are specified in the credentials section of the
appConfig.json
file. By default they are the
root.initial.password
(the initial password for the root user, which
can be changed later using the Accumulo API), the instance.secret
(a
shared secret needed by Accumulo server processes), and the
trace.token.property.password
(the password for the user that collects
traces, which is the root user in the default configuration — so it should match the
root.initial.password
).
These passwords can be created using the following commands:
/usr/hdp/current/hadoop-client/bin/hadoop credential create root.initial.password -provider jceks://hdfs/user/<user>/accumulo-<accumulo_cluster_name>.jceks -v <root password> /usr/hdp/current/hadoop-client/bin/hadoop credential create instance.secret -provider jceks://hdfs/user/<user>/accumulo-<accumulo_cluster_name>.jceks -v <instance secret> /usr/hdp/current/hadoop-client/bin/hadoop credential create trace.token.property.password -provider jceks://hdfs/user/<user>/accumulo-<accumulo_cluster_name>.jceks -v <root password again>
Where <user>
is the user who will create the Accumulo
application instance and <accumulo_cluster_name>
is the name of the
Accumulo cluster that will be used in the Slider create
command.
For example, using the user "hw_qa" and the Accumulo cluster name "accumulo1":
/usr/hdp/current/hadoop-client/bin/hadoop credential create root.initial.password -provider jceks://hdfs/user/hw_qa/accumulo-accumulo1.jceks -v testRootPassword1 /usr/hdp/current/hadoop-client/bin/hadoop credential create instance.secret -provider jceks://hdfs/user/hw_qa/accumulo-accumulo1.jceks -v instanceSecret1 /usr/hdp/current/hadoop-client/bin/hadoop credential create trace.token.property.password -provider jceks://hdfs/user/hw_qa/accumulo-accumulo1.jceks -v testRootPassword1
2. Launch the Accumulo Application Instance
Use the following command format to launch Accumulo:
su <user> /usr/hdp/current/slider-client/bin/./slider create <accumulo_cluster_name> --template appConfig.json --resources resources.json
Where <user>
and
<accumulo_cluster_name>
are the user and cluster name that were
used when the Accumulo passwords were created.
For example:
su hw_qa /usr/hdp/current/slider-client/bin/./slider create accumulo1 --template /usr/work/app-packages/accumulo/appConfig.json --resources /usr/work/app-packages/accumulo/resources.json
Note | |
---|---|
The cluster name may not include uppercase characters. |
You can use the Slider CLI status
command to verify the application
launch:
/usr/hdp/current/slider-client/bin/./slider status <accumulo_cluster_name>
You can also use the Slider CLI list
command to verify the
application launch:
/usr/hdp/current/slider-client/bin/./slider list <accumulo_cluster_name>
The Accumulo instance name will have the format <user
name>-<accumulo_cluster_name>
.
The successful launch of the Accumulo cluster can also be verified via the YARN Resource Manager Web UI. This UI is usually accessible via a Web browser at port 8088 of the Resource Manager Host:
The specific information for the running Accumulo cluster is accessible via the “ApplicationMaster” link that can be seen in the far right column of the row associated with the running application (probably the top row):
Accesssing the Accumulo Monitor
On the Slider App Master page, one of the links should end with
publisher/slider
, for example:
http://node-1.example.com:52413/ws/v1/slider/publisher/slider
Add "quicklinks" to that URL, for example:
http://node-1.example.com:52413/ws/v1/slider/publisher/slider/quicklinks
That page will list some .json code. The value of the "org.apache.slider.monitor" key is the URL of the Accumulo monitor page. If you go to the quicklinks page right after the application instance is created, it will not be ready right away, because the monitor has to come up and register itself. But if you keep reloading the quicklinks URL, it will come up eventually (if the cluster is healthy).