框架尺寸(352518912)大于最大长度(15728640)!运行sstableloader时出现异常

问题描述 投票:0回答:1

我正在尝试在不同网络上的两个群集之间迁移数据。港口:7001,7199,9046,9160在他们之间开放。但是港口:7000没有开放。当我运行sstableloader命令时,得到以下异常。

命令:

:/a/cassandra/bin# ./sstableloader -d 192.168.98.99/abc/cassandra/data/apps/ads-0fdd9ff0a7d711e89107ff9c3da22254

Error/Exception: 

Could not retrieve endpoint ranges:
org.apache.thrift.transport.TTransportException: Frame size (352518912) larger than max length (15728640)!
java.lang.RuntimeException: Could not retrieve endpoint ranges:
        at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:342)
        at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:156)
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:109)
Caused by: org.apache.thrift.transport.TTransportException: Frame size (352518912) larger than max length (15728640)!
        at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137)
        at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
        at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
        at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
        at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
        at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_describe_partitioner(Cassandra.java:1368)
        at org.apache.cassandra.thrift.Cassandra$Client.describe_partitioner(Cassandra.java:1356)
        at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:304)
        ... 2 more

在yaml文件中,thrift_framed_transport_size_in_mb:设置为15。所以我把它的值增加到40.即使在yaml文件中增加了thrift_framed_transport_size_in_mb:之后,我也遇到了同样的错误。

什么可以解决这个问题。有人可以帮我这个吗?

cassandra-2.1
1个回答
0
投票

这是安全集群上2.1.x sstableloader头痛的初始错误。

在我们的例子中,我们首先忘记添加:

-tf org.apache.cassandra.thrift.SSLTransportFactory

以及keystore / truststore params。

然后我们碰到了这个:

Cassandra sstableloader with ssl : PKIX error

然后它奏效了。这适用于启用节点间和客户端加密的群集

© www.soinside.com 2019 - 2024. All rights reserved.