我有一个使用 Java 驱动程序连接到 Cassandra 的应用程序,获取一些配置并根据结果生成并执行一些 PIG 脚本。
现在,当 PIG 所需的 jar 不在类路径中时,我能够成功连接到 Cassandra。同样,当我没有使用 java 驱动程序连接到 Cassandra 来检索配置时,我能够启动 PigServer 类并使用整个 DSE 堆栈执行脚本/语句。
当我同时使用它们时,我得到以下异常:
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
谢谢!