Hi Zhang...

The latest docs for Ambari's Kerberos-release REST API can be found at
https://github.com/apache/ambari/blob/trunk/ambari-server/docs/security/kerberos/enabling_kerberos.md#the-rest-api.
In particular, to set the KDC administrator credentials, have a look at
https://github.com/apache/ambari/blob/trunk/ambari-server/docs/security/kerberos/enabling_kerberos.md#set-the-kdc-administrator-credentials
.

I hope this helps.

Rob


On Wed, Jul 10, 2019 at 5:54 AM Zhang Ruiqiang <[email protected]> wrote:

> Hi ambari team:
>     My ambari version is 2.7.3. Now, I want to install service using rest
> api,  my command is:
>        curl  -u admin:admin -i -H 'X-Requested-By:ambari' -X PUT
> http://localhost:8080/api/v1/clusters/test/services/SOLR -d
> '{"RequestInfo": { "context": "Install SOLR"},"Body": { "ServiceInfo": {
> "state": "INSTALLED"} }}'
> When kerberos was not enabled, it is OK.  But after I enabled Kerberos,  I
> will get the error message as below:
>
> { "status" : 400,
>   "message" : "java.lang.IllegalArgumentException: Invalid KDC
> administrator credentials.\nThe KDC administrator credentials must be set
> as a persisted or temporary credential resource.This may be done by issuing
> a POST (or PUT for updating) to the
> /api/v1/clusters/:clusterName/credentials/kdc.admin.credential API entry
> point with the following payload:\n{\n  \"Credential\" : {\n
> \"principal\" : \"(PRINCIPAL)\", \"key\" : \"(PASSWORD)\", \"type\" :
> \"(persisted|temporary)\"}\n  }\n}"
>
> I refered the doc
> https://developer.ibm.com/hadoop/2016/06/07/ambari-rest-calls-for-kerberos-enabled-clusters/
>  to
> resolve my problem, but maybe its version is old, it doesn't work for me.
> So, what is the easies way to invoke this API?  Any suggestions are
> appreciated !
>
> Thanks!
>
>
>
>
>

Reply via email to