在规划与准备使用 AnyBackup备份Hadoop分布式文件系统定时备份恢复前,为防止操作被中断,建议您提前收集好后续操作要使用的Hadoop集群信息。
收集Hadoop分布式文件系统集群信息前,请参考【Hadoop分布式文件系统环境检查】以及【Kerberos认证环境下Hadoop集群获取keytab文件】,确认如下前置条件是否满足:
-
确认HDFS集群相关服务已开启且未处于安全模式。
-
能够在需要安装AnyBackup客户端的终端上访问Hadoop分布式文件系统。
-
若Hadoop分布式文件系统环境开启kerberos认证,则需获取kerberos认证用户名和密码或者keytab文件。
下方Hadoop分布式文件系统集群信息收集表中,信息项1-5为AnyBackup客户端软件安装部署时需要输入的信息,为后续创建Hadoop虚拟客户端做铺垫。信息项6-10为添加Hadoop虚拟客户端时所需要输入的信息,目的是为了与Hadoop虚拟客户端通信,为后续操作Hadoop分布式文件系统的备份和恢复做铺垫。
Hadoop分布式文件系统集群信息收集表
编号 | 信息项 | 获取方式及说明 |
---|---|---|
1 | Hadoop native library path | libhdfs.so文件所在目录。libhdfs.so 是HDFS的客户端库,它提供了一组 C 语言的 API,用于与 HDFS 进行交互,对 HDFS 的读写操作需要用到这个动态链接库。 可参考如下命令获取: find / -name libhdfs.so 建议缩小搜索范围,一般在hadoop安装目录内。 |
2 | the jvm library path | libjvm.so文件所在目录。libjvm.so 是 Java 虚拟机(JVM)的共享库,包含了 Java 运行时环境所需的一些核心函数和类。需要调用 Java 代码时,就需要链接到 libjvm.so。 可参考如下命令获取: find / -name libjvm.so 建议缩小搜索范围,一般在jdk安装目录内。 |
3 | the absolute path of file krb5.conf | krb5.conf是Kerberos的客户端配置文件。若HDFS集群开启Kerberos认证,需填写krb5.conf文件的绝对路径。Kerberos认证时需要从此配置文件加载参数。 可参考如下命令获取: find / -name krb5.conf 建议缩小搜索范围,一般krb5.conf文件路径默认在 /etc 下。 |
4 | the kinit bin file path | 若HDFS集群开启Kerberos认证,还需填写kinit bin文件所在目录。 可参考如下命令获取: find / -name kinit 建议缩小搜索范围,一般默认在 /usr/bin 下。 |
5 | Hadoop bin file path | hadoop bin文件所在目录。 可参考如下命令获取: find / -name hadoop 建议缩小搜索范围,一般在hadoop安装目录内。 |
6 | NameNode IP+端口号 连接固定NameNode管理的HDFS (与HDFS URL二选一即可) |
fs.defaultFS或dfs.namenode.servicerpc-address配置项中获取。
|
7 | HDFS URL 连接指定集群的HDFS。 选择HDFS URL方式可避免NameNode主备切换引起的备份恢复失败问题。 |
HDFS的fs.defaultFS配置项。 默认为default,会自动读取本地配置文件中的URL,备份本地集群数据时建议保持默认值。 具体查询方法可参考下方【Hadoop集群fs.defaultFs配置项查询】 |
8 | 用户名 连接HDFS时使用的用户名。 备份恢复HDFS目录需要用户有对应目录的读写权限,使用HDFS管理员账户可避免很多权限问题。 |
联系管理员获取 测试环境可自行创建用户 |
9 | HDFS客户端 | HDFS客户端是指安装了AnyBackup客户端软件的客户端,详见安装客户端。建议HDFS客户端选择DataNode节点并提高客户端数量能有效提升备份效率。 |
10 | keytab路径 HDFS客户端上对应的HDFS用户的keytab文件全路径(只有开启Kerberos认证的Hadoop集群需要填写该配置项) |
使用kinit命令认证生成,详见下方【Kerberos认证环境下Hadoop集群获取keytab文件】 |
Hadoop集群NameNode端口号查询
Apache Hadoop集群NameNode端口号查询
Apache Hadoop版本NameNode端口号默认为9000,可通过配置文件查看。
-
集群为单namenode时,查看Hadoop安装目录下配置文件core-site.xml的配置项fs.defaultFS。
fs.defaultFS配置项查询方法:
使用ssh登录客户端系统后台,输入
find / -type f -name core-site.xml
命令,找到HDFS的core-site.xml文件所在路径,获取core-site.xml文件中fs.defaultFS配置项。建议缩小搜索范围,一般在hadoop安装目录内。 -
集群为双namenode时,查看Hadoop安装目录下配置文件hdfs-site.xml的配置项dfs.namenode.rpc-address。
dfs.namenode.rpc-address配置项查询方法:
使用ssh登录客户端系统后台,输入
find / -type f -name hdfs-site.xml
命令,找到HDFS的hdfs-site.xml文件所在路径,获取hdfs-site.xml文件中的dfs.namenode.rpc-address配置项。建议缩小搜索范围,一般在hadoop安装目录内。
CDH集群NameNode端口号查询
CDH版本NameNode端口号默认为8022,可登陆Cloudera Manager管理界面,查看HDFS服务的配置dfs.namenode.servicerpc-address对应的值。
FusionInsight集群NameNode端口号查询
FusionInsight版本NameNode端口号默认为25006,可登陆FusionInsight Manager管理界面,查看HDFS服务的配置dfs.namenode.servicerpc.port对应的值。
TDH集群NameNode端口号查询
TDH版本NameNode端口号默认为8020,可登陆TDH管理界面,查看HDFS服务的配置namenode.rpc-port对应的值。
HDP集群NameNode端口号查询
HDP版本NameNode端口号默认为8020,可登陆Ambari管理界面,查看HDFS服务的配置dfs.namenode.rpc-port对应的值。
Hadoop集群fs.defaultFs配置项查询
若您希望通过HDFS URL方式创建虚拟客户端,需收集Hadoop集群fs.defaultFS配置项。
fs.defaultFS配置项查询方法:
使用ssh登录客户端系统后台,输入find / -type f -name core-site.xml
命令,找到HDFS的core-site.xml文件所在路径,获取core-site.xml文件中fs.defaultFS配置项。建议缩小搜索范围,一般在hadoop安装目录内。
HDFS URL即为fs.defaultFs配置项的值。
Kerberos认证环境下Hadoop集群获取keytab文件
Apache/CDH环境下keytab文件获取
测试环境中若需自行准备用户,可参考下面步骤创建用户,以
-
创建用户
在kadmin服务节点输入如下命令(其他节点需认证管理员账户后使用kadmin进行创建):
>
kadmin.local -q "addprinc
该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。 " -
导出keytab
使用keytab方式认证时需要导出keytab,在kadmin服务节点输入如下命令:
>
kadmin.local -q "ktadd -k /tmp/hdfs.keytab -norandkey
该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。 "注意:导出keytab时务必加上 -norandkey 参数,否则该用户会重新初始化密码,原有密码、keytab都将失效。
-
把用户加入supergroup
在Hadoop任意节点执行下面命令:
>
useradd hdfs
#创建linux同名用户>
groupadd supergroup
#创建supergroup组>
usermod -a -G supergroup hdfs
#把用户加入supergroup组>
hdfs dfsadmin –refreshUserToGroupsMappings
#HDFS刷新用户到组的映射
FusionInsight环境下keytab文件获取
FusionInsight单独封装了一套用户系统,需在管理界面创建用户。
-
添加角色
登录管理后台,依次点击系统 > 权限 > 角色 > 添加角色,输入角色名称,如hdfs_test,资源权限勾选HDFS组件的集群管理操作权限,点击确定。
-
添加用户
登录管理后台,依次点击系统 > 权限 > 用户 > 添加用户,输入用户名,根据需要选择人机或机机用户,并加入supergroup,如下图:
-
导出keytab
登录管理后台,依次点击系统 > 权限 > 用户,点击用户名后方的更多 > 下载认证凭据,选择集群,点击确定。待文件自动生成后指定保存位置,并妥善保管该文件。解压认证凭据文件后可以获取两个文件:krb5.conf文件包含认证服务连接信息,user.keytab文件包含用户认证信息。把凭据上传至客户端解压即可。
TDH环境下keytab文件获取
TDH集群可通过登录Transwarp Manager,选择主页 > Guardian > 角色,在需导出文件的角色所在行,点击服务链接链接,输入Guardian用户名和密码后进入Guardian主页,下载用户的keytab文件。
请确保导出的keytab文件能够认证成功,检验方法为shell客户端输入kinit -kt <keytab_path> <principal>
,若认证成功,则能够在客户端本地通过hdfs dfs -ls /
访问hdfs目录。