檢視叢集資訊以及鍵空間:

1. 建立keyspace:
CREATE KEYSPACE testwuz WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
您可以通過查詢系統鍵空間來驗證keyspace的durable_writes屬性是否設定為false。此查詢提供了所有KeySpaces及其屬性。
SELECT * FROM system.schema_keyspaces;
2. 使用Keyspace
您可以使用關鍵字USE使用建立的KeySpace。其文法如下:
3. 使用Java API建立一個Keyspace
package com.star.cassandra;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
/**
* @Description: TODO(這裡用一句話描述這個類的作用)
* @author: wuzhan
* @date: 2018年3月27日 上午11:52:55
*/
public class Create_KeySpace {
/**
* @Description: TODO(這裡用一句話描述這個方法的作用)
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Query
String query = "CREATE KEYSPACE wuzna WITH replication "
+ "= {'class':'SimpleStrategy', 'replication_factor':1};";
//creating Cluster object
Cluster cluster = Cluster.builder().addContactPoint("192.168.117.37").build();
//Creating Session object
Session session = cluster.connect();
//Executing the query
session.execute(query);
//using the KeySpace
session.execute("USE wuzna");
System.out.println("Keyspace created");
}
}
4. 使用Cqlsh修改Keyspace
例如:ALTER KEYSPACE "wuzna" WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : '2'};
Durable_writes
使用此選項,可以訓示Cassandra是否對目前KeySpace的更新使用commitlog。此選項不是強制性的,預設情況下,它設定為true。
5. 使用Java API修改Keyspace
package com.star.cassandra;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
/**
* @Description: TODO(這裡用一句話描述這個類的作用)
* @author: wuzhan
* @date: 2018年3月27日 下午2:03:25
*/
public class Alter_KeySpace {
/**
* @Description: TODO(這裡用一句話描述這個方法的作用)
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Query
String query = "ALTER KEYSPACE wuzna WITH replication " + "= {'class':'NetworkTopologyStrategy', 'datacenter1':3}"
+ "AND DURABLE_WRITES = false;";
//Creating Cluster object
Cluster cluster = Cluster.builder().addContactPoint("192.168.117.37").build();
//Creating Session object
Session session = cluster.connect();
//Executing the query
session.execute(query);
System.out.println("Keyspace altered");
}
}
修改前:
修改後:
6. 使用Cqlsh删除鍵空間
可以使用指令DROP KEYSPACE删除KeySpace:
例如:drop keyspace wuzna;
同理可以使用Java API調用。