[ 
https://issues.apache.org/jira/browse/AMBARI-18151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alejandro Fernandez updated AMBARI-18151:
-----------------------------------------
    Attachment: AMBARI-18151.patch

> Oozie Hive actions fail when Atlas is installed since Atlas Hive Hooks need 
> to be copied to Oozie Share Lib in HDFS
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-18151
>                 URL: https://issues.apache.org/jira/browse/AMBARI-18151
>             Project: Ambari
>          Issue Type: Bug
>          Components: stacks
>    Affects Versions: 2.4.0
>            Reporter: Alejandro Fernandez
>            Assignee: Alejandro Fernandez
>            Priority: Blocker
>              Labels: 240RMApproved
>             Fix For: 2.4.0
>
>         Attachments: AMBARI-18151.patch
>
>
> After the Falcon-Atlas hook has been enabled, the following properties are 
> added.
> startup.properties
> {noformat}
> *.application.services=org.apache.falcon.security.AuthenticationInitializationService,\
>       org.apache.falcon.workflow.WorkflowJobEndNotificationService, \
>       org.apache.falcon.service.ProcessSubscriberService,\
>       org.apache.falcon.extensions.ExtensionService,\
>       org.apache.falcon.service.LifecyclePolicyMap,\
>       org.apache.falcon.entity.store.ConfigurationStore,\
>       org.apache.falcon.rerun.service.RetryService,\
>       org.apache.falcon.rerun.service.LateRunService,\
>       org.apache.falcon.service.LogCleanupService,\
>       org.apache.falcon.metadata.MetadataMappingService,\
> org.apache.atlas.falcon.service.AtlasService
> {noformat}
> falcon-env.sh
> {noformat}
> # Add the Atlas Falcon hook to the Falcon classpath
> export 
> FALCON_EXTRA_CLASS_PATH=/usr/hdp/current/atlas-client/hook/falcon/*:${FALCON_EXTRA_CLASS_PATH}
> {noformat} 
> Whenever Oozie submits Hive actions, they fail and the application logs show
> {noformat}
> hive.exec.post.hooks Class not found:org.apache.atlas.hive.hook.HiveHook
> FAILED: Hive Internal Error: 
> java.lang.ClassNotFoundException(org.apache.atlas.hive.hook.HiveHook)
> java.lang.ClassNotFoundException: org.apache.atlas.hive.hook.HiveHook
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       at java.lang.Class.forName0(Native Method)
>       at java.lang.Class.forName(Class.java:348)
>       at org.apache.hadoop.hive.ql.hooks.HookUtils.getHooks(HookUtils.java:60)
>       at org.apache.hadoop.hive.ql.Driver.getHooks(Driver.java:1384)
>       at org.apache.hadoop.hive.ql.Driver.getHooks(Driver.java:1368)
>       at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1595)
>       at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1289)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1156)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1146)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:216)
>       at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:168)
>       at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:379)
>       at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:314)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:412)
>       at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:428)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:717)
>       at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:684)
>       at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:624)
>       at org.apache.oozie.action.hadoop.HiveMain.runHive(HiveMain.java:335)
>       at org.apache.oozie.action.hadoop.HiveMain.run(HiveMain.java:312)
>       at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:51)
>       at org.apache.oozie.action.hadoop.HiveMain.main(HiveMain.java:69)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:242)
>       at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
>       at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
>       at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1724)
>       at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
> {noformat}
> This is because whenever Atlas is installed, the Hive Hook (which is 
> installed via the Oozie RPM too, in  /usr/$stack/$version/atlas/hook/hive/) 
> needs to be copied to the Oozie Share lib in HDFS (e.g., 
> hdfs:///user/oozie/share/lib/lib_$timestamp/hive)
> Further, need to save atlas-application.properties used for Hive in 
> /etc/oozie/conf/action-conf/hive
> Lastly, remove the atlas.rest.address property from hive-site.xml



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

Reply via email to