携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
1.1 Asadm
1.1.1 Info
通过该命令可以看出Aerospike集群的运行状态。
1.2 数据备份与恢复
流立方的数据全部存储在分布式缓存Aerospike中,Aerospike中数据的备份与恢复使用asbackup及asrestore这两个命令完成,使用这两个命令需要先安装aerospike-tools。
1.2.1 备份 asbackup
该命令既可以把集群中所有节点的数据一次性全部备份来,也可以只备份其中的某一个节点或若干个节点的数据。也可以通过参数指定备份数据的namespace和set。各参数的含义如下:
参数 | 含义 | 备注 |
---|---|---|
-h | 备份连接的Aerospike节点的IP | 默认127.0.0.1 |
-p | 备份连接的Aerospike节点的端口 | 默认3000 |
-n | 备份的namespace | 该参数必须设置 |
-s | 备份的set,默认备份指定namespace下的所有set | |
-d | 存储备份数据的目录 | 该参数必须设置 |
-r | 是否强制删除目录下的其他备份文件 | 默认不删除 |
-f | 备份任务的优先级0:自动,1:低,2:中,3:高 | 默认是0 |
-c | 在集群变动时,取消备份任务 | |
-x nobin | 不备份bin数据 | 一般不要设置 |
-B bin_list | 只备份指定的bin | |
-w | 并发备份的节点数 | 默认10 |
-l | 只备份指定的节点,格式为:<IP addr 1>:<port 1>[,<IP addr 2>:<port 2>[,...]] | 不可和-h、-p参数同时使用,使用-h、-p时,表示备份集群中所有节点的数据 |
更详细的信息可以使用asbackup --help查看
1.2.2 asrestore
该命令可以把由asbackup命令导出的数据导入Aerospike。
该命令的参数如下:
参数 | 含义 | 备注 |
---|---|---|
-h | 连接的Aerospike节点的IP | 默认127.0.0.1 |
-p | 连接的Aerospike节点的端口 | 默认3000 |
-n | 导入的namespace | 默认备份时的namespace |
-d | 存储备份数据的目录 | 该参数必须设置 |
-t | 导入数据的工作线程数 | 默认20 |
-u | 只导入缺失的record,已经存在的record不更新 | 默认更新存在的record |
-r | 替换已经存在的记录 | 默认不删除 |
-B bin_list | 只导入指定的bin | 默认导入所有 |
-g | 检查generation | 默认false,不检查 |
更详细的信息可以使用asrestore --help查看
1.2.3 示例
假设现在有一个3个Aerospike节点组成的集群,各节点的IP依次为192.168.235.131、192.168.235.132、192.168.235.133,端口号都是3000。存放数据的namespace为bsfit、set为frms。
1.2.3.1 每个节点各自备份与恢复
备份数据
备份192.168.235.131的数据:asbackup -d ./backup -n bsfit -s frms -l 192.168.235.131:3000 -r
备份192.168.235.132的数据:asbackup -d ./backup -n bsfit -s frms -l 192.168.235.131:3000 -r
备份192.168.235.133的数据:asbackup -d ./backup -n bsfit -s frms -l 192.168.235.131:3000 -r
恢复数据
恢复192.168.235.131的数据:asrestore -d backup -h 192.168.235.131 -p 3000 -n bsfit
恢复192.168.235.132的数据:asrestore -d backup -h 192.168.235.131 -p 3000 -n bsfit
恢复192.168.235.133的数据:asrestore -d backup -h 192.168.235.131 -p 3000 -n bsfit
注:恢复数据时,-h和-p参数只需要指定集群中任意节点的地址及端口即可。
1.2.3.2 集群统一备份与恢复
备份数据
执行如下命令:asbackup -d ./backup -n bsfit -s frms -h 192.168.235.131 -p 3000 -r。当然也可以使用-l参数指定集群中的所有节点,如:asbackup -d ./backup -n bsfit -s frms -l 192.168.235.131:3000,192.168.235.132:3000,192.168.235.133:3000 -r
恢复数据
asrestore -d backup -h 192.168.235.131 -p 3000 -n bsfit