重新安装了Apache Cassandra 3.7版
安装成功,我可以在没有任何问题的情况下访问cqlsh。
[dpmuser @ LOGDPM01 bin] $ cqlsh 在127.0.0.1:9042连接到测试群集。 [cqlsh 5.0.1 |卡桑德拉3.7 | CQL规范3.4.2 |原生协议v4]
但是当我尝试通过DataStax Cassandra客户端进行连接时,我遇到了NoHostAvailableException。
以下是我试过的示例代码
import com.datastax.driver.core.*;
public class DBHitTEst {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Session session = null;
Cluster cluster = Cluster.builder()
.addContactPoints("127.0.0.1").withPort(9042)
.build();
System.out.println("Connecting to cluster ...");
session = cluster.connect();
System.out.print("Connected !"+session);
}}
控制台中的异常如下所示。
SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。 连接群集...... 2017年8月10日上午7:58:23 io.netty.channel.ChannelInitializer channelRegistered 警告:无法初始化通道。结束:[id:0x7d2724c5] java.lang.NoSuchMethodError:io.netty.util.AttributeKey.valueOf(Ljava / lang / String;)Lio / netty / util / AttributeKey; 在com.datastax.driver.core.Message。(Message.java:39) 在com.datastax.driver.core.Connection $ Initializer.initChannel(Connection.java:1425) 。 。 。 线程“main”中的异常com.datastax.driver.core.exceptions。 NoHostAvailableException :所有尝试查询的主机都失败了(尝试:/127.0.0.1:9042(com.datastax.driver。 core.exceptions.TransportException:[/ 127.0.0.1:9042]无法连接)) 在com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:232) 在com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster $ Manager.negotiateProtocolVersionAndConnect(Cluster.java:1600) 在com.datastax.driver.core.Cluster $ Manager.init(Cluster.java:1518) 在com.datastax.driver.core.Cluster.init(Cluster.java:159) at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:330) 在com.datastax.driver.core.Cluster.connectAsync(Cluster.java:305) 在com.datastax.driver.core.Cluster.connect(Cluster.java:247) 在com.cassandra.db.executables.DBHitTEst.main(DBHitTEst.java:14)
图书馆参考
cassandra-driver-core-3.3.0.jar
guava-23.0.jar
log4j-api-2.8.2.jar
metrics-core-3.0.2.jar
netty-all-4.0.9.Final.jar
slf4j-api-1.7.25.jar
重要的配置是cassandra.yaml
start_rpc: false
start_native_transport: true
native_transport_port: 9042
rpc_address: localhost
rpc_port: 9160
listen_address: localhost
seeds: "127.0.0.1"
其他系统详情
[dpmuser@LOGDPM01 conf]$ hostname
LOGDPM01
[dpmuser@LOGDPM01 conf]$ more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[dpmuser@LOGDPM01 conf]$ ping LOGDPM01
PING LOGDPM01 (10.0.2.15) 56(84) bytes of data.
64 bytes from LOGDPM01 (10.0.2.15): icmp_seq=1 ttl=64 time=0.055 ms
运行centos VM.Kindly让我知道我错在哪里?
答案 0 :(得分:0)
图书馆不匹配正在抛出我在控制台中发现的警告。
警告:无法初始化频道。结束:[id:0x7d2724c5] java.lang.NoSuchMethodError:io.netty.util.AttributeKey.valueOf(Ljava / lang / String;)Lio / netty / util / AttributeKey; at com.datastax.driver.core.Message。(Message.java:39)at com.datastax.driver.core.Connection $ Initializer.initChannel(Connection.java:1425)。 。 。
从Cassandra安装的lib文件夹中选择正确的库时,直接对问题进行了排序。