• HDFS NFS Gateway


    NFS网关支持NFSv3,并允许将HDFS作为客户端本地文件系统进行挂载。目前,NFS Gateway支持并启用以下使用模式:

    • 用户可以通过NFSv3客户端兼容操作系统上的本地文件系统浏览HDFS文件系统。
    • 用户可以将文件从HDFS文件系统下载到其本地文件系统。
    • 用户可以将文件从本地文件系统直接上传到HDFS文件系统。
    • 用户可以通过挂载点将数据直接传输到HDFS。支持文件追加,但不支持随机写入。

    CDH部署NFS Gateway

    可以在data01.bigdata-heboan.com(192.168.48.129)上验证服务是否启动

    rpcinfo -p $nfs_server_ip

    现在找一台客户端机器(192.168.48.130)

    安装nfs

    yum install rpcbind nfs-utils  -y

    验证 HDFS命名空间是否已导入并可以挂载

    showmount -e $ nfs_server_ip

     挂载导出"/"

    目前NFS v3仅使用TCP作为传输协议。不支持NLM,因此需要mount选项“nolock”。强烈建议使用挂载选项“sync”,因为它可以最小化或避免重新排序的写入,从而产生更可预测的吞吐量。
    上载大文件时,不指定sync选项可能会导致不可靠的行为。建议使用硬装。这是因为,即使在客户端将所有数据发送到NFS网关之后,当NFS客户端内核重新排序写入时,可能需要额外的时间将NFS网关传输到HDFS。
    如果必须使用软安装,用户应该给它一个相对较长的超时(至少不低于主机上的默认超时)。

    用户可以挂载HDFS命名空间,如下所示

    mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync $server:/  $mount_point

    经过测试使用,  挂载到本地读写不受kerberos认证影响, 但是需注意用户权限。

    比如使用heboan用户对挂载的目录进行上传文件, 操作步骤如下:

    • 在hdfs 集群主机,ndfs客户端创建用户heboan(最好使用ldap,如 freeipa管理,这样可以确保uid一致,否则手动创建可能uid不一样,这个要注意)
    • 然后使用hdfs 创建/user/heboan   (hdfs dfs -mkdir /user/heboan     hdfs dfs -chown heboan:heboan /user/heboan)
    • 最后使用用户heboan登录nfs客户端,就可以对/data/user/heboan目录进行读写了
  • 相关阅读:
    Working with WordprocessingML documents (Open XML SDK)
    How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC
    Azure:Manage anonymous read access to containers and blobs
    Convert HTML to PDF with New Plugin
    location.replace() keeps the history under control
    On the nightmare that is JSON Dates. Plus, JSON.NET and ASP.NET Web API
    HTTP Modules versus ASP.NET MVC Action Filters
    解读ASP.NET 5 & MVC6系列(6):Middleware详解
    Content Negotiation in ASP.NET Web API
    Action Results in Web API 2
  • 原文地址:https://www.cnblogs.com/sellsa/p/11381569.html
Copyright © 2020-2023  润新知