apache/rangerApache 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
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默认客户端端口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控制台端口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 |

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务