4
csuser@lovelyserver01:~$ cqlsh --cql3 lovelyserver01
Connected to Lovely Cluster at lovelyserver01:9160.
[cqlsh 2.2.0 | Cassandra 1.1.1 | CQL spec 3.0.0 | Thrift protocol 19.32.0]
Use HELP for help.
cqlsh> CREATE KEYSPACE bigdata WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor=3;
cqlsh> USE bigdata;
cqlsh:bigdata> CREATE COLUMNFAMILY results (client_id int, hierarchy_id int, units int, measures int, PRIMARY KEY (client_id, hierarchy_id));

5〜5000行の数行を挿入します。これはおかしなことではありません。次に、列ファミリーのレイアウトを調整し、すべてのデータを再挿入する必要があることに気付きました。

cqlsh:bigdata> DROP COLUMNFAMILY results;

これは何もしません。エラーはありません。列ファミリーはまだ存在し、その列ファミリーからデータを選択できます。私はそれをさらに数回行い、それからそれはうまくいくようです。

次に、列ファミリーを再作成しようとすると、「TSocket read 0 bytes」を取得するたびに、cqlshセッションが役に立たなくなります。すべてのノードでcassandraデータディレクトリを削除すると、キースペースを再作成して再起動できます。当然、これにより開発はかなり遅くなりました。

5つの古いラップトップと10のAWSEC2インスタンスのクラスターでこれを試しました。

各ノードの初期トークンは、前の値の2倍です。各ノードのシードは、最初のノードになるように設定されます。Commitlogは同じデバイス上にあります。listen_addressとrpc_addressにホスト名を使用しています。

誰かが問題が何であるか知っていますか?

4

2 に答える 2

3

以下の組み合わせ:

  • cassandra 1.1.2 への更新 (1.1.1 から)
  • すべてのノードに NTP をインストールする
  • ファイル システムを ext4 にアップグレードする (ext3 から)

はこの問題を修正しました。

于 2012-07-12T15:50:16.230 に答える
0

そのファイル「log4j-server.properties」を編集しても問題は解決しなかったようです。

列ファミリーを再作成するには、すべてのマシンのデータを削除する必要があります。これは非常に迷惑です。

于 2012-06-14T14:29:37.677 に答える