Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可读字节不足-需要4个,最大值为0_Java_Hadoop_Cassandra_Database_Nosql - Fatal编程技术网

Java 可读字节不足-需要4个,最大值为0

Java 可读字节不足-需要4个,最大值为0,java,hadoop,cassandra,database,nosql,Java,Hadoop,Cassandra,Database,Nosql,连接到Cassandra数据库并创建键空间时,我遇到以下错误 线程“main”>com.datastax.driver.core.exceptions.NoHostAvailableException中的异常: 尝试查询的所有主机均失败(已尝试:/127.0.0.1:9042 (com.datastax.driver.core.ConnectionException:[/127.0.0.1:9042]传输初始化期间出现意外错误 (com.datastax.driver.core.Transpor

连接到Cassandra数据库并创建键空间时,我遇到以下错误

线程“main”>com.datastax.driver.core.exceptions.NoHostAvailableException中的异常:
尝试查询的所有主机均失败(已尝试:/127.0.0.1:9042
(com.datastax.driver.core.ConnectionException:[/127.0.0.1:9042]传输初始化期间出现意外错误
(com.datastax.driver.core.TransportException:[/127.0.0.1:9042]意外异常已触发(java.lang.IndexOutOfBoundsException:可读字节不足-需要4,最大值为0)))

这是我的代码:

package com.hadoop.reloaded.cassandra;

import com.datastax.driver.core.*;

public class CassandraOne {

    public static void main(String[] args){

        Cluster cluster1 = Cluster.builder().withPort(9042).addContactPoint("127.0.0.1").build();
        Session session = cluster1.connect();
        String query = "CREATE KEYSPACE test WITH replication "
                + "= {'class':'SimpleStrategy', 'replication_factor':1}; ";
        session.execute(query);
        session.execute("USE test");

    }
}
当我运行它时,会引发此异常:

Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: /127.0.0.1:9042 (
    com.datastax.driver.core.ConnectionException: [/127.0.0.1:9042] 
        Unexpected error during transport initialization (
            com.datastax.driver.core.TransportException: [/127.0.0.1:9042]
                Unexpected exception triggered (java.lang.IndexOutOfBoundsException: Not enough readable bytes - Need 4, maximum is 0))))

    at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:196)
    at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)
    at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104)
    at com.datastax.driver.core.Cluster.init(Cluster.java:121)
    at com.datastax.driver.core.Cluster.connect(Cluster.java:198)
    at com.hadoop.reloaded.cassandra.CassandraOne.main(CassandraOne.java:13)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
也许是编码问题


更多关于

的详细信息我猜您使用的是一个太旧的Datastax Java驱动程序版本。检查您是否正在运行3.0.0或更高版本,因为连接到Cassandra 3.X群集需要此版本。

在将驱动程序升级到
Cassandra-driver-core-3.0.3.jar之后,我遇到了同样的问题。
和这张照片一样性感。问题已经解决

您使用的是哪个版本的datastax java驱动程序,以及哪个版本的Cassandra?我使用的是java 1.8和Cassansdra 3.7版本