Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created on 07-16-2018 09:11 AM - edited 07-16-2018 09:17 AM
Ubuntu 16.04 LTS
Python 2 (and pip)
Docker version 1.13.1 (go 1.6.2 git commit 092cba3)
CM_API version 19
I am trying to automate the entire installation procedure (with Docker on my local development environment), which I expect it should be the same as following the web ui wizard. The example I use is based on https://github.com/cloudera/cm_api/blob/master/python/examples/cluster_set_up.py. However, even with the sample python script i.e. cluster_set_up.py (with corresponded information modified for my local environment). It fails with error
Installing hosts. This might take a while.
cm_host_install failed: Failed to complete installation.
I am able to install cluster and services (kafka, and zookeeper) through web ui wizard without a problem. So I am not sure why this doesn't work through cm_api. And the error message is not clear indicating what goes wrong. Any place to debug and fix this problem?
Created 07-17-2018 11:43 AM
Yup, if you have already installed the "cloudera-manager-agent" and "cloudera-manager-daemons" packages, configured the agent's config.ini with the server_host as your CM host, and started it (so that it is heartbeating to Cloudera Manager) then you can probably just add it to the cluster using this:
https://cloudera.github.io/cm_api/apidocs/v5.15.0/path__clusters_-clusterName-_hosts.html
Created 07-16-2018 09:35 AM
Check out the Cloudera Manager logs for any issues.
Also, in Cloudera Manager, navigate to:
http://cm_host:7180/cmf/commands/commands
Find the failed add hosts command there and see if you can discover any details there about the problem.
NOTE: The "cm_host_install failed" message is from the example "cluster_set_up.py" and occurs when the host add command fails here:
cm.host_install(host_username, host_list, password=host_password, cm_repo_url=cm_repo_url)
Make sure you have configured your hosts' username and password. The defaults are "root:cloudera"
host_username = "root"
host_password = "cloudera"
If you haven't changed those variable values then that's likely the cause as the user/pass would not be correct for your hosts.
Created on 07-17-2018 06:10 AM - edited 07-17-2018 08:03 AM
The message logged in http://cm_host:7180/cmf/commands/commands is a bit obscure. It merely shows
Failed to complete installation on host 1 of 1.
Failed to complete installation on host 172.17.0.2.
Where ip i.e 172.17.0.2 corresponds to cm_host in cluster_set_up.py
Click 'Download' button (at the same level as Status line) shows that the actually problem is Connection refused.
What service are expected for this communication? And which port should I open so the api host_install call can talk to that service?
Thanks
Update:
Executing curl command
curl -u "admin:<default ui pass>" -X POST -d '{"userName": "root", "password": "<default pass>", "hostNames": ["localhost"]}' -i -H content-type:application/json http://localhost:7180/api/v7/cm/commands/hostInstall
returns
HTTP/1.1 200 OK
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: CLOUDERA_MANAGER_SESSIONID=uw1r3bw5imx5140fu8714bzgb;Path=/;HttpOnly
Content-Type: application/json
Date: Tue, 17 Jul 2018 14:53:21 GMT
Transfer-Encoding: chunked
Server: Jetty(6.1.26.cloudera.4)
{
"id" : 16,
"name" : "GlobalHostInstall",
"startTime" : "2018-07-17T14:53:21.925Z",
"active" : true,
"children" : {
"items" : [ ]
}
}
But checking url localhost:7180/cmf/command/30/details (through web ui), it's still complaing 'connection refused'
Created 07-17-2018 08:31 AM
Created 07-17-2018 11:43 AM
Yup, if you have already installed the "cloudera-manager-agent" and "cloudera-manager-daemons" packages, configured the agent's config.ini with the server_host as your CM host, and started it (so that it is heartbeating to Cloudera Manager) then you can probably just add it to the cluster using this:
https://cloudera.github.io/cm_api/apidocs/v5.15.0/path__clusters_-clusterName-_hosts.html
Created 07-18-2018 01:41 AM