问题1:Error: JAVA_HOME is incorrectly set.
一般是JAVA_HOME路径中有空格导致的,在目录etc\hadoop找到hadoop-env.cmd文件,把%JAVA_HOME%修改掉
问题2:Caused by: java.io.FileNotFoundException: Could not locate Hadoop executable: D:\MySoftware\hadoop-3.3.4
缺少winutils.exe,下载地址:https://gitee.com/fulsun/winutils-1
复制最新的3.2.1\bin下的文件到安装路径hadoop-3.3.4\bin下
问题3:
java.io.IOException: NameNode is not formatted.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:253)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1201)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:779)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:681)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:768)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:1020)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:995)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1769)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1834)
2022-11-10 08:50:26,499 INFO handler.ContextHandler: Stopped o.e.j.w.WebAppContext@78a773fd{hdfs,/,null,STOPPED}{file:/D:/MySoftware/hadoop-3.3.4/share/hadoop/hdfs/webapps/hdfs}
2022-11-10 08:50:26,499 INFO server.AbstractConnector: Stopped ServerConnector@7dfb0c0f{HTTP/1.1, (http/1.1)}{activate.adobe.com:9870}
2022-11-10 08:50:26,514 INFO server.session: node0 Stopped scavenging
2022-11-10 08:50:26,514 INFO handler.ContextHandler: Stopped o.e.j.s.ServletContextHandler@6b695b06{static,/static,file:///D:/MySoftware/hadoop-3.3.4/share/hadoop/hdfs/webapps/static/,STOPPED}
2022-11-10 08:50:26,514 INFO handler.ContextHandler: Stopped o.e.j.s.ServletContextHandler@5a59ca5e{logs,/logs,file:///D:/MySoftware/hadoop-3.3.4/logs/,STOPPED}
2022-11-10 08:50:26,514 INFO impl.MetricsSystemImpl: Stopping NameNode metrics system...
2022-11-10 08:50:26,514 INFO impl.MetricsSystemImpl: NameNode metrics system stopped.
2022-11-10 08:50:26,514 INFO impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2022-11-10 08:50:26,514 ERROR namenode.NameNode: Failed to start namenode.
java.io.IOException: NameNode is not formatted.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:253)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1201)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:779)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:681)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:768)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:1020)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:995)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1769)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1834)
2022-11-10 08:50:26,514 INFO util.ExitUtil: Exiting with status 1: java.io.IOException: NameNode is not formatted.
执行以下命令可以解决
hadoop namenode -format
执行完上面的命令后,启用hadoop
start-all
如果启动后,4个窗口都没有异常说明启动成功。
问题4:自己埋的坑,先看配置,我的core-site.xml配置如下
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:10000</value>
</property>
</configuration>
当我执行start-all命令后namenode启动失败,从错误中看出我的10000端口已经被占用,之前测试某个服务使用了10000端口,所以要把10000端口关闭掉,在cmd中执行以下命令
C:\Users\mjc\Desktop>netstat -ano | findstr "10000"
TCP 0.0.0.0:10000 0.0.0.0:0 LISTENING 6252
C:\Users\mjc\Desktop>tasklist | findstr "6252"
vmnat.exe 6252 Services 0 7,240 K
NisSrv.exe 16252 Services 0 11,120 K
C:\Users\mjc\Desktop>taskkill /T /F /PID 6252
重新运行start-all,4个窗口都没有报错,执行jps查看4个和hadoop相关的服务都存在
- 访问应用管理界面ResourceManager---->http://localhost:8088/
- 访问NameNode界面---->http://localhost:9870