Yes you can.
https://cwiki.apache.org/confluence/display/AMBARI/Adding+a+New+Service+to+a
n+Existing+Cluster has the APIs that you can use. This page talks about
adding a whole service. In your case you need to just create host components
and then install them.
So you need api calls to
* Add host components (Step 5)
* Install the components. As you need to install a subset of the components
you should call INSTALL directly on the component itself.
> * Sample call: curl --user admin:admin -i -X PUT -d '{"HostRoles": {"state":
> "INSTALLED"}}' http://<server>:8080/api/v1/clusters/c1/hosts/<host name as
> registered>/host_components/HDFS_CLIENT
> * The host components are created with state INIT, and the above call puts it
> into INSTALLED state (clients do not need to be started so there is not need
> to move them to STARTED state)
Depending on the version of Ambari you are using, you may be able to do it
using the UI as well. You can see a "Add Component" option on the host
specific page in the UI.
-Sumit
From: Chadwick Banning <[email protected]>
Reply-To: <[email protected]>
Date: Friday, August 9, 2013 12:17 PM
To: <[email protected]>
Subject: Retroactively Add Client Components
Hi,
I have a single DataNode/TaskTracker that does not include the Client
Components. Is there a way to add the Client Components to a data node
that has already been deployed?
Appreciate any help.