Support Questions

Find answers, ask questions, and share your expertise

Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

avatar

Unable to use expression language functions in oozie workflow with Falcon. It seems some jar files are missing but unsure what.

Here is the exception when using - http://hortonworks.com/hadoop-tutorial/defining-processing-data-end-end-data-pipeline-apache-falcon/

The error occurs at this step -

falcon entity -type process -schedule -name rawEmailIngestProcess
2016-01-19 21:08:31,969 ERROR CoordSubmitXCommand:517 - SERVER[sandbox.hortonworks.com] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] ACTION[-] XException,
org.apache.oozie.command.CommandException: E1004: Expression language evaluation error, Unable to evaluate :${now(0,0)}:
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submitJob(CoordSubmitXCommand.java:259)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submit(CoordSubmitXCommand.java:203)
        at org.apache.oozie.command.SubmitTransitionXCommand.execute(SubmitTransitionXCommand.java:82)
        at org.apache.oozie.command.SubmitTransitionXCommand.execute(SubmitTransitionXCommand.java:30)
        at org.apache.oozie.command.XCommand.call(XCommand.java:286)
        at org.apache.oozie.CoordinatorEngine.dryRunSubmit(CoordinatorEngine.java:561)
        at org.apache.oozie.servlet.V1JobsServlet.submitCoordinatorJob(V1JobsServlet.java:228)
        at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:95)
        at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:102)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:304)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:595)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:554)
        at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.oozie.coord.CoordinatorJobException: E1004: Expression language evaluation error, Unable to evaluate :${now(0,0)}:


        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveTagContents(CoordSubmitXCommand.java:1003)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveIOEvents(CoordSubmitXCommand.java:889)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveInitial(CoordSubmitXCommand.java:797)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.basicResolveAndIncludeDS(CoordSubmitXCommand.java:606)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submitJob(CoordSubmitXCommand.java:229)
        ... 32 more
Caused by: java.lang.Exception: Unable to evaluate :${now(0,0)}:


        at org.apache.oozie.coord.CoordELFunctions.evalAndWrap(CoordELFunctions.java:723)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveTagContents(CoordSubmitXCommand.java:999)
        ... 36 more
Caused by: javax.servlet.jsp.el.ELException: No function is mapped to the name "now"
        at org.apache.commons.el.Logger.logError(Logger.java:481)
        at org.apache.commons.el.Logger.logError(Logger.java:498)
        at org.apache.commons.el.Logger.logError(Logger.java:525)
        at org.apache.commons.el.FunctionInvocation.evaluate(FunctionInvocation.java:150)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
        at org.apache.oozie.util.ELEvaluator.evaluate(ELEvaluator.java:204)
        at org.apache.oozie.coord.CoordELFunctions.evalAndWrap(CoordELFunctions.java:714)
        ... 37 more

1 ACCEPTED SOLUTION

avatar
Expert Contributor

This looks like a configuration issue where Oozie is probably not setup correctly for Falcon in the sandbox (Assuming you are using sandbox). Please refer to http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configur... This document should explain all the configs Oozie should have for Falcon to work successfully. My guess is that the Coord EL Functions Properties are missing.

View solution in original post

14 REPLIES 14

avatar
Expert Contributor

The entry is incorrect. https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.4/bk_installing_manually_book/content/configu... has the correct instructions. The line after dataIn should be as follows.

         instanceTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime,

avatar
Expert Contributor

Hi Team,

The information in 2.3.0 docs had an error. Please use information at https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.4/bk_installing_manually_book/content/configu... , I will work with documentation team to get 2.3.0 doc fixed.

avatar
Expert Contributor

avatar

@Balu

Back to the original error.

avatar
Master Mentor

@bsaini @zblanco @Rafael Coss @Balu I was able to run through the tutorial on my own built machine with HDP 2.3.4, albeit doing something wrong with paths, it works. Granted I was using the latest HDP 2.3 tutorial https://github.com/ZacBlanco/hwx-tutorials/blob/master/2-3/tutorials/define-and-process-data-pipelin... where there are no CLI commands for falcon.