如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache Ranger™ 是一个用于在Hadoop平台上启用、监控和管理全面数据安全的框架。其核心愿景是为Apache Hadoop生态系统提供全方位的安全保障。随着Apache YARN的出现,Hadoop平台现已支持真正的数据湖架构,企业可在多租户环境中运行多种工作负载。Ranger旨在满足Hadoop环境下多种数据访问场景的安全需求,同时提供安全策略集中管理和用户访问监控的框架。
首先设置Ranger镜像版本变量(请根据实际需求替换版本号):
bashexport RANGER_VERSION=<Ranger镜像版本>
示例:
bashexport RANGER_VERSION=2.7.0
拉取Ranger及依赖组件(Zookeeper、Solr、Postgres)的Docker镜像:
bashdocker pull apache/ranger-zk:${RANGER_VERSION} docker pull apache/ranger-solr:${RANGER_VERSION} docker pull apache/ranger-db:${RANGER_VERSION} docker pull apache/ranger:${RANGER_VERSION}
创建专用Docker网络,确保各组件通信:
bashdocker network create rangernw
4.4.1 启动Zookeeper
Zookeeper用于Ranger的分布式协调:
bashdocker run -d \ --name ranger-zk \ --hostname ranger-zk.example.com \ --network rangernw \ -p 2181:2181 \ apache/ranger-zk:${RANGER_VERSION}
参数说明:
--name ranger-zk:容器名称--network rangernw:使用前面创建的专用网络-p 2181:2181:映射Zookeeper默认客户端端口4.4.2 启动Solr
Solr用于存储和检索Ranger审计日志:
bashdocker run -d \ --name ranger-solr \ --hostname ranger-solr.example.com \ --network rangernw \ -p 8983:8983 \ apache/ranger-solr:${RANGER_VERSION} \ solr-precreate ranger_audits /opt/solr/server/solr/configsets/ranger_audits/
参数说明:
solr-precreate ranger_audits ...:预创建名为ranger_audits的Solr集合,使用Ranger审计日志专用配置集-p 8983:8983:映射Solr Web控制台端口4.4.3 启动Postgres数据库
Postgres用于存储Ranger的元数据(策略、用户、角色等):
bashdocker run -d \ --name ranger-db \ --hostname ranger-db.example.com \ --network rangernw \ --health-cmd='su -c "pg_isready -q" postgres' \ --health-interval=10s \ --health-timeout=2s \ --health-retries=30 \ apache/ranger-db:${RANGER_VERSION}
参数说明:
--health-cmd:健康检查命令(验证Postgres是否就绪)--health-interval/timeout/retries:健康检查间隔、超时时间及重试次数,确保数据库启动完成后再启动Ranger启动Ranger核心服务,连接依赖组件:
bashdocker run -d \ --name ranger \ --hostname ranger.example.com \ --network rangernw \ -e RANGER_VERSION=${RANGER_VERSION} \ -e RANGER_DB_TYPE=postgres \ -p 6080:6080 \ apache/ranger:${RANGER_VERSION} \ /home/ranger/scripts/ranger.sh
参数说明:
-e RANGER_VERSION=${RANGER_VERSION}:传递版本变量-e RANGER_DB_TYPE=postgres:指定数据库类型为Postgres(当前仅支持Postgres)-p 6080:6080:映射Ranger Web控制台端口/home/ranger/scripts/ranger.sh:启动Ranger服务的入口脚本服务启动后,通过浏览器访问Ranger Web控制台:
http://localhost:6080/login.jsp
(默认管理员账号/密码:admin/admin,首次登录需修改密码)
| 变量名 | 说明 | 示例值 |
|---|---|---|
RANGER_VERSION | 指定Ranger镜像版本 | 2.7.0 |
RANGER_DB_TYPE | 指定数据库类型(仅支持postgres) | postgres |
| 参数 | 说明 | 示例值 |
|---|---|---|
--name | 容器名称 | ranger-zk、ranger-solr |
--hostname | 容器主机名(影响组件间通信) | ranger-db.example.com |
--network | 容器所属网络 | rangernw |
-p | 端口映射(主机端口:容器端口) | 2181:2181(Zookeeper) |
--health-cmd | 健康检查命令 | su -c "pg_isready -q" postgres |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务