用于备份和还原的 Hadoop 配置

如果您的 Vertica 群集使用 HDFS 上的存储位置,并且您希望能够使用 vbr 备份和还原这些存储位置,则必须在 HDFS 中启用快照。

Vertica 备份脚本使用 HDFS 的快照功能创建 HDFS 存储位置备份。在 HDFS 可以生成快照之前,目录必须允许快照功能。只有 Hadoop 超级用户可以启用目录上的快照功能。如果数据库管理员同样是 Hadoop 超级用户,则 Vertica 可以自动启用快照功能。

如果 HDFS 不安全,以下说明适用于数据库管理员帐户,通常为 dbadmin。如果 HDFS 使用 Kerberos 安全性,以下说明适用于 Vertica keytab 文件中存储的主体,通常为 vertica。下面的说明使用“数据库帐户”一词指代此用户。

我们建议您让数据库管理员或主体成为 Hadoop 超级用户。如果您无法做到这一点,则必须先启用目录上的快照功能,然后再对其进行配置,以供 Vertica 使用。

让 Vertica 数据库管理员帐户成为超级用户所需执行的步骤取决于您正在使用的 Hadoop 发行版。有关详细信息,请查阅 Hadoop 发行版的文档。

手动启用目录的快照功能

如果不能向数据库帐户授予超级用户身份,您可以转而手动启用各个目录的快照功能。请使用以下命令:

$ hdfs dfsadmin -allowSnapshot path

针对每个节点上的每个目录发出此命令。每当您将新节点添加到 HDFS 群集时,请记得执行此操作。

可生成快照的嵌套目录不受支持,因此您无法通过启用父目录的快照功能来自动启用子目录的快照功能。而必须为每个目录分别启用该功能。

Kerberos 的附加要求

如果 HDFS 使用 Kerberos,那么除了授予 keytab 主体访问权限以外,您还必须授予 Vertica 对某些 Hadoop 配置文件的访问权限。请参阅配置 Kerberos

测试数据库帐户使 HDFS 目录可生成快照的能力

使数据库帐户成为 Hadoop 超级用户后,验证该帐户能否将目录设置为可生成快照:

  1. 以数据库帐户的身份(默认为 dbadmin)登录到 Hadoop 群集。

  2. 在 HDFS 中确定一个可供数据库管理员创建目录的位置。通常情况下,可以使用 /tmp 目录。使用以下命令创建一个测试 HDFS 目录:

    $ hdfs dfs -mkdir /path/testdir
    
  3. 使用以下命令使测试目录可以生成快照:

    $ hdfs dfsadmin -allowSnapshot /path/testdir
    

下面的示例演示了如何创建 HDFS 目录并使其可以生成快照:

$ hdfs dfs -mkdir /tmp/snaptest
$ hdfs dfsadmin -allowSnapshot /tmp/snaptest
Allowing snaphot on /tmp/snaptest succeeded