Hadoop3.2.3运行MapReduce wordcount失败报CreateSymbolicLink错误
故障根因
报错CreateSymbolicLink error (1314): A required privilege is not held by the client是Windows环境部署Hadoop运行YARN任务的典型权限故障。YARN启动ApplicationMaster容器、分配任务容器时,默认通过创建符号链接映射作业依赖包、配置文件、日志目录等资源,当前启动Hadoop服务的Windows账号未持有系统层面的「创建符号链接」权限,会导致容器在初始化阶段直接退出,最终触发应用重试2次后运行失败。
解决步骤
- 临时快速修复
先停止所有运行中的HDFS、YARN进程,右键点击终端(命令提示符/PowerShell/Windows Terminal)选择「以管理员身份运行」,重新执行start-dfs.cmd、start-yarn.cmd启动集群,再次提交wordcount任务即可。Windows内置管理员账号默认持有创建符号链接权限,可直接解决该问题。 - 永久权限配置(无需每次以管理员身份启动终端)
- 按
Win+R组合键,输入secpol.msc回车打开本地安全策略面板 - 依次展开左侧菜单:本地策略 > 用户权限分配,在右侧策略列表中找到「创建符号链接」条目
- 双击打开配置页,点击「添加用户或组」,将日常启动Hadoop使用的Windows账号加入权限列表,保存配置
- 注销当前Windows账号重新登录,重启Hadoop所有服务后再提交任务即可生效
- 按
- 兜底排查项
如果完成上述配置后仍报同类错误,需检查Windows端Hadoop依赖:确认使用的winutils.exe、hadoop.dll版本与Hadoop 3.2.3完全匹配,两个文件已放入%HADOOP_HOME%\bin目录,且hadoop.dll已复制到C:\Windows\System32路径下,版本不匹配的依赖工具也会导致符号链接创建逻辑异常。
内容的提问来源于stack exchange,提问作者Zahid_Ashraf
相关产品推荐
相关产品推荐

