首先申请开通机器间的访问权限
如:
源IP: 172.23.27.48 (实验机)
目标IP:172.23.64.0/23 (就是172.23.64.0~172.23.64.255;64整个网段)
目标端口:8020 50010 50020 50075
端口类型:TCP
8020是nn的RPC通信地址
50010是datanode 控制端口
50020 是datanode的RPC服务器地址和端口
50075 是 datanode的HTTP服务器和端口
首先48的机器需要同步目标IP的hadoop配置文件,
可以直接把conf文件夹拷贝过来。(.0/23任意一台即可)
<!-- 如果不想覆盖本地的hadoop的conf文件,可以做链接操作
拷贝一份hdfs集群中的任意一台机器的conf,我这里省事直接覆盖48机器的conf
链接命令:
alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.wangyin-M6 50
alternatives --set hadoop-conf /etc/hadoop/conf.wangyin-M6
alternatives --display hadoop-conf
说明:
alternatives --install <link> <name> <path> <priority>
-->
安装fuse:
yum install hadoop-hdfs-fuse
修改fstab文件:
查看一下:grep hadoop /etc/fstab
vim /etc/fstab
添加以下信息:
hadoop-fuse-dfs#dfs://m6-test /hdfs fuse usetrash,rw 0 0
其中m6-test为hdfs的nameservice
挂载
mount -a
查看
df -h
结果示例:
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 15G 4.4G 9.7G 32% /
tmpfs 3.6G 0 3.6G 0% /dev/shm
/dev/vda1 194M 28M 156M 16% /boot
/dev/vda4 141G 229M 134G 1% /export
fuse_dfs 1.1T 69G 1.1T 7% /hdfs
问题:
其间出现hdfs一直挂载不上问题,查看fuse的log又没有什么有用信息,还打印一些环境变量看不懂的东东,
偶尔想起是不是挂载所申请的内存资源不够呢?打开sysctl.conf文件,查看vm.overcommit_memory参数,
把参数值从严格的2改为0或1。再mount,成功挂载hdfs。