目录
使用NfS网关功能将HDFS挂载到本地系统
HDFS提供了基于NFS(Network File System)的插件,可以对外提供NFS网关,供其它系统挂载使用。 NFS 网关支持 NFSv3,并允许将 HDFS 作为客户机本地文件系统的一部分挂载,现在支持: 上传、下载、删除、追加内容
如下图,将HDFS挂载为Windows文件管理器的网络位置
配置NFS
配置HDFS需要配置如下内容: core-site.xml,新增配置项 以及 hdfs-site.xml,新增配置项 开启portmap、nfs3两个新进程 在node1进行如下操作
1. 在core-site.xml 内新增如下两项
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
项目: hadoop.proxyuser.hadoop.groups 值:* 允许hadoop用户代理任何其它用户组 项目:hadoop.proxyuser.hadoop.hosts 值:* 允许代理任意服务器的请求
2. 在hdfs-site.xml中新增如下项
<property>
<name>nfs.superuser</name>
<value>hadoop</value>
</property>
<property>
<name>nfs.dump.dir</name>
<value>/tmp/.hdfs-nfs</value>
</property>
<property>
<name>nfs.exports.allowed.hosts</name>
<value>192.168.88.1 rw</value>
</property>
nfs.suerpser:NFS操作HDFS系统,所使用的超级用户(hdfs的启动用户为超级用户) nfs.dump.dir:NFS接收数据上传时使用的临时目录 nfs.exports.allowed.hosts:NFS允许连接的客户端IP和权限,rw表示读写,IP整体或部分可以以*代替
启动NFS功能
1. 将配置好的core-site.xml和hdfs-site.xml分发到node2和node3
2. 重启Hadoop HDFS集群(先stop-dfs.sh,后start-dfs.sh)
3. 停止系统的NFS相关进程 a. systemctl stop nfs; systemctl disable nfs 关闭系统nfs并关闭其开机自启 b. yum remove -y rpcbind 卸载系统自带rpcbind
4. 启动portmap(HDFS自带的rpcbind功能)(必须以root执行):hdfs --daemon start portmap
5. 启动nfs(HDFS自带的nfs功能)(必须以hadoop用户执行):hdfs --daemon start nfs3
检查NFS是否正常
以下操作在node2或node3执行(因为node1卸载了rpcbind,缺少了必要的2个命令) 执行:rpcinfo -p node1,正常输出如下:
执行:showmount -e node1,可以看到 / 192.168.88.1
在Windows挂载HDFS文件系统
1. 开启Windows的NFS功能
如果嫌麻烦,可以去taobao,pdd上买。
2. 在Windows命令提示符(CMD)内输入:net use X: \\192.168.88.101\!
3. 完成后即可在文件管理器中看到盘符为X的网络位置
4. 点击右键客户断开连接