HDFS操作之客户端NFS
1、在NAMENODE节点配置NFS
(1)配置core-site.xml
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
<description>*表示允许hadoop用户代理其他用户</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
<description>*表示允许代理任意服务器的请求</description>
</property>
(2)配置hdfs-site.xml
<property>
<name>nfs.superuser</name>
<value>hadoop</value>
<description>NFS操作HDFS系统所用的超级用户</description>
</property>
<property>
<name>nfs.dump.dir</name>
<value>/tmp/.hdfs-nfs</value>
<description>NFS接收数据上传时使用的临时目录</description>
</property>
<property>
<name>nfs.exports.allowed.hosts</name>
<value>192.168.100.1 rw</value>
<description>NFS允许连接的客户端IP和权限,IP部分或整体可以以*代替;此处的ip为虚拟机网卡IP</description>
</property>
2、启动NFS功能
(1)将core-site.xml文件以及hdfs-site.xml文件拷贝到其他datanode节点
(2)重启HDFS集群
stop-dfs.sh
start-dfs.sh
(3)停止系统的NFS相关进程;此处以CentOS7.6操作系统为例
systemctl stop nfs
systemctl disable nfs
yum remove -y rpcbind #卸载系统自带的rpcbind,此处不卸载如果单纯的停止会被其他服务拉起来
(4)启动portmap,hdfs自带的rpcbind功能,且必须以root用户启动
hdfs --daemon start portmap
(5)启动NFS,hdfs自带的NFS功能,必须以hadoop用户启动
hdfs --daemon start nfs3
3、检查NFS功能是否正常,此操作在其他的datanode上执行
rpcinfo -p ${NAMENODE_NAME} #此处的 ${NAMENODE} 为namenode 主机名,有mounted和nfs出现说明正常
showmount -e ${NAMENODE_NAME} #输入该条命令之后会显示:/${IP},该值为虚拟网卡IP
3、Windows开启NFS功能
控制面板 -> 程序 -> 启动或关闭Windows功能 -> NFS服务
4、在Windows挂载HDFS文件系统
(1)在Windows命令提示符输入以下命令
net use Z:\\${NAMENODE_IP}\! #Z表示盘符
完成之后就能在文件管理器中看到盘符为Z的网络位置;支持就可以进行上传、下载、删除、改名、追加文本操作等