我正在尝试使用带有hive的点火(hadoop作为secondry文件系统)。我有一个java api。我需要在hive中插入数据,因此我需要遵循依赖性。
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.1.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
只要我在pom文件中插入此依赖项,Ignite就会停止工作并发出以下错误。 java.lang.IncompatibleClassChangeError:实现类
1077 [main] INFO o.s.b.f.x.XmlBeanDefinitionReader - Loading XML bean definitions from URL [file:/C:/apache-ignite-fabric-1.9.0-bin/config/default-config.xml]
1158 [main] INFO o.s.c.s.GenericApplicationContext - Refreshing org.springframework.context.support.GenericApplicationContext@7ea37dbf: startup date [Fri Apr 07 11:40:26 IST 2017]; root of context hierarchy
[11:40:27] __________ ________________
[11:40:27] / _/ ___/ |/ / _/_ __/ __/
[11:40:27] _/ // (7 7 // / / / / _/
[11:40:27] /___/\___/_/|_/___/ /_/ /___/
[11:40:27]
[11:40:27] ver. 1.9.0#20170302-sha1:a8169d0a
[11:40:27] 2017 Copyright(C) Apache Software Foundation
[11:40:27]
[11:40:27] Ignite documentation: http://ignite.apache.org
[11:40:27]
[11:40:27] Quiet mode.
[11:40:27] ^-- Logging to file 'C:\apache-ignite-fabric-1.9.0-bin\work\log\ignite-5347ab7b.0.log'
[11:40:27] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
[11:40:27]
[11:40:27] OS: Windows 7 6.1 amd64
[11:40:27] VM information: Java(TM) SE Runtime Environment 1.8.0_121-b13 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.121-b13
[11:40:27] Initial heap size is 126MB (should be no less than 512MB, use -Xms512m -Xmx512m).
[11:40:27,120][SEVERE][main][IgniteKernal] Got exception while starting (will rollback startup routine).
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.ignite.internal.IgniteComponentType.createIfInClassPath(IgniteComponentType.java:187)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:841)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1799)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1602)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042)
at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:964)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:850)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:749)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:499)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:479)
at org.apache.ignite.Ignition.start(Ignition.java:304)
at com.sapient.igniteHdfs.DemoIgnite.startIgnite(DemoIgnite.java:37)
at com.sapient.aims.storm.topology.MessagePushTopology.main(MessagePushTopology.java:54)
[11:40:27] Ignite node stopped OK [uptime=00:00:01:001]
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.ignite.internal.IgniteComponentType.createIfInClassPath(IgniteComponentType.java:187)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:841)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1799)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1602)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042)
at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:964)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:850)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:749)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:499)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:479)
at org.apache.ignite.Ignition.start(Ignition.java:304)
at com.sapient.igniteHdfs.DemoIgnite.startIgnite(DemoIgnite.java:37)
at com.sapient.aims.storm.topology.MessagePushTopology.main(MessagePushTopology.java:54)
请告诉我如何正确使用带点火的jdbc-hive驱动程序。这是我的pom.xml谢谢。
答案 0 :(得分:0)
Apache Ignite用户列表中讨论了这一点:http://apache-ignite-users.70518.x6.nabble.com/Hive-jdbc-driver-not-working-with-ignite-td11795.html