Hodoop HDFS NFS GateWay 挂载到其它机器深入具体解释
0.前提有三台机器:
10.0.1.31 为Hadoop NameNode节点机器。
10.1.1.36为Hadoop DataNode节点机器。
10.1.111.13为非Hadoop机器。
眼下查到的资料里面显示HDFS NFS GateWay的挂载方式为:
參考:https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html
[root]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync localhost:/ /hdfs_y
1. 本机挂载方式正常。
參考:http://blog.csdn.net/laoyang360/article/details/50865025
下面完毕了Hdfs路径挂载到本地。
[root@WEB-W031 hdfsnew]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync 10.0.1.31:/ /hdfs_2
[root@WEB-W031 hdfsnew]#
[root@WEB-W031 hdfsnew]#
[root@WEB-W031 hdfsnew]#
[root@WEB-W031 hdfsnew]# cd /hdfs_2
[root@WEB-W031 hdfs_2]# ls -al
total 12
drwxr-xr-x 9 root 2584148964 288 Mar 16 16:30 .
drwxr-xr-x 34 root root 4096 Mar 17 10:02 ..
drwxr-xr-x 2 root 2584148964 64 Mar 16 15:01 dl
drwxr-xr-x 3 root 2584148964 96 Mar 16 16:23 input
drwxr-xr-x 2 root 2584148964 64 Mar 16 16:22 output
drwxr-xr-x 4 hadoop 2584148964 128 Mar 16 16:30 output2
drwxr-xr-x 4 root root 128 Mar 11 18:05 testing
drwxrwx--- 3 hadoop 2584148964 96 Mar 9 11:14 tmp
drwxr-xr-x 3 hadoop 2584148964 96 Mar 9 13:24 user
[root@WEB-W031 /]# mount
10.0.1.31:/ on /hdfsnew type nfs (rw,sync,nfsvers=3,proto=tcp,nolock,noacl,addr=10.0.1.31)
10.0.1.31:/ on /hdfs_2 type nfs (rw,sync,nfsvers=3,proto=tcp,nolock,noacl,addr=10.0.1.31)
採取直接挂载到其它机器文件夹的方式会报错:(不支持例如以下挂载。网上也没有相似的挂载方式)
[root@WEB-W031 hdfsnew]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync 10.0.1.31:/ 10.1.1.36:/hdfs_2
mount.nfs: Input/output error
2、【终于挂载方法】在Hadoop的DataNode节点挂载会ok(例如以下机器IP为10.1.1.36)
下面完毕了NameNode10.0.1.31节点挂载到DataNode节点。
[root@Processor036 hdfs36]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync 10.0.1.31:/ /hdfs_2
[root@Processor036 hdfs36]# cd /hdfs_2
[root@Processor036 hdfs_2]# ls -al
total 12
drwxr-xr-x 9 root 2584148964 288 Mar 16 16:30 .
drwxr-xr-x 33 root root 4096 Mar 17 10:02 ..
drwxr-xr-x 2 root 2584148964 64 Mar 16 15:01 dl
drwxr-xr-x 3 root 258
4148964 96 Mar 16 16:23 input
drwxr-xr-x 2 root 2584148964 64 Mar 16 16:22 output
drwxr-xr-x 4 hadoop 2584148964 128 Mar 16 16:30 output2
drwxr-xr-x 4 root root 128 Mar 11 18:05 testing
drwxrwx--- 3 hadoop 2584148964 96 Mar 9 11:14 tmp
drwxr-xr-x 3 hadoop 2584148964 96 Mar 9 13:24 user
3、在非Hadoop机器的另外机器上挂载方法同2
下面完毕了NameNode10.0.1.31节点挂载到非Hdaoop节点(10.1.111.13)。
[root@ 13]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync 10.0.1.31:/ /hdfs_13
4、怎样在非Hadoop的机器上操作Hadoop账号建立的文件?
初始10.1.111.13上面并没有hadoop用户,
所以:新建的文件的uid 和 gid会显示666(原有10.0.1.31上的hadoop账号的uid和gid)。
改动方法:
即:在机器10.1.111.13新建hadoop账户,并改动其uid和gid为666
方法一:
groupmod -g 666 hadoop //改动hadoop用户的gid为666
usermod -g 666 hadoop //改动hadoop用户的uid为666
方法二:
直接改动/etc/passwd 找到hadoop账号改动。
改动后:
[hadoop@etl02 hdfs_13]$ ls -al
drwxrwxr-x 3 hadoop hadoop 96 Mar 17 13:18 make_in_31
至此,三台机器都能够用hadoop账号读写文件。下面三行各自是在三台机器写入的。
[hadoop@WEB-W031 test22]$ cat test36
363633636363 //36机器写入
1313131313131313 //13机器写入
inni31_31_31_31 //31机器写入
反思:
本机挂载之前就搞定了,可是挂载到其它机器重复尝试了非常多方法, 后来回到原点,挂载本机的方法就能够挂载到其它机器。
非常有意思。
作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/50917665
假设感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!