温馨提示×

Ubuntu Hadoop 资源共享怎么设置

小樊
45
2026-01-03 10:36:01
栏目: 智能运维

Ubuntu Hadoop 资源共享设置

一、常见共享方式与适用场景

  • HDFS 内部共享目录:在 HDFS 上创建公共目录,设置合适的权限与所属组,供多用户/多应用读写。适合大多数业务数据共享与协同处理。
  • NFS 网关共享:启用 HDFS NFS Gateway,把 HDFS 以 NFS v3 形式挂载到 Ubuntu 本地或局域网主机,传统应用无需改造即可访问 HDFS。
  • Samba 共享:将 HDFS FUSE 挂载点(或任意目录)通过 Samba 暴露给 Windows 客户端,形成网络盘映射。适合跨平台文件共享。
  • VMware 主机-虚拟机共享文件夹:在 VMware 中开启共享文件夹,虚拟机内于 /mnt/hgfs 访问,用于主机与虚拟机之间的便捷文件交互(偏开发与调试)。

二、HDFS 内部共享目录(最常用)

  • 创建共享目录并设置权限(示例共享目录为 /shared):
    • 创建目录:hdfs dfs -mkdir -p /shared
    • 放宽权限(测试环境可用):hdfs dfs -chmod 777 /shared
    • 生产建议:创建业务组(如 hadoop),将用户加入该组,按组授权(示例:hdfs dfs -chown :hadoop /shared;hdfs dfs -chmod 775 /shared)
  • 多用户与权限要点:
    • 若遇到权限拒绝,可先在测试环境临时关闭权限检查:在 hdfs-site.xml 设置 dfs.permissions=false(生产环境不建议长期关闭)。
    • 远程/多用户提交作业时,HDFS 以本地系统用户身份鉴权,需确保提交用户在集群各节点存在并加入相应组(如 supergroup),必要时调整目录属组与权限,避免 AccessControlException

三、NFS 网关共享(HDFS 作为 NFS 挂载)

  • 服务端(Ubuntu 上运行 Hadoop 的节点)配置步骤:
    • 安装 NFS 服务:sudo apt-get install nfs-kernel-server
    • 编辑 /etc/exports,导出挂载点(示例为 /mnt/hdfs):/mnt/hdfs *(rw,sync,no_root_squash,no_subtree_check)
    • Hadoop 配置中开启 NFS 相关项(示例以用户 root 代理为例,生产请使用专用服务账号):
      • core-site.xml:
        • hadoop.proxyuser.root.groups*
        • hadoop.proxyuser.root.hostslocalhost
      • hdfs-site.xml(按需调整读写缓冲):
        • nfs.rtmax1048576
        • nfs.wtmax65536
        • nfs.exports.allowed.hosts* rw
    • 启动服务与网关:
      • 重启 RPC 与 NFS:sudo /etc/init.d/rpcbind restart;sudo /etc/init.d/nfs-kernel-server restart
      • 启动 Hadoop NFS 相关进程:sudo hdfs portmap &;sudo -u hdfs hdfs nfs3 &
      • 验证:showmount -e $(hostname)
    • 客户端挂载(示例):sudo mount -t nfs -o vers=3,proto=tcp,nolock $(hostname):/ /mnt/hdfs
  • 使用提示:
    • 建议通过 代理用户访问控制限制可挂载主机与可访问组,避免用 root 直接暴露;NFS v3 为无状态协议,挂载选项需与服务端 rtmax/wtmax 匹配以获得更好性能。

四、Samba 共享(让 Windows 访问 HDFS/FUSE 挂载点)

  • 适用场景:已用 HDFS FUSE 将 HDFS 挂载到本地目录(如 /mnt/hdfs),再通过 Samba 将该目录共享给 Windows 网络映射盘。
  • 快速配置步骤:
    • 安装 Samba:sudo apt-get install samba
    • 备份并编辑 /etc/samba/smb.conf,在末尾添加共享段(示例共享名为 Share,路径为 /mnt/hdfs):
      • [Share]
      • path = /mnt/hdfs
      • public = yes
      • writable = yes
      • valid users = your_smb_user
      • create mask = 0700
      • directory mask = 0700
    • 添加 Samba 用户:sudo smbpasswd -a your_smb_user
    • 校验与重启:testparm;sudo service smbd restart
    • Windows 访问:在资源管理器输入 \<Ubuntu_IP>\Share,使用上一步创建的用户登录即可映射为网络盘。

五、VMware 主机与虚拟机共享文件夹(开发与调试)

  • VMware Workstation/Player 中:虚拟机设置 → 选项 → 共享文件夹 → 选择“总是启用”,添加主机目录(如 D:\share),在虚拟机内访问 /mnt/hgfs/share
  • 典型用途:主机与虚拟机之间快速拷贝安装包、配置文件、数据集;也可配合脚本在虚拟机内将共享目录内容批量导入 HDFS(如 hdfs dfs -put /mnt/hgfs/share/data /input)。

0