1.Hadoop本地開發,9000端口拒絕訪問
解決
將hosts中的主機名hadoop001指向0.0.0.0而不是127.0.0.1
原理參考博客: https://blog.csdn.net/yjc_1111/article/details/53817750
[hadoop@hadoop001 data]$ vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 127.0.0.1 hadoop001
0.0.0.0 hadoop001
2.外網無法訪問雲主機HDFS文件系統&外網無法訪問雲主機datanode
報錯:
Failed to connect to /127.0.0.1:50010 for block BP-***, add to deadNodes and continue.
解決辦法:
在hdfs-site.xml中增加dfs.datanode.use.datanode.hostname屬性,表示datanode之間的通信也通過域名方式。
在本地hdfs-site.xml中添加
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>true</value>
</property>
參考博文:https://my.oschina.net/gordonnemo/blog/3017724
3.京東雲修改Hostname,Centos7修改Hostname
使用命令 hostnamectl set-hostname 主機名主機名來修改,修改完畢後重新 SHELL 登錄即可。
# 修改hostname並退出
[root@JD ~]# hostnamectl set-hostname hadoop001
[root@JD ~]# exit
logout
# 再次登陸可以發現修改成功
Welcome to JDCLOUD Elastic Compute Service
[root@hadoop001 ~]#
參考:https://blog.csdn.net/SUDDEV/article/details/100069638
4.各版本winutils.exe和hadoop.dll下載
GitHub: https://github.com/4ttty/winutils
下載解壓,並將解壓的bin目錄配置到本地的%HADOOP_HOME%變量
如果還報錯再手動加載dll
static {
System.load("D:/Hadoop/hadoop-2.7.3/bin/hadoop.dll");
}