...
/run_full_trafodion_backup.sh脚本执行所有trafodion表的完全脱机备份,并将备份文件复制到HDFS。
使用该脚本的命令如下所示:
./run_full_trafodion_backup.sh -b backup_folder -u trafodion_user -h HBase_user -d hdfs_user -m mappers -n
其中:
-b backup_folder
(可选)所有的Trafodion对象导出并保存于HDFS路径
...
hdfs://<host>:<port>/trafodion-backlups/backup_<timestamp> and unless -n
指示用户会被询问是否确认生成的
路径的使用。
-u trafodion 用户
(可选)在Trafodion服务器运行的用户。如果没有提供,而且
...
trafodion用户‘trafodion'。若回答为yes,则
使用默认的trafodion用户,否则脚本退出。
-h hbase 用户
(可选)在HBase服务器运行的用户。如果没有提供,脚本
...
的HBase用户 'hbase'。除非指定-n 选项,则会要求用户
确认之后的选择。
-d hdfs 用户
(可选)在HDFS服务器运行的用户。如果没有提供,脚本
...
的HDFS用户 'hdfs'。除非指定-n 选项,则会要求用户
确认之后的选择。
-m mappers
(可选)mappers的数目,默认为2.
-n
(可选)非交互模式。使用此选项,脚本不会提示
用户确认使用的计算或默认值参数,
...
./run_full_trafodion_restore.sh脚本从HDFS执行所有的trafodion表的完全脱机还原。
使用该脚本的命令如下所示:
./run_full_trafodion_restore.sh -b backup_folder -b backup_dir -u trafodion_user -h hbase_user -m mappers -n
其中:
-b backup_folder
(非可选)HDFS路径,所有的Trafodion对象导出并保存于此,
而HDFS路径需有特定的格式,如:hdfs://<host>:<port>/<folder>/...
-u trafodion 用户
(可选)在Trafodion服务器运行的用户。如果没有提供,而且
...
trafodion用户‘trafodion'。若回答为yes,则
使用默认的trafodion用户,否则脚本退出。
-h hbase 用户
(可选)在HBase服务器运行的用户。如果没有提供,脚本
...
的HBase用户 'hbase'。除非指定-n 选项,则会要求用户
确认之后的选择。
-d hdfs 用户
(可选)在HDFS服务器运行的用户。如果没有提供,脚本
...
的HDFS用户 'hdfs'。除非指定-n 选项,则会要求用户
确认之后的选择。
-m mappers
(可选)mappers的数目,默认为2.
-n
(可选)非交互模式。使用此选项,脚本不会提示
用户确认使用的计算或默认值参数,
...
在Cloudera或者Hortonworks的集群上执行备份。我们可以:
./run_full_trafodion_backup.sh -b hdfs://<host>:8020/bulkload/backup -m 16
其中,hdfs://<host>:8020/bulkload/backup是此示例中我们希望备份快照存在的hdfs地址。
...
在Cloudera和Horton Works distributions上执行还原。 可以这样:
./run_full_trafodion_restore.sh -b /bulkload/backup -m 4
在开发工作站上备份还原
关于ExportSnapshot在开发环境中的工作,我们需要从$MY_SQROOT/sql/local_hadoop/hbase/lib 目录下复制几个jar文件。否则当运行ExportSnapshot MapReduce作业时,会得到异常错误。这些措施表明,在工作站上测试时,可能有其他的方式来避免异常。
在shell窗口中,当sqenv.sh初始化后,我们需要在执行备份或还原之前执行下面的命令。
cd $MY_SQROOT/sql/local_hadoop
cp ./hadoop-2.4.0/share/hadoop/yarn/*.jar ./hbase/lib
cp ./hadoop-2.4.0/share/hadoop/mapreduce/hadoop-mapreduce-client*.jar ./hbase/lib/
在开发环境中实行备份,我们首先需要确定hdfs的端口(工作站不总是使用标准端口)。我们可以从位于$MY_SQROOT/sql/local_hadoop/hadoop/etc/hadoop/的core-site.xm的配置文件中找到端口号。在此示例中,端口号是28400:
bash-4.1$ cat $MY_SQROOT/sql/local_hadoop/hadoop/etc/hadoop/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:28400</value>
</property>
备份
使用上面的端口号来备份,命令是:
./run_full_trafodion_backup.sh -b hdfs://localhost:<port-number>/bulkload/backup -m 4
还原
执行还原:
run_full_trafodion_restore.sh -b hdfs://localhost:<port-number>/bulkload/backup -m 4
测试
目前为止进行的测试用例包括:
拥有HBase 0.98的系统上的备份/恢复
...