EC2上Apache Atlas启动成功但连接被拒绝问题求助
排查Apache Atlas启动后curl连接被拒绝的问题
我来帮你一步步排查这个问题——日志显示服务启动成功,但实际连不上21000端口,大概率是服务没真正初始化完成,或者配置/环境有隐性问题,咱们挨个来查:
1. 确认端口是否真的在监听
先检查21000端口有没有被Atlas进程占用,在EC2上执行:
netstat -tulpn | grep 21000 # 或者用ss命令(如果netstat没装) ss -tulpn | grep 21000
如果没有任何输出,说明服务其实没真正启动,只是日志打印了“started”提示。这时候得去看Atlas的详细日志找原因:
- 打开
atlas/logs/application.log或者atlas/logs/atlas_server.log - 搜索
ERROR或Exception关键词,大概率能找到初始化失败的具体原因(比如Solr集合创建失败、HBase连接异常等)
2. 检查Atlas的绑定地址配置
有时候Atlas可能只绑定了特定IP而非localhost,导致本地curl失败:
- 打开
atlas/conf/atlas-application.properties配置文件 - 找到
atlas.server.address参数,看看它的值是localhost、EC2的私有IP还是0.0.0.0- 如果是私有IP,那你得用这个IP替换localhost来curl,比如
curl -u admin:admin http://<EC2私有IP>:21000/api/atlas/admin/version - 如果需要允许localhost访问,可以把这个值改成
0.0.0.0(允许所有地址绑定),然后重启服务
- 如果是私有IP,那你得用这个IP替换localhost来curl,比如
3. 验证认证配置是否正确
你提到部署时没设置密码,默认的admin:admin确实是Atlas的默认凭据,但如果认证模块没正确加载,也会导致连接被拒:
- 打开
atlas/conf/atlas-application.properties,确认以下配置:atlas.authentication.method.kerberos=false atlas.authentication.method.file=true atlas.authentication.file.filename=../conf/users-credentials.properties - 然后打开
atlas/conf/users-credentials.properties,确认里面有admin=admin的条目(如果没有就手动加上) - 重启Atlas服务后再尝试curl
4. 排查本地防火墙/安全组(虽然是localhost访问,但也要确认)
EC2上的iptables或firewalld可能意外拦截了本地端口:
- 临时关闭防火墙试试:
# 针对firewalld sudo systemctl stop firewalld # 针对iptables sudo iptables -F
关闭后再执行curl命令,看是否能连接成功
5. 检查Python版本兼容性
你用的是Python2启动,但Atlas 2.x及以上版本已经不再支持Python2了,可能存在隐性的启动失败问题:
- 尝试用Python3重新启动服务:
python3 atlas_start.py
启动完成后再验证端口连接
内容的提问来源于stack exchange,提问作者us56
相关产品推荐
相关产品推荐

