Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

"HiveServer2 Enable Impersonation" setting not available via the API

avatar
Contributor

Hi,

 

I'm using the API to change the "HiveServer2 Enable Impersonation" configuration setting of the Hive service. However the option is not accessbile through the API.

 

 Here's the setting in the webinterface:

 

Screen Shot 2016-07-21 at 13.43.00.png

 

 

 

I can change it just fine with the web interface and there I can see that it is desribed as "hive_server2_enable_impersonation" and "hive.server2.enable.doAs".

 

But when I try to change those values through the API it fails with:

 

{
  "message" : "Unknown configuration attribute 'hive_server2_enable_impersonation'."
}

 

 I am trying with:

curl -X PUT -H "Content-Type:application/json" -u admin:admin "http:/localhost:7180/api/v12/clusters/My_cluster/services/hive/config" -d '{ "items" : [ { "name" : "hive_server2_enable_impersonation", "value" : "false" } ] }'


curl -X PUT -H "Content-Type:application/json" -u admin:admin "http:/localhost:7180/api/v12/clusters/My_cluster/services/hive/config" -d '{ "items" : [ { "name" : "hive.server2.enable.doAs", "value" : "false" } ] }'

 

When I check the config json of the Hive service as returned by:

curl -X GET -H "Content-Type:application/json" -u admin:admin"http://localhost:7180/api/v12/clusters/My_cluster/services/hive/config?view=FULL"

 

I don't see any option to change this anywhere in the result.

 

What's going on here, isn't everything accesible through the API or was this setting just forgotten?

1 ACCEPTED SOLUTION

avatar
Master Guru

Hi... this is old, but just came across it.

 

hiveserver2_enable_impersonation is set at the HiveServer2 role level, so you would need to use the full path to your HiveServer2 role.  for instance:

 

curl -X PUT -H "Content-Type:application/json" -u admin:admin -k "https://localhost:7183/api/v12/clusters/cluster/services/hive/roles/hive-HIVESERVER2-609b6bea2fc852513192152e64d3ec19/config" -d '{ "items" : [ { "name" : "hiveserver2_enable_impersonation", "value" : "false" } ] }'

 

Since the attribute does not exist at the service level (where you attempted to set it), the attribute is not found.

 

I hope that might help you or others.

 

Cheers,

 

Ben

View solution in original post

1 REPLY 1

avatar
Master Guru

Hi... this is old, but just came across it.

 

hiveserver2_enable_impersonation is set at the HiveServer2 role level, so you would need to use the full path to your HiveServer2 role.  for instance:

 

curl -X PUT -H "Content-Type:application/json" -u admin:admin -k "https://localhost:7183/api/v12/clusters/cluster/services/hive/roles/hive-HIVESERVER2-609b6bea2fc852513192152e64d3ec19/config" -d '{ "items" : [ { "name" : "hiveserver2_enable_impersonation", "value" : "false" } ] }'

 

Since the attribute does not exist at the service level (where you attempted to set it), the attribute is not found.

 

I hope that might help you or others.

 

Cheers,

 

Ben