Oozie服务器启动失败,出现“Invalid TimeZone:UTC”错误

时间:2018-03-13 07:19:07

标签: java linux hadoop oozie

我使用的是Oozie 4.2.0软件包(http://archive.apache.org/dist/oozie/4.2.0/)。我构建了这个Oozie包源,并在过去2年中在Windows和Linux机器中使用它。但是,今天我在新创建的Linux机器上启动oozie服务器(/bin/oozied.sh run)时出现以下错误。

  

设置oozie数据库设置CATALINA_OPTS =“$ CATALINA_OPTS -Xmx1024m”

     

在线程“main”中验证数据库连接异常   java.lang.ExceptionInInitializerError           在org.apache.oozie.service.Services。(Services.java:114)           在org.apache.oozie.tools.OozieDBCLI.getJdbcConf(OozieDBCLI.java:164)           在org.apache.oozie.tools.OozieDBCLI.createConnection(OozieDBCLI.java:853)           在org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:861)           在org.apache.oozie.tools.OozieDBCLI.createDB(OozieDBCLI.java:182)           在org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:126)           在org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:77)引起:java.lang.IllegalArgumentException:无效的TimeZone:UTC           在org.apache.oozie.util.DateUtils.getTimeZone(DateUtils.java:146)           在org.apache.oozie.util.DateUtils。(DateUtils.java:44)           ......还有7个

当我在Oozie源文件中跟踪此错误时。 DateUtils.java文件如下所示。 enter image description here

此处运行以下时间值

tzId =“UTC”

tz = sun.util.calendar.ZoneInfo [id =“GMT”,offset = 0,dstSavings = 0,useDaylight = false,transitions = 0,lastRule = null]

tz.getID() =“GMT”

因此,在DateUtils.java中检查以下条件时。它总是成功并在我的情况下抛出IllegalArgumentException。

if (!tz.getID().equals(tzId)) {
            throw new IllegalArgumentException("Invalid TimeZone: " + tzId);
        }

我的问题是为什么我的机器时区在java代码中检测时区id“GMT”。为什么Apache oozie正在检查这种情况。 请帮我启动Oozie服务器。在此先感谢。

机器环境详细信息:

Ubuntu 16.04.4 LTS(GNU / Linux 4.4.0-116-generic x86_64)

locale - LANG = en_US.UTF-8

时区 - 欧洲/柏林

0 个答案:

没有答案
相关问题