另有映象備份恢復能大粒度實現多keyspace備份功能,但需要相同的system_schema(元資料資訊),一般只在同一集群上操作。
一、檢視原始cassandra表
1、進入cqlsh
bin/cqlsh
2、檢視keyspace的mydb結構,複製並記錄最上方的keyspace建立語句
cqlsh> desc keyspaces mydb;
例:create keyspace mydb with replication = and durable_writes = true;
引數解釋:class:策略;replication_factor:複製因子
簡單策略:在乙個資料中心的情況下使用簡單的策略。 在這個策略中,第乙個副本被放置在所選擇的節點上,剩下的節點被放置在環的順時針方向,而不考慮機架或節點的位置。
網路拓撲策略:該策略用於多個資料中心。 在此策略中,您必須分別為每個資料中心提供複製因子。
複製因子:複製因子是放置在不同節點上的資料的副本數。 超過兩個複製因子是很好的獲得沒有單點故障。 所以3個以上是很好的複製因子。)
3、選擇keyspace
cqlsh> use mydb;
4、檢視表
cqlsh:mydb> desc tables;
5、檢視詳細建表語句,複製,記錄
cqlsh:mydb> desc user;
例:create table mydb.user (
id int primary key,
user_name text
) with bloom_filter_fp_chance = 0.01
and caching =
and comment = ''
and compaction =
and compression =
and crc_check_chance = 1.0
and dclocal_read_repair_chance = 0.1
and default_time_to_live = 0
and gc_grace_seconds = 864000
and max_index_interval = 2048
and memtable_flush_period_in_ms = 0
and min_index_interval = 128
and read_repair_chance = 0.0
and speculative_retry = '99percentile';
6、記錄資料總數用於檢測資料完整性
cqlsh:mydb> select count(*) from user;
二、資料匯出
1、把user表資料以csv的格式匯出為user.csv檔案(以系統目錄/root/user.csv為例)
cqlsh:mydb> copy mydb.userto '/root/user.csv';
三、系統檔案轉移
找到剛剛生成的user.csv檔案,複製到需要遷移的伺服器(如/root/user.csv)上
此過程略
四、資料匯入
1、在新集群中建立keyspaces和表,keyspace隨意,表結構必須與原集群保持一致,建立新keyspace(貼上之前複製的語句)
cqlsh> create keyspace mydb with replication = and durable_writes = true;
2、在新集群環境中建立新錶(貼上之前複製的建表語句)
cqlsh> create table mydb.user (
id int primary key,
user_name text
) with bloom_filter_fp_chance = 0.01
and caching =
and comment = ''
and compaction =
and compression =
and crc_check_chance = 1.0
and dclocal_read_repair_chance = 0.1
and default_time_to_live = 0
and gc_grace_seconds = 864000
and max_index_interval = 2048
and memtable_flush_period_in_ms = 0
and min_index_interval = 128
and read_repair_chance = 0.0
and speculative_retry = '99percentile';
3、將csv資料匯入user表
cqlsh> copy mydb.userfrom '/root/user.csv';
4、確認資料完整性
cqlsh> use mydb;
cqlsh:mydb> select count(*) from user;
5、刪除臨時產生的csv檔案
rm -rf /root/user.csv
cassandra關於集合型別的操作
舉例 create table test a int,b list,c set,d map,primary key a 插入使用下面的形式 insert into test a,b,c,d values 1,listtext1 listtext2 第一 list型別 增加元素 update test...
cassandra關於集合型別的操作
cassandra的幾種集合型別 list set map 增強了資料庫的表現力,這幾種資料型別用的很方便。我簡單總結了一下這幾種型別的使用方法。社會我二哥,人狠話不多,直奔主題 舉例 create table test a int,b list,c set,d map,primary key a ...
cassandra關於集合型別的操作
舉例 create table test a int,b list,c set,d map,primary key a 插入使用下面的形式 insert into test a,b,c,d values 1,listtext1 listtext2 第一 list型別 增加元素 update test...