Windows10系统下Hadoop 3.2.2启动耗时过长无报错如何解决
问题排查与解决方案
- 第一步:查看服务日志定位问题
无显性报错的启动卡住90%以上可以通过日志定位根因,打开Hadoop安装目录下的logs文件夹,分别查看namenode、datanode、resourcemanager对应的后缀为.log的日志文件,搜索WARN、ERROR级别的日志即可获取具体异常信息。 - 第二步:修复本机hosts映射(Windows环境最高发问题)
Hadoop默认会解析本机hostname完成节点通信,绝大多数Windows系统的hosts文件没有配置本机hostname的本地映射,会导致通信超时无限卡住。
操作步骤:- 以管理员身份打开记事本,打开路径
C:\Windows\System32\drivers\etc\hosts - cmd执行
hostname命令获取当前计算机名 - 在hosts文件末尾添加两行配置:
127.0.0.1 你的计算机名 ::1 你的计算机名- 保存文件后重启Hadoop服务即可
- 以管理员身份打开记事本,打开路径
- 第三步:修复NameNode与DataNode的ClusterID不匹配问题
如果安装过程中多次执行hdfs namenode -format格式化命令,会导致NameNode的ClusterID和DataNode的ClusterID不一致,两者无法通信导致启动卡住。
操作步骤:- 关闭所有已启动的Hadoop相关终端
- 打开
hdfs-site.xml配置文件,找到dfs.namenode.name.dir和dfs.datanode.data.dir配置项对应的本地文件夹 - 删除两个文件夹内的所有内容
- 重新执行
hdfs namenode -format命令完成格式化 - 重新启动dfs和yarn服务
- 第四步:检查端口占用情况
Hadoop默认使用的9000、9870、8088、8032等端口如果被其他软件占用,也会导致启动无响应。cmd执行netstat -ano | findstr "端口号"即可查看对应端口是否被占用,若存在占用可关闭对应软件,或者修改Hadoop配置文件中的端口配置。 - 第五步:确认JDK路径无特殊字符
检查JAVA_HOME对应的JDK安装路径是否包含空格、中文或者特殊符号,例如C:\Program Files\Java路径中的空格会导致Hadoop读取Java路径异常,后台无限卡住无报错。如果存在特殊字符,将JDK重装到无空格无中文的路径下,更新JAVA_HOME环境变量后重启Hadoop即可。
内容的提问来源于stack exchange,提问作者Dew Man
相关产品推荐
相关产品推荐

