更新时间:2024-11-29 GMT+08:00

使用loader-backup工具备份作业数据

操作场景

通过Loader WebUI或客户端工具loader-tool创建好作业后,可使用loader-backup工具进行数据备份。

  • 仅有数据导出的Loader作业才支持数据备份。
  • 此工具为Loder的内部接口,供上层组件HBase调用,只支持HDFS到SFTP的数据备份。

前提条件

完成了Loader客户端的安装与配置,具体操作请参见使用命令行运行Loader作业

操作步骤

  1. 使用安装客户端的用户登录客户端所在节点,具体操作请参见使用命令行运行Loader作业
  2. 执行以下命令,进入“backup.properties”文件所在目录。例如,Loader客户端安装目录为 “/opt/client/Loader/”。

    cd /opt/client/Loader/loader-tools-1.99.3/loader-backup/conf

  3. 执行以下命令,修改“backup.properties”文件的配置参数,参数具体说明如表1所示。

    vi backup.properties

    server.url = 10.0.0.1:21351,10.0.0.2:12000
    authentication.type = kerberos
    authentication.user =
    authentication.password=
    job.jobId = 1
    use.keytab = true
    client.principal = loader/hadoop
    client.keytab = /opt/client/conf/loader.keytab
    表1 配置参数说明

    配置参数

    说明

    示例

    server.url

    Loader服务的浮动IP地址和端口(21351)。

    为了兼容性,此处支持配置多个IP地址和端口,并以“,”进行分隔。其中第一个必须是Loader服务的浮动IP地址和端口(21351),其余的可根据业务需求配置。

    10.0.0.1:21351,10.0.0.2:12000

    authentication.type

    登录认证的方式。

    • “kerberos”,表示使用安全模式,进行Kerberos认证。Kerberos认证提供两种认证方式:密码和keytab文件。
    • “simple”,表示使用普通模式,不进行Kerberos认证。

    kerberos

    authentication.user

    普通模式或者使用密码认证方式时,登录使用的用户。

    keytab登录方式,则不需要设置该参数。

    bar

    authentication.password

    使用密码认证方式时,登录使用的用户密码。

    普通模式或者keytab登录方式,则不需要设置该参数。

    用户需要对密码加密,加密方法:

    1. 进入“encrypt_tool”所在目录。例如,Loader客户端安装目录为“/opt/hadoopclient/Loader”,则执行如下命令。

      cd /opt/hadoopclient/Loader/loader-tools-1.99.3

    2. 执行以下命令,对非加密密码进行加密。命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。

      ./encrypt_tool 未加密的密码

      得到加密后的密文,作为“authentication.password”的取值。

      说明:

      非加密密码中含有特殊字符时需要转义。例如,$符号属于特殊字符,可使用单引号进行转义;非加密密码中含有单引号时可用双引号进行转义,非加密密码中含有双引号应使用反斜杠\进行转义。可参考Shell的转义字符规则。

    -

    job.jobId

    需要执行数据备份的作业ID。

    作业ID可通过登录Loader webUI在已创建的作业查看。

    1

    use.keytab

    是否使用keytab方式登录。

    • true,表示使用keytab文件登录
    • false,表示使用密码登录。

    true

    client.principal

    使用keytab认证方式时,访问Loader服务的用户规则。

    普通模式或者密码登录方式,则不需要设置该参数。

    loader/hadoop

    client.keytab

    使用keytab认证方式登录时,使用的keytab文件所在目录。

    普通模式或者密码登录方式,则不需要设置该参数。

    /opt/client/conf/loader.keytab

  4. 执行以下命令,进入备份脚本“run.sh”所在目录。例如,Loader客户端安装目录为“/opt/hadoopclient/Loader”

    cd /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-backup

  5. 执行以下命令,运行备份脚本“run.sh”,进行Loader作业数据备份。系统将数据备份到作业的输出路径同一层目录。

    ./run.sh 备份数据的输入目录

    例如,备份数据的输入目录为“/user/hbase/”,作业的输出路径为/opt/client/sftp/sftp1,其中sftp1只起到一个占位符的作用。执行如下命令,数据将备份到/opt/client/sftp/hbase目录。

    ./run.sh /user/hbase/