apache/ambari-infra-solr Docker Image
Apache Ambari Infra Solr是Apache Ambari生态系统中的搜索组件,基于Solr构建,用于存储、索引和搜索Ambari管理的Hadoop集群元数据、配置信息及审计日志,支持集群监控与管理数据的高效检索。
镜像概述
Apache Ambari Infra Solr是Apache Ambari生态系统的核心组件之一,基于Apache Solr构建,专为Ambari管理的Hadoop集群设计。该镜像提供分布式搜索能力,用于存储、索引和检索集群元数据、配置信息、审计日志及监控数据,支持Ambari管理平台对Hadoop集群数据的高效查询与分析,是Ambari集群监控与管理的关键数据检索引擎。
核心功能
- 与Ambari深度集成:无缝对接Ambari Server及相关服务,自动同步集群配置、主机信息、服务状态等元数据
- 多类型数据索引:支持集群配置文件、审计日志(用户操作、服务变更)、监控指标等数据的实时索引
- 高效全文搜索:基于Solr的Lucene引擎,提供全文检索、字段过滤、模糊匹配等高级搜索能力,支持复杂查询条件
- 可扩展架构:支持SolrCloud模式部署,可通过添加节点横向扩展存储与检索能力,适应大规模Hadoop集群需求
- 数据持久化:内置数据持久化机制,支持索引数据持久化存储,确保服务重启或故障恢复后数据不丢失
使用场景与适用范围
- Hadoop集群元数据检索:在使用Ambari管理Hadoop集群时,快速查询特定服务配置(如HDFS、YARN配置)、主机角色分配及集群拓扑信息
- 审计日志分析:检索集群操作审计日志,例如查询特定用户的操作记录、服务启停历史或配置变更时间线
- 监控数据查询:支持基于时间范围、服务类型、主机节点等条件的监控指标检索,辅助集群性能分析与问题排查
- Ambari服务数据支撑:作为Ambari Infra服务的后端存储,为Ambari UI、API提供数据检索能力,支撑集群管理功能实现
使用方法与配置说明
前提条件
- 已部署Apache Ambari集群(版本需与镜像兼容,建议Ambari 2.7.x及以上)
- Docker环境版本≥19.03,支持容器网络与持久化存储
- 确保Ambari Server与Ambari Infra Solr容器网络互通(建议部署在同一网络或配置端口映射)
环境变量配置
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
SOLR_PORT | Solr服务监听端口 | 8983 |
SOLR_DATA_DIR | Solr索引数据存储路径(容器内) | /var/solr/data |
SOLR_HOST | 服务绑定主机地址 | 0.0.0.0 |
SOLR_HEAP_SIZE | Solr JVM堆内存大小(根据集群规模调整,建议≥2G) | 2g |
AMBARI_SERVICE_URL | Ambari Server服务地址(格式:http://<ambari-server-ip>:8080) | 无(需手动配置) |
SOLR_ZK_HOST | ZooKeeper连接地址(用于SolrCloud模式,格式:zk1:2181,zk2:2181/solr) | 无(单机模式无需配置) |
部署示例
1. 单机模式部署(docker run)
bashdocker run -d \ --name ambari-infra-solr \ --network ambari-network # 接入Ambari集群网络(若已创建) -p 8983:8983 \ -v /host/path/to/solr-data:/var/solr/data # 持久化存储索引数据 -e SOLR_HEAP_SIZE="4g" \ # 根据集群规模调整堆内存 -e AMBARI_SERVICE_URL="http://ambari-server:8080" \ # 配置Ambari Server地址 apache/ambari-infra-solr:latest
2. Docker Compose配置(含持久化与网络)
yamlversion: '3.8' services: ambari-infra-solr: image: docker.xuanyuan.run/apache/ambari-infra-solr:latest container_name: ambari-infra-solr restart: unless-stopped ports: - "8983:8983" volumes: - solr-data-volume:/var/solr/data # 使用命名卷持久化数据 environment: - SOLR_PORT=8983 - SOLR_DATA_DIR=/var/solr/data - SOLR_HEAP_SIZE=4g - AMBARI_SERVICE_URL=http://ambari-server:8080 networks: - ambari-cluster-network # 与Ambari Server共享网络 networks: ambari-cluster-network: external: true # 假设已存在Ambari集群网络 volumes: solr-data-volume: # 命名卷用于持久化索引数据
持久化存储配置
索引数据默认存储于容器内/var/solr/data目录,为避免容器重启或重建导致数据丢失,需通过以下方式配置持久化:
- 宿主机目录挂载:如部署示例中
-v /host/path/to/solr-data:/var/solr/data,将宿主机目录映射至容器内数据目录 - Docker命名卷:通过Docker卷管理持久化数据(推荐生产环境使用,管理更便捷)
验证部署
- 访问Solr管理界面:
http://<容器宿主机IP>:8983/solr,确认界面正常加载 - 检查Ambari相关Collection:在Solr管理界面的
Core Admin或Cloud菜单中,确认ambari_configs、ambari_audit_logs等Ambari专用Collection已创建并正常索引数据 - 测试数据检索:通过Solr API执行查询,例如检索审计日志:
若返回包含用户bashcurl "http://<容器IP>:8983/solr/ambari_audit_logs/select?q=user:admin&wt=json"admin操作记录的JSON结果,表明部署成功
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 ambari-infra-solr 镜像标签
docker pull docker.xuanyuan.run/apache/ambari-infra-solr:<标签>
DockerHub 原生拉取命令
docker pull apache/ambari-infra-solr:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务