简体   繁体   English

无法检索端点范围:java.lang.IllegalArgumentException

[英]Could not retrieve endpoint ranges: java.lang.IllegalArgumentException

I am tyring to load sstables to cassandra using sstableloader utility. 我打算使用sstableloader实用程序将sstables加载到cassandra。 But I am getting the following error. 但是我收到以下错误。

> java.lang.IllegalArgumentException
java.lang.RuntimeException: Could not retrieve endpoint ranges: 
    at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:338)
    at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:156)
    at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:106)
Caused by: java.lang.IllegalArgumentException
    at java.nio.Buffer.limit(Buffer.java:275)
    at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:543)
    at org.apache.cassandra.serializers.CollectionSerializer.readValue(CollectionSerializer.java:124)
    at org.apache.cassandra.serializers.MapSerializer.deserializeForNativeProtocol(MapSerializer.java:101)
    at org.apache.cassandra.serializers.MapSerializer.deserializeForNativeProtocol(MapSerializer.java:30)
    at org.apache.cassandra.serializers.CollectionSerializer.deserialize(CollectionSerializer.java:50)
    at org.apache.cassandra.db.marshal.AbstractType.compose(AbstractType.java:68)
    at org.apache.cassandra.cql3.UntypedResultSet$Row.getMap(UntypedResultSet.java:287)
    at org.apache.cassandra.config.CFMetaData.fromSchemaNoTriggers(CFMetaData.java:1824)
    at org.apache.cassandra.config.CFMetaData.fromThriftCqlRow(CFMetaData.java:1117)
    at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:330)
    ... 2 mor

the command I am using to load the sstable is 我用来加载sstable的命令是

$bin/sstableloader -d nodename -u username -pw password path/to/sstable/keyspacename/tablename

this was working a few days back .I am not sure whats changed and how to debug it ? 这在几天前就可以了。我不确定发生了什么更改以及如何对其进行调试? I am using datastax. 我正在使用datastax。 I am loading the sstable from the same node which is in the cluster.ie my source and destination node are same. 我正在从集群中的同一节点加载sstable。即,我的源节点和目标节点相同。 Has someone seen this error before ? 有人以前见过这个错误吗? Cassandra version : 2.1 Any Help is appreciated. Cassandra版本:2.1非常感谢您的帮助。

The exception in the stack trace comes from this piece of code: 堆栈跟踪中的异常来自以下代码:

    if (version >= Server.VERSION_3)
    {
        int size = input.getInt();
        if (size < 0)
            return null;

        return ByteBufferUtil.readBytes(input, size); // HERE !
    }

I'm wondering if you're loading sstables that have been generated by a Cassandra 2.1 or an older version .... Because the issue seems to be at the byte-encoding level. 我想知道您是否正在加载由Cassandra 2.1或更旧版本生成的sstables。...因为问题似乎在字节编码级别。

There is also a possibility that your SSTables are corrupted. 您的SSTables也可能已损坏。

How did you get those sstables ? 你是怎么得到这些稳定的? From a copy of another Cassandra instance ? 来自另一个Cassandra实例的副本? Generated by CQLSSTableWriter ? 由CQLSSTableWriter生成?

I had this problem again, so debugged it a little for the root cause. 我又遇到了这个问题,因此从根本上调试了一下。 The problem is if at any time you have altered your cassandra table by dropping some column. 问题是,是否在任何时候都通过删除某些列来更改了cassandra表。 it triggers a bug for sstableLoader. 它会触发sstableLoader的错误。 That why dropping the table and creating it again works. 这就是为什么删除表并再次创建它的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误:docker Spring 引导容器:java.lang.IllegalArgumentException:无法解析占位符“{CASSANDRA_HOST}”中的值 - ERROR :docker Spring boot container : java.lang.IllegalArgumentException: Could not resolve placeholder 'CASSANDRA_HOST' in value "${CASSANDRA_HOST}" Cassandra java.lang.IllegalArgumentException:getMetaData时显示文本 - Cassandra java.lang.IllegalArgumentException: text while getMetaData Java.lang.IllegalArgumentException:要求失败:在Double中找不到列 - Java.lang.IllegalArgumentException: requirement failed: Columns not found in Double 在Cassandra中查询表时,“ ServerError:java.lang.IllegalArgumentException:null”? - “ServerError: java.lang.IllegalArgumentException: null” when querying a table in Cassandra? 线程“ main”中的异常java.lang.IllegalArgumentException:location.city不是此元数据中定义的列 - Exception in thread “main” java.lang.IllegalArgumentException: location.city is not a column defined in this metadata 将 spark 连接到 cassandra,java.lang.IllegalArgumentException:帧长度应为正 - Connect spark to cassandra, java.lang.IllegalArgumentException: Frame length should be positive Spark Full Rdd joinWithCassandraTable java.lang.IllegalArgumentException:要求失败:行大小无效:代替 - Spark Full Rdd joinWithCassandraTable java.lang.IllegalArgumentException: requirement failed: Invalid row size: instead of java.lang.IllegalArgumentException:要么在除 Pageable 和 Sort 类型之外的所有参数上使用 @Param,要么根本不使用 - java.lang.IllegalArgumentException:Either use @Param on all parameters except Pageable and Sort typed once, or none at all Java Spark | cassandra插入期间发生UDT错误-java.lang.IllegalArgumentException:字段“ order_total”不存在 - Java Spark | UDT error during cassandra insert - java.lang.IllegalArgumentException: Field “order_total” does not exist 为什么在运行sstableloader时出现错误“无法检索端点范围”? - why I got error “Could not retrieve endpoint rangs” when I run sstableloader?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM