Cassandra

sstableloader 返回java.lang.NumberFormatException:對於輸入字元串:“Filter.db”

  • July 7, 2016

我一直在使用 Java API 按照此站點上的說明創建 SSTable 。

該程序編譯並執行良好;沒有錯誤。

但是,當我嘗試使用以下命令載入表時,sstableloader -v -d 127.0.0.1 /path/to/sstable/keyspace/tablename它會返回錯誤。這是它輸出的堆棧跟踪:

For input string: "Filter.db"
java.lang.NumberFormatException: For input string: "Filter.db"
       at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
       at java.lang.Integer.parseInt(Integer.java:580)
       at java.lang.Integer.parseInt(Integer.java:615)
       at org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:276)
       at org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:235)
       at org.apache.cassandra.io.sstable.Component.fromFilename(Component.java:120)
       at org.apache.cassandra.io.sstable.SSTable.tryComponentFromFilename(SSTable.java:160)
       at org.apache.cassandra.io.sstable.SSTableLoader$1.accept(SSTableLoader.java:84)
       at java.io.File.list(File.java:1161)
       at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:78)
       at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:162)
       at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:109)

筆記

試圖Google它,但似乎沒有關於這個錯誤的任何內容。

我載入到的表只有三列:( id uuid PRIMARY KEY, datablob text, tablename text ).

我還嘗試載入空數據並自動生成一個 uuid 以檢查它是否不是我正在載入的數據,但它仍然不起作用。

我已通過將 Cassandra 升級到最新版本來解決此問題;我執行的是最新的 2.x 版本,現在它執行的是最新的 3.0.7 版本。

引用自:https://dba.stackexchange.com/questions/143128