安装Erlang OTP24.1与RabbitMQ3.9.8后启动失败报:eacces错误
问题解决:Windows Server 2019上RabbitMQ启用管理插件失败(inet_gethost_native :eacces错误)
问题核心
管理员权限安装Erlang OTP 24.1和RabbitMQ 3.9.8后,执行rabbitmq-plugins enable rabbitmq_management时触发:eacces权限错误,导致Erlang的inet_gethost_native服务启动失败,无法完成DNS解析和节点通信。服务之前正常运行,重装后问题依旧。
解决方案
1. 修复Erlang inet_gethost.exe权限
- 定位到Erlang安装目录的
erts-12.1\bin文件夹(例如C:\Program Files\erl-24.1\erts-12.1\bin) - 找到
inet_gethost.exe,右键选择属性 → 安全标签 - 确认Administrators组拥有完全控制权限,当前管理员账户具备读取和执行权限
- 若权限缺失,点击编辑添加Administrators组并授予完全控制权限,应用后重试命令
2. 强制Erlang使用非原生DNS解析
绕过出问题的inet_gethost_native模块:
- 创建系统环境变量
ERL_INETRC,值设为一个自定义配置文件路径(如C:\erlang_config\inetrc) - 在该配置文件中写入:
{inet_db, [{lookup, file}]} {inet, [{dns_opts, [{timeout, 5000}]}]} - 重启管理员命令提示符,重新执行
rabbitmq-plugins命令
3. 排查安全软件拦截
- 临时禁用Windows Defender实时保护或第三方杀毒软件
- 重试插件启用命令,若恢复正常,将Erlang的
bin目录和RabbitMQ的sbin目录添加至安全软件信任列表
4. 彻底重装并清理残留
- 卸载RabbitMQ,删除安装目录(默认
C:\Program Files\RabbitMQ Server)和用户目录下的RabbitMQ数据文件夹(C:\Users\<你的用户名>\AppData\Roaming\RabbitMQ) - 卸载Erlang,删除安装目录并清除系统环境变量
ERLANG_HOME - 重启服务器后,以管理员身份重新安装Erlang和RabbitMQ,确保安装过程无中断
5. 验证主机名解析
- 命令提示符执行
hostname获取当前主机名(如EC2AMAZ-9EMRN29) - 执行
ping <主机名>,确认能解析到本地IP地址 - 若解析失败,编辑
C:\Windows\System32\drivers\etc\hosts文件,添加一行:127.0.0.1 EC2AMAZ-9EMRN29
内容的提问来源于stack exchange,提问作者Amit Kumar
相关产品推荐
相关产品推荐

