Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

/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的系统上的备份/恢复

...