datax hbase20xsqlwrite 写入phoenix5.0 时 报class not found :com/google/protobuf
- Dominant language
- Java
- Stars
- 17.4k
- Forks
- 5.7k
- PR merge metrics
- No merged PRs in 30d
Description
2019-04-04 18:49:28.538 [job-0] ERROR Engine -
经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Hbasewriter-02], Description:[获取QueryServer连接时出错.]. - 无法连接QueryServer,配置不正确或服务未启动,请检查配置和服务状态或者联系HBase管理员. - java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessageV3
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.calcite.avatica.remote.ProtobufTranslationImpl.(ProtobufTranslationImpl.java:145)
at org.apache.calcite.avatica.remote.Driver.createService(Driver.java:132)
at org.apache.calcite.avatica.remote.Driver.createMeta(Driver.java:97)
at org.apache.calcite.avatica.AvaticaConnection.(AvaticaConnection.java:121)
at org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection.(AvaticaJdbc41Factory.java:105)
at org.apache.calcite.avatica.AvaticaJdbc41Factory.newConnection(AvaticaJdbc41Factory.java:62)
at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:165)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLHelper.getThinClientConnection(HBase20xSQLHelper.java:61)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLHelper.validateParameter(HBase20xSQLHelper.java:41)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLWriter$Job.init(HBase20xSQLWriter.java:19)
at com.alibaba.datax.core.job.JobContainer.initJobWriter(JobContainer.java:704)
at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:304)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113)
at com.alibaba.datax.core.Engine.start(Engine.java:92)
at com.alibaba.datax.core.Engine.entry(Engine.java:171)
at com.alibaba.datax.core.Engine.main(Engine.java:204)
Caused by: java.lang.ClassNotFoundException: com.google.protobuf.GeneratedMessageV3
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:33)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLHelper.getThinClientConnection(HBase20xSQLHelper.java:64)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLHelper.validateParameter(HBase20xSQLHelper.java:41)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLWriter$Job.init(HBase20xSQLWriter.java:19)
at com.alibaba.datax.core.job.JobContainer.initJobWriter(JobContainer.java:704)
at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:304)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113)
at com.alibaba.datax.core.Engine.start(Engine.java:92)
at com.alibaba.datax.core.Engine.entry(Engine.java:171)
at com.alibaba.datax.core.Engine.main(Engine.java:204)
Caused by: java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessageV3
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.calcite.avatica.remote.ProtobufTranslationImpl.(ProtobufTranslationImpl.java:145)
at org.apache.calcite.avatica.remote.Driver.createService(Driver.java:132)
at org.apache.calcite.avatica.remote.Driver.createMeta(Driver.java:97)
at org.apache.calcite.avatica.AvaticaConnection.(AvaticaConnection.java:121)
at org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection.(AvaticaJdbc41Factory.java:105)
at org.apache.calcite.avatica.AvaticaJdbc41Factory.newConnection(AvaticaJdbc41Factory.java:62)
at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:165)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at com.alibaba.datax.plugin.writer.hbase20xsqlwriter.HBase20xSQLHelper.getThinClientConnection(HBase20xSQLHelper.java:61)
... 8 more
Caused by: java.lang.ClassNotFoundException: com.google.protobuf.GeneratedMessageV3
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at plugin/writer/hbase20xsqlwriter/HBase20xSQLHelper.java:61 and its validateParameter call, where the Phoenix 5.0 connection fails while loading GeneratedMessageV3. Reproduce the hbase20xsqlwrite job and inspect the runtime dependencies; done means the QueryServer connection no longer fails with this missing-class error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100