查看集群信息以及键空间:
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调用。