【问题标题】:org.jboss.netty.channel.ChannelPipelineException: Failed to initialize a pipelineorg.jboss.netty.channel.ChannelPipelineException:初始化管道失败
【发布时间】:2021-04-26 17:04:10
【问题描述】:

我有一个使用 Java 驱动程序连接到 Cassandra 的应用程序,获取一些配置并根据结果生成并执行一些 PIG 脚本。

现在,当 PIG 所需的 jar 不在类路径中时,我能够成功连接到 Cassandra。同样,当我没有使用 java 驱动程序连接到 Cassandra 来检索配置时,我可以使用整个 DSE 堆栈启动 PigServer 类并执行脚本/语句。

当我同时使用它们时,我得到以下异常:

org.jboss.netty.channel.ChannelPipelineException: Failed to initialize a pipeline.
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:181)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:570)
        ... 35 more
Caused by: org.jboss.netty.channel.ChannelPipelineException: Failed to initialize a pipeline.
        at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:208)
        at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
        at com.datastax.driver.core.Connection.<init>(Connection.java:100)
        at com.datastax.driver.core.Connection.<init>(Connection.java:51)
        at com.datastax.driver.core.Connection$Factory.open(Connection.java:376)
        at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:207)
        at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:170)
        at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:87)
        at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:576)
        at com.datastax.driver.core.Cluster$Manager.access$100(Cluster.java:520)
        at com.datastax.driver.core.Cluster.<init>(Cluster.java:67)
        at com.datastax.driver.core.Cluster.buildFrom(Cluster.java:94)
        at com.datastax.driver.core.Cluster$Builder.build(Cluster.java:501)

我看到其他人也看到过类似的异常,但是当尝试从 MapReduce 任务执行 Cassandra 语句时,我的情况并非如此: https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-driver-user/FhW_8e4FyAI http://www.datastax.com/dev/blog/the-native-cql-java-driver-goes-ga#comment-297187

谢谢!

【问题讨论】:

    标签: datastax-enterprise datastax-java-driver


    【解决方案1】:

    DSE 堆栈通过不同于 Cassandra Java 驱动程序的 thrift API 连接到 Cassandra。

    在解决 CASSANDRA-6311 之前,您不能将 Cassandra Java 驱动程序用于 Pig/Hadoop。

    【讨论】:

    • 我不在 Pig / Hadoop Map Reduce Job 中使用 Cassandra Java 驱动程序。我只在实际启动 Hadoop 作业之前使用它。我说 thrift 和 Java Driver 不能在同一个 JVM 下使用,我说得对吗?
    • DSE hive classpath 的 netty lib 版本与 cassandra 不同,您可能需要在将 DSE classpath 添加到应用程序时将其删除。
    【解决方案2】:

    如果您使用证书,可能存在安全证书错误/安全证书过期问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      • 2016-03-25
      • 2012-11-17
      • 2017-12-10
      • 2018-09-17
      • 1970-01-01
      相关资源
      最近更新 更多