BROADSoftware.hdfs_modules
hdfs_modules
这个 Ansible 角色包含一组用于操作 HDFS(Hadoop 分布式文件系统)上文件和目录的模块。
hdfs_file: 相当于 Ansible 的 files/file 模块,但用于 HDFS。文档 在这里
hdfs_info: 相当于 Ansible 的 files/info 模块,但用于 HDFS。文档 在这里
hdfs_cmd: 相当于 Ansible 的 commands/command 模块,但用于 HDFS。文档 在这里
需求
这些模块需要在远程节点上安装 python-requests 包。
如果要访问受 Kerberos 保护的集群,还需要 python-requests-kerberos。
示例剧本
- hosts: edge_node1
roles:
- hdfs_modules
tasks:
# 创建一个目录(如果不存在的话)。
# 如果已经存在,调整所有者、组和权限(如果不同)。
- hdfs_file: hdfs_path=/user/joe/some_directory owner=joe group=users mode=0755 state=directory
# 如何将文件从目标主机的文件系统复制到 HDFS
- hdfs_cmd: cmd="sudo -u joe hdfs dfs -put /etc/services /user/joe/services" hdfs_creates=/user/joe/passwd1 uses_shell=True
# 并调整文件的所有者、组和权限
- hdfs_file: hdfs_path=/user/joe/passwd1 owner=joe group=users mode=0644
# 但是,使用 hdfs_put 来进行复制会更好
- hdfs_put: src=/etc/services hdfs_dest=/usr/joe/services owner=joe group=users mode=0644
# 也可以递归地复制文件夹
- hdfs_put: src=/etc/hadoop/conf/ hdfs_dest=/usr/joe/some_directory hdfs_user=joe
许可证
GNU GPL
点击 链接 查看完整文本。