You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Alejandro Fernandez (JIRA)" <ji...@apache.org> on 2015/03/13 02:14:38 UTC

[jira] [Commented] (AMBARI-10055) RU failed on RESTART OOZIE/OOZIE_SERVER because hadoop-lzo should only be copied if lzo compression is enabled

    [ https://issues.apache.org/jira/browse/AMBARI-10055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14359732#comment-14359732 ] 

Alejandro Fernandez commented on AMBARI-10055:
----------------------------------------------

I verified the patch works.
* Enabled lzo by following http://docs.hortonworks.com/HDPDocuments/Ambari-1.6.0.0/bk_ambari_reference/content/ambari-ref-lzo-configure.html
* Ensured that was still able to restart Oozie server
* Took a snapshot of the VM
  ** Installed new version HDP 2.2.2.0-2603, which correctly downloaded the lzo jar to /usr/hdp/2.2.2.0-2603/hadoop/lib/hadoop-lzo-0.6.0.2.2.2.0-2603.jar. Was then able to perform a successful RU.
  ** Reverted the LZO configs, and installed new version HDP 2.2.2.0-2603, which did not download the lzo jar. Was then able to perform a successful RU.

Basically, the Oozie Server RU will only require the hadoop lzo to exist if lzo is enabled.

There's one corner case in which the RU can still fail because of this: if a user registers a version and installs it (i.e., distributes the bits to all of the hosts. Note that at this point there was no need to download lzo jar), and then enables lzo compression, and begins the RU, then Oozie Server restart will fail because the hadoop-lzo jar was never downloaded.
There are several ways to fix this corner case:
1. Force redistribution of bits for a version that is already INSTALLED. This is more general, and can help in other scenarios, so I think it's preferable. 
2. Detect what changes to the configs should transition INSTALLED versions as OUT_OF_SYNC; this is difficult to maintain.
3. Have Oozie Server RU Restart download the package; this is not desirable because the RU now has to do more work that could have been done up-front.


> RU failed on RESTART OOZIE/OOZIE_SERVER because hadoop-lzo should only be copied if lzo compression is enabled 
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-10055
>                 URL: https://issues.apache.org/jira/browse/AMBARI-10055
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.0.0
>            Reporter: Alejandro Fernandez
>            Assignee: Alejandro Fernandez
>              Labels: rolling_upgrade
>             Fix For: 2.0.0
>
>         Attachments: AMBARI-10055.patch
>
>
> STR:
> Deploy a cluster with Oozie
> Confirm that lzo compression is not enabled ( http://docs.hortonworks.com/HDPDocuments/Ambari-1.6.0.0/bk_ambari_reference/content/ambari-ref-lzo-configure.html)
> Comment a Rolling Upgrade, which will fail in Oozie because it will not find the hadoop-lzo jar.
> The jar should only be copied if lzo is enabled.
> {code}
> 2015-03-11 21:32:49,019 - u"Execute['hdp-select set oozie-server 2.2.2.0-2591']" {}
> 2015-03-11 21:32:49,064 - Restoring Oozie configuration directory after upgrade...
> 2015-03-11 21:32:49,065 - Extracting /tmp/oozie-upgrade-backup/oozie-conf-backup.tar to /etc/oozie/conf
> 2015-03-11 21:32:49,179 - Error while executing command 'restart':
> Traceback (most recent call last):
>   File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 214, in execute
>     method(env)
>   File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 365, in restart
>     self.pre_rolling_restart(env)
>   File "/var/lib/ambari-agent/cache/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py", line 165, in pre_rolling_restart
>     oozie_server_upgrade.prepare_libext_directory()
>   File "/var/lib/ambari-agent/cache/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py", line 141, in prepare_libext_directory
>     hadoop_client_new_lib_dir, hadoop_lzo_pattern))
> Fail: There are no files at /usr/hdp/2.2.2.0-2591/hadoop/lib matching hadoop-lzo*.jar
> 2015-03-11 21:32:49,235 - Command: /usr/bin/hdp-select status oozie-server > /tmp/tmpVfVrGL
> Output: oozie-server - 2.2.2.0-2591
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)