Created 07-19-2018 04:02 PM
Hi All,
I have been trying to add a customer service through Ambari 2.7.0 (NOTE: that works fine with the previous versions). After selecting the service from Choose Serivces, the system tries to add a client first. But this comes back with the following error:
Traceback (most recent call last): File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 35, in <module> BeforeAnyHook().execute() File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 353, in execute method(env) File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 29, in hook setup_users() File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/shared_initialization.py", line 50, in setup_users groups = params.user_to_groups_dict[user], KeyError: 'myuser' Error: Error: Unable to run the custom hook script ['/usr/bin/python', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py', 'ANY', '/var/lib/ambari-agent/data/command-3409.json', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY', '/var/lib/ambari-agent/data/structured-out-3409.json', 'INFO', '/var/lib/ambari-agent/tmp', 'PROTOCOL_TLSv1_2', '']
Should myuser be part of the Service Users and Groups - see the below table:
screen-shot-2018-07-19-at-45504-pm.png
If so, how can I add one in there?
Created 09-08-2018 10:21 AM
I've figured out what the problem is there.
In order to make it work - you need to add more fields to your user config in env.xml. Compare the above cassandra example:
<property> <name>cassandra_user</name> <value>cassandra</value> <property-type>USER</property-type> <description></description> </property>
And working YARN example from the Ambari 2.7 server:
<property> <name>yarn_ats_user</name> <display-name>Yarn ATS User</display-name> <value>yarn-ats</value> <property-type>USER</property-type> <description>YARN Client User for ATSv2 backend</description> <value-attributes> <type>user</type> <overridable>false</overridable> <user-groups> <property> <type>cluster-env</type> <name>user_group</name> </property> </user-groups> </value-attributes> <on-ambari-upgrade add="false"/> </property>
You need to add the display-name and value-attributes fields to your env.xml file (https://github.com/Dominion-Digital/ambari-cassandra-service/blob/master/configuration/cassandra-env.xml, for example). Then - restart ambari server and this problem should be solved. In case of service install - you may want to remove and then add again your service.
Created 07-20-2018 05:33 AM
@Jay Kumar SenSharma, @Geoffrey Shelton Okot
Are you able to help on the above? Many thanks!
Created 07-20-2018 04:28 PM
Do you have an idea about that issue and how to workaround it?
I think it may be related to the fact there is no entry for myuser in user_groups variable defined in /var/lib/ambari-agent/data/command-3409.json. However, I am not sure how this one is built.
Any pointers very much appreciated. Thanks!
Created 09-04-2018 03:22 PM
same issue here when trying to install cassandra as per https://github.com/Dominion-Digital/ambari-cassandra-service
stderr: Traceback (most recent call last): File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 35, in BeforeAnyHook().execute() File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 353, in execute method(env) File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 29, in hook setup_users() File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/shared_initialization.py", line 50, in setup_users groups = params.user_to_groups_dict[user], KeyError: u'cassandra' Error: Error: Unable to run the custom hook script ['/usr/bin/python', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py', 'ANY', '/var/lib/ambari-agent/data/command-163.json', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY', '/var/lib/ambari-agent/data/structured-out-163.json', 'INFO', '/var/lib/ambari-agent/tmp', 'PROTOCOL_TLSv1_2', ''] stdout: 2018-09-04 05:05:23,042 - Stack Feature Version Info: Cluster Stack=3.0, Command Stack=None, Command Version=None -> 3.0 2018-09-04 05:05:23,048 - Group['hadoop'] {} 2018-09-04 05:05:23,050 - User['zookeeper'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop'], 'uid': None} Error: Error: Unable to run the custom hook script ['/usr/bin/python', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py', 'ANY', '/var/lib/ambari-agent/data/command-163.json', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY', '/var/lib/ambari-agent/data/structured-out-163.json', 'INFO', '/var/lib/ambari-agent/tmp', 'PROTOCOL_TLSv1_2', ''] 2018-09-04 05:05:23,074 - The repository with version 3.0.0.0-1634 for this command has been marked as resolved. It will be used to report the version of the component which was installed 2018-09-04 05:05:23,081 - Skipping stack-select on CASSANDRA because it does not exist in the stack-select package structure. Command failed after 1 tries
any ideas?
Created 09-08-2018 10:21 AM
I've figured out what the problem is there.
In order to make it work - you need to add more fields to your user config in env.xml. Compare the above cassandra example:
<property> <name>cassandra_user</name> <value>cassandra</value> <property-type>USER</property-type> <description></description> </property>
And working YARN example from the Ambari 2.7 server:
<property> <name>yarn_ats_user</name> <display-name>Yarn ATS User</display-name> <value>yarn-ats</value> <property-type>USER</property-type> <description>YARN Client User for ATSv2 backend</description> <value-attributes> <type>user</type> <overridable>false</overridable> <user-groups> <property> <type>cluster-env</type> <name>user_group</name> </property> </user-groups> </value-attributes> <on-ambari-upgrade add="false"/> </property>
You need to add the display-name and value-attributes fields to your env.xml file (https://github.com/Dominion-Digital/ambari-cassandra-service/blob/master/configuration/cassandra-env.xml, for example). Then - restart ambari server and this problem should be solved. In case of service install - you may want to remove and then add again your service.