zoukankan      html  css  js  c++  java
  • 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目录进行读写了
  • 相关阅读:
    密码-散乱的密文
    设置nginx服务器
    Postman设置authorization
    mongodb 学习笔记 1
    一道面试题,观察者模式
    laravel-admin form组件
    laravel-admin 管理平台获取当前登陆用户信息
    Laravel-admin安装富文本编辑器 WangEditor 上传图片到服务器,而不是按BASE64保存
    Laravel报错Whoops, looks like something went wrong 解决办法
    菜鸟用composer 安装项目依赖 vendor:当拿到一个Laravel项目时怎么配置本地环境
  • 原文地址:https://www.cnblogs.com/sellsa/p/11381569.html
Copyright © 2011-2022 走看看