2013-10-15 2 views
6

を認識していない、私はこのエラーを取得:thrift_max_message_length_in_mb私はカサンドラ-CLIを使用して行を照会しようとするとカサンドラ1.2.4に広い列を照会しようとすると問題がありますカサンドラ

フレームサイズ(75209759)拡大最大長よりも長い(15728640)! org.apache.thrift.transport.TTransportException:最大長(15728640)より大きいフレームサイズ(75209759)!

org.apache.thrift.transport.TFramedTransport.readでorg.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137) (TFramedTransport.java:101)で 私は次を変更しようとしましたCassandra.yamlにおける構成パラメータ:

# Frame size for thrift (maximum field length). 
thrift_framed_transport_size_in_mb: 1024 

# The max length of a thrift message, including all fields and 
# internal thrift overhead. 
thrift_max_message_length_in_mb: 1048 

しかし、私はCassandraのCLIを使用して行を照会しようとしたとき、私は同じエラーを得ました。

私がログにcassndraを起動表示されます。

INFO 14:48:34,133 Using TFramedTransport with a max frame size of 1073741824 bytes. 
INFO 14:48:34,137 Using synchronous/threadpool thrift server on localhost : 9160 
INFO 14:48:34,137 Listening for thrift clients... 

しかし、カサンドラに変更が反映されていないCLI、それは我々が使用しているバージョンに問題がありますか?あなたの助けのための

おかげ

答えて

10

最大フレームサイズは、あまりにも、クライアント上で設定する必要があり、残念ながらそれはカサンドラ-cliを15 MBにハードコードされています。

通常、一度に大量のクエリを実行するよりも、ページングと小さなメッセージを使用する方がはるかに優れています。 1 GBのデータを取得できるようにするには、タイムアウトを大幅に増やす必要があり、これには他の副作用があります。

残念ながら、cassandra-cliは行の一部の取得をサポートしていません。 cqlshを使用し、ページングCQLクエリを使用するか、たとえばPythonコードを使用してPythonコードを書き込むことができます。 pycassaを使用して列をページングします。

+2

cassandra-cliクライアントのフレームサイズを設定する方法はありますか?このオンラインに関する情報は見つかりません。 – alecswan

関連する問題