Created on 01-02-2017 03:47 PM
SYMPTOM
While adding new service to the HDP cluster, it fails with below error:
Traceback (most recent call last): File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/hook.py", line 37, in <module> AfterInstallHook().execute() File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 219, in execute method(env) File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/hook.py", line 31, in hook setup_hdp_symlinks() File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/shared_initialization.py", line 49, in setup_hdp_symlinks hdp_select.select_all(version) File "/usr/lib/python2.6/site-packages/resource_management/libraries/functions/hdp_select.py", line 122, in select_all Execute(command, only_if = only_if_command) File "/usr/lib/python2.6/site-packages/resource_management/core/base.py", line 154, in __init__ self.env.run() File "/usr/lib/python2.6/site-packages/resource_management/core/environment.py", line 160, in run self.run_action(resource, action) File "/usr/lib/python2.6/site-packages/resource_management/core/environment.py", line 124, in run_action provider_action() File "/usr/lib/python2.6/site-packages/resource_management/core/providers/system.py", line 238, in action_run tries=self.resource.tries, try_sleep=self.resource.try_sleep) File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", line 70, in inner result = function(command, **kwargs) File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", line 92, in checked_call tries=tries, try_sleep=try_sleep) File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", line 140, in _call_wrapper result = _call(command, **kwargs_copy) File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", line 291, in _call raise Fail(err_msg) resource_management.core.exceptions.Fail: Execution of 'ambari-sudo.sh /usr/bin/hdp-select set all `ambari-python-wrap /usr/bin/hdp-select versions | grep ^2.4.2.0-258 | tail -1`' returned 1. Traceback (most recent call last): File "/usr/bin/hdp-select", line 382, in <module> printVersions() File "/usr/bin/hdp-select", line 239, in printVersions result[tuple(map(int, versionRegex.split(f)))] = f ValueError: invalid literal for int() with base 10: 'smartsense' ERROR: set command takes 2 parameters, instead of 1 usage: hdp-select [-h] [<command>] [<package>] [<version>] Set the selected version of HDP. positional arguments: <command> One of set, status, versions, or packages <package> the package name to set <version> the HDP version to set optional arguments: -h, --help show this help message and exit -r, --rpm-mode if true checks if there is symlink exists and creates the symlink if it doesn't Commands: set : set the package to a specified version status : show the version of the package versions : show the currently installed versions packages : show the individual package names
.
ROOT CAUSE
There is an extra unwanted directory under /usr/hdp on Ambari server
Please see below output:
[root@prodnode1 hdp]# ls -lrt /usr/hdp/ total 16 drwxr-xr-x. 19 root root 4096 Sep 26 08:31 2.4.2.0-258 drwxr-xr-x. 2 root root 4096 Nov 21 13:28 current drwxr-xr-x. 2 root root 4096 Jan 2 15:37 smartsense drwxr-xr-x. 3 root root 4096 Jan 2 15:39 share [root@prodnode1 hdp]#
Note - It's not recommended to put any directory under /usr/hdp/ except 'share', 'current', 'versioned directory'
.
RESOLUTION
Move /usr/hdp/<unwanted-directory> to some other location than '/usr/hdp'
See below output:
#Before moving directory [root@prodnode1 hdp]# hdp-select versions Traceback (most recent call last): File "/usr/bin/hdp-select", line 382, in <module> printVersions() File "/usr/bin/hdp-select", line 239, in printVersions result[tuple(map(int, versionRegex.split(f)))] = f ValueError: invalid literal for int() with base 10: 'smartsense' [root@prodnode1 hdp]# #Move directory outside [root@prodnode1 hdp]# mv /usr/hdp/smartsense/ /root/ [root@prodnode1 hdp]# #After moving directory [root@prodnode1 hdp]# hdp-select versions 2.4.2.0-258
.
Created on 01-06-2017 05:22 PM
Do you know /usr/hdp/smartsense directory is created by the service or manually created?