使用Docker Compose部署Apache Doris出现FE与BE错误及登录问题
Apache Doris 2.0.0_alpha Docker部署问题排查与修复
问题根源
- FE的BDBJE初始化异常:Docker容器默认启用IPv6,FE解析自身地址时优先获取到链路本地IPv6地址(fe80::xxx),但BDBJE组件无法识别这类非全局可路由的IPv6地址,导致环境初始化失败。
- BE注册失败:FE核心服务未正常启动,无法处理BE的注册请求,因此BE持续重试。
- Web UI登录失败:FE的认证模块依赖核心元数据服务,FE初始化异常导致认证流程无法正常执行,即便配置了simple认证也无法完成登录校验。
修复步骤
1. 修改Docker Compose配置,强制禁用IPv6并指定FE绑定IPv4地址
编辑你的docker-compose.yaml文件,做以下调整:
- 在FE服务的环境变量中指定内网IPv4地址,同时强制Java优先使用IPv4。
- 为整个集群网络禁用IPv6。
示例修改后的FE服务配置:
fe: image: apache/doris:2.0.0_alpha-fe container_name: doris-fe environment: - DORIS_FE_HOST_IP=你的内网IPv4地址(如192.168.1.100) - JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false" - FE_SERVERS=fe1:你的内网IPv4地址:9010 - FE_ID=1 ports: - "8030:8030" - "9030:9030" volumes: - ./fe/doris-meta:/opt/apache-doris/fe/doris-meta - ./fe/log:/opt/apache-doris/fe/log networks: - doris restart: always
在docker-compose.yaml最外层添加网络配置:
networks: doris: enable_ipv6: false driver: bridge
2. 清理旧容器与残留数据
执行以下命令彻底清除之前的容器和缓存数据:
# 停止并删除容器及关联卷 docker compose down -v # 删除本地FE元数据和日志目录 rm -rf ./fe/doris-meta ./fe/log # 重新创建目录并设置权限 mkdir -p ./fe/doris-meta ./fe/log chmod 777 ./fe/doris-meta ./fe/log
3. 重新启动Doris集群
docker compose up -d
4. 验证服务状态
- 查看FE日志,确认BDBJE初始化正常:
docker logs doris-fe | grep "BDBJE environment initialized"
- 查看BE日志,确认注册成功:
docker logs doris-be | grep "successfully registered to FE"
5. 验证Web UI登录
访问http://你的内网IPv4地址:8030,使用用户名admin、密码admin登录,即可正常进入系统。
额外排查点
如果上述步骤无效,可检查:
- 内网IPv4地址是否正确,容器能否正常访问该地址。
- 通过
docker network inspect doris确认网络已禁用IPv6。 - 进入FE容器修改
/opt/apache-doris/fe/conf/fe.conf,设置priority_networks为你的内网IPv4网段(如priority_networks=192.168.1.0/24),修改后重启FE。
内容的提问来源于stack exchange,提问作者Índio
相关产品推荐
相关产品推荐

