Проблема Pentaho с драйвером Cassandra datastax

#cassandra #pentaho #datastax #cassandra-driver

#cassandra #pentaho #datastax #cassandra-драйвер

Вопрос:

Я использую Pentaho 8.1 CE

когда я использую более 1 ввода Cassandra в Pentaho spoon, большую часть времени (~ 3 раза из 4) мы получаем следующую ошибку:

 java.lang.NoClassDefFoundError: io/netty/util/internal/TypeParameterMatcher
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.lang.Class.forName0(Native Method)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.lang.Class.forName(Class.java:348)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.util.internal.JavassistTypeParameterMatcherGenerator.generate(JavassistTypeParameterMatcherGenerator.java:62)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.util.internal.JavassistTypeParameterMatcherGenerator.generate(JavassistTypeParameterMatcherGenerator.java:54)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.util.internal.TypeParameterMatcher.get(TypeParameterMatcher.java:42)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.util.internal.TypeParameterMatcher.find(TypeParameterMatcher.java:78)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.channel.SimpleChannelInboundHandler.<init>(SimpleChannelInboundHandler.java:67)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at io.netty.channel.SimpleChannelInboundHandler.<init>(SimpleChannelInboundHandler.java:57)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Connection$Dispatcher.<init>(Connection.java:1017)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Connection.<init>(Connection.java:116)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Connection.<init>(Connection.java:128)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Connection$Factory.open(Connection.java:806)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:252)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:201)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Cluster$Manager.negotiateProtocolVersionAndConnect(Cluster.java:1619)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1537)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:399)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at org.pentaho.cassandra.driver.datastax.DriverConnection.getKeyspace(DriverConnection.java:152)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at org.pentaho.di.trans.steps.cassandrainput.CassandraInput.processRow(CassandraInput.java:156)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.lang.Thread.run(Thread.java:748)
2019/02/22 14:46:53 - Get cancel tickets.0 - Caused by: java.lang.ClassNotFoundException: io.netty.util.internal.TypeParameterMatcher
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
2019/02/22 14:46:53 - Get cancel tickets.0 -    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2019/02/22 14:46:53 - Get cancel tickets.0 -    ... 22 more
  

Кто-нибудь сталкивался с чем-то подобным?
Мы получаем это на нескольких рабочих станциях, включая платформы Windows и Mac.

Ответ №1:

Я обновил netty версию до 4.0.56.Final в pentaho-cassandra-plugin, и это устраняет эту проблему. Я протестировал это с pdi-ce-9.0 и работает нормально и с pdi-ce-8.1 (работает лучше, но иногда возникают проблемы).

Ответ №2:

Вы можете изменить библиотеку Cassandra в Pentaho:

 PATH:$Pentaho/design-tools/data-integration-8.1/plugins/pentaho-cassandra-plugin/lib
  

Я обновил netty* версию 4.0.44 до 4.1.25 на своем компьютере, после чего ошибка была исправлена.

Комментарии:

1. Я столкнулся с ошибкой, связанной с драйвером для компонента вывода cassandra в Pentaho. 2020/03/31 17:36:53 — Вывод Cassandra.0 — ОШИБКА (версия 9.0.0.0-423, сборка 9.0.0.0-423 от 2020-01-31 04.53.04 от buildguy): значение 0 типа class [B не соответствует ни одному типу CQL3 com.datastax.driver.core.exceptions. Исключение InvalidTypeException: значение 0 типа class [B не соответствует ни одному типу CQL3 com.datastax.driver.core.exceptions. Исключение CodecNotFoundException: кодек не найден для запрошенной операции: [ANY <-> [B]

Ответ №3:

Привет и спасибо за все ваши усилия. Я перепробовал все ваши подсказки, и они не сработали.

Наконец, мы обновили Pentaho CE до последней версии, и это решило проблему.

Еще раз спасибо!