图文:TBASE分布式数据库的自动全量备份配置(备份至HDFS分布式存储中)
TBase 是一款高扩展性、SQL 兼容度高(兼容绝大多数 PostgreSQL 语法以及大部分
Oracle 语法)、提供事务一致性功能支持、具备多级容灾能力以及多维度资源隔离能力
的高安全性的企业级数据库产品,TBase 在多个维度保证集群的容灾能力。其中采用强
同步复制来保证主从数据完全一致,保障主节点故障时数据无丢失;提供基于任意时间
点的恢复特性来防止误操作带来的数据丢失。
TBase 支持到 HDFS、COS 等文件系统,支持全量备份和增量备份,用户可以自
定义备份策略。并支持恢复到某一个时间点的能力。
接下来我们配置一下BASE 分布式数据库的自动全量备份,到腾讯云的COS对象存储产品
,启用TBASE的自动全量备份和XLOG增量备份功能。
本实验一共分为三部分:
1、创建HDFS分布式存储hadoop的配置和备份地址
2、配置tbase数据库各个节点的hadoop客户端
3、启用tbase的HDFS备份功能,并使其生效,定制备份策略和备份有效数据的份数
TBASE的部署一共三个CVM主机+HDFS一台DVM服务器
第一部分 创建HDFS分布式存储hadoop的配置和备份地址 下面配置在HDFS的CVM上配置
安装hadoop前工作,配置JDK环境变量
wget1 https://tasev2-1300276124.cos.ap-beijing.myqcloud.com/jdk-8u40-linux-x64.gz
tar -zxvf jdk-8u40-linux-x64.gz -C /usr/local/
vi /etc/bashrc
export JAVA_HOME=/usr/local/jdk1.8.0_40
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/bashrc
1.安装hdfs服务
1.1 下载hadoop
wget https://tasev2-1300276124.cos.ap-beijing.myqcloud.com/hadoop-3.3.0.tar.gz
1.2 解压hadoop
tar -zxvf hadoop-3.3.0.tar.gz -C /usr/local/
1.3 配置hadoop
--vi /usr/local/hadoop-3.3.0/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://172.21.32.18:9000</value>
</property>
</configuration>
--vi /usr/local/hadoop-3.3.0/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>/hd/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hd/dfs/data</value>
</property>
--vi /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_40
1.4 格式化namenode
mkdir -p /hd/dfs/{data,name}
hadoop namenode -format
1.5 启动hdfs
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
第二步:配置TBASE数据库的各个节点的hadoop的客户端程序 下列配置在TBASE的三个CVM服务器上配置
下列配置需要在tbase的所有DN,CN,GTM节点做hadoop客户端配置
1、linux上可直接从下列地址下载对应的jdk和hadoop包
安装hadoop前工作,配置JDK环境变量
wget1 https://tasev2-1300276124.cos.ap-beijing.myqcloud.com/jdk-8u40-linux-x64.gz
解压jdk包
tar -xvf jdk-8u40-linux-x64.gz -C /usr/local/
下载hadoop
wget https://tasev2-1300276124.cos.ap-beijing.myqcloud.com/hadoop-3.3.0.tar.gz
解压hadoop
tar -zxvf hadoop-3.3.0.tar.gz -C /usr/local/
2、配置hadoop客户的环境变量:使用root做配置
vi /etc/bashrc
export JAVA_HOME=/usr/local/jdk1.8.0_40
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使变量生效
source /etc/bashrc
3、配置hadoop客户端变量使用jdk
vi /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_40
第三步:配置并启用TBASE的HDFS的自动全量备份功能
HDFS全局设置选项如下:
配置操作如下:
1、菜单栏中查找 -->备份管理--->修改
2、使用xshell连接到tbase的各个节点,进行tbase的oss服务的重启应用
方法如下:
su - tbase
cd install/tbase_oss/tools/op/
sh stop.sh
sh start.sh
3、然后确认OSS的web页面中的确定按钮
4:完成HDFS全局的tbase的全量备份配置。
查看其状态如下:
原理以及配置总结:
TBASE的全量备份
TBase 数据库支持物理备份,物理备份一般是通过直接打包复制数据库的数据文件的方
式达到备份目的,备份环境和恢复环境必须是完全相同的。物理备份的备份和恢复速度
较快,且基于实例级恢复,在企业级大型业务系统中较多地使用物理备份。
关于自定义备份策略需要综合考虑的几点
TBase 可自定义备份策略,至少提供如下策略供用户选择
在什么时间(备份时间, 如下午 6:00; 备份间隔时间, 如每隔 2 天做一次全量备份) ;
以什么方式(如全备份或增量备份, 全量备份是采用物理备份) ;
存储在什么文件系统(如: HDFS、 COS 等) ;
需要存储多久(如需要将备份文件存储保留的副本份数)
全量备份和增量备份
TBase 可配置全量备份与增量备份,用户可以在控制台上点击调整。
全量备份
全量备份就是指对某一个时间点上实例的所有数据或应用进行的一个完全拷贝。
增量备份
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一
次相比增加和者被修改的文件。通常情况下,TBase 的增量备份随着全量备份一同开启。
由于硬件故障、灾难事故或者操作者误操作都有可能导致系统的数据丢失,数据的丢失
对生产系统是致命的,因此数据库的备份能力在应对灾难和事故时显得尤为重要,通常
数据库的备份分为:全量备份和增量备份(xlog 备份);全量备份一般是指备份数据库
的全部数据(除了运行日志和 xlog 之外的),全量备份通常是周期
性(一天,一周或者 N 天);增量备份是就是增量数据的备份,一般是通过 xlog 文件备份
实现,当数据库系统产生新的 xlog 文件后,系统将 xlog 文件备份到备份服务器上,增
量备份通常是实时的行为。根据数据库对数据安全性、可靠性、持久性的需求,TBase
数据库支持数据库自动备份,一键式恢复。相关备份数据文件可存储于分布式文件系统
HDFS、对象存储 COS、磁带库等。TBase 数据库实例将按策略把数据备份到数据库
冷备集群,数据库冷备集群不建议与数据库实例核心节点部署在同一物理机中,以提供
物理机容灾隔离。