1、org.apache.hadoop.security.AccessControlException: Permission denied: user=root…
解决方法:关闭Hadoop,在hdfs-site.xml文件中添加:
dfs.permissionsfalse
然后重新格式化:hdfs namenode -format
,每次格式化时最好把datanode、namenode和tmp目录下的文件删掉,避免出现一些ClusterId之类的问题
最后重启Hadoop
2、org.apache.hadoop.ipc.RemoteException(java.io.IOException): File…
hadoop namenode -format
格式化时格式化了多次造成ClusterId不一致等问题
解决方法:关闭Hadoop -> 把datanode、namenode和tmp目录下的文件删掉 -> 重新格式化 -> 重启Hadoop
3、Windows环境下Hadoop启动错误“系统找不到指定的批标签 – resourcemanager”
文件编码问题。
使用Notepad++
, 对相关的*.cmd
文件(这里是yarn.cmd)做如下操作 Edit(编辑)
-> EOL Conversion(文档格式转换)
-> Windows Format(转为Windows)
,保存并在hadoop的sbin目录下重新管理员运行start-all.cmd
,可以看到resourcemanager成功运行。
4、java.net.BindException: Problem binding to [localhost:9000] java.net.BindException: Address already in use…
意思是端口被占用,解决方法:
使用命令:
netstat -ano |findstr “post_number”
查看端口是否被占用
如果被占用,使用
tastkill /f /t /im 进程
。以java.exe为例:tastkill /f /t /im java.exe
如果未被占用,去查四个配置文件,看是否存在不同参数配置的端口一样。如果一样就将其改成不同端口。
5、org.apache.hadoop.io.nativeio.NativeIO$Windows…
bin文件是否已替代或hadoop.dll是否复杂到C:\Windows\System32下
请看解决方案的【3、替换和转移】