Keyspaceを新しく作る
Cassandraにはキースペースという概念がある.
それは言ってしまえばMySQLにおけるデータベースのようなものだ.
インストールした時点でKeyspace1というものが用意されているが,そのままずっと使うのも気持ち悪い.
そこで,新たなキースペースを作る.
初期設定
設定ファイルはstorage-conf.xmlで,こいつをひたすら編集する.
vi /etc/cassandra/storage-conf.xml
具体的には↓のような書き方をする.Keyspace1の設定を参考にしてみた.もっと詳しい情報はここを参照.
<Keyspace Name="MyKeyspace"> <!-- スーパーカラムあり & UTF-8と見なしてソート --> <ColumnFamily Name="Scores" ColumnType="Super" CompareWith="UTF8Type" CompareSubcolumnsWith="UTF8Type"/> <!-- レプリカ配置 (レプリカがデータセンター間にまたがる場合はRackUnawareStrategyで) --> <ReplicaPlacementStrategy>org.apache.cassandra.locator.RackAwareStrategy</ReplicaPlacementStrategy> <!-- レプリカ数 --> <ReplicationFactor>3</ReplicationFactor> <!-- よくわからない...レプリカが同一ラックにあればデフォルトでよさそう --> <EndPointSnitch>org.apache.cassandra.locator.EndPointSnitch</EndPointSnitch> </Keyspace>
動作確認
ファイルを保存したらCassandraを起動.
# サーバ起動 cassandra -f # 別ウィンドウでクライアントも起動しておく cassandra-cli -host localhost -port 9160
クライアントから認識されているか確認.
show keyspaces =>Keyspace1 system MyKeyspace describe keyspace MyKeyspace =>MyKeyspace.Scores Column Family Type: Super Columns Sorted By: org.apache.cassandra.db.marshal.UTF8Type@13d9460 Column Family Type: Super Column Sorted By: org.apache.cassandra.db.marshal.UTF8Type flush period: null minutes ------