ambari-infra-solr

apache/ambari-infra-solr Docker Image

Apache Ambari Infra Solr是Apache Ambari生态系统中的搜索组件,基于Solr构建,用于存储、索引和搜索Ambari管理的Hadoop集群元数据、配置信息及审计日志,支持集群监控与管理数据的高效检索。

下载次数: 0状态:社区镜像维护者:Apache 软件基金会镜像仓库类型:镜像最近更新:

镜像概述

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_PORTSolr服务监听端口8983
SOLR_DATA_DIRSolr索引数据存储路径(容器内)/var/solr/data
SOLR_HOST服务绑定主机地址0.0.0.0
SOLR_HEAP_SIZESolr JVM堆内存大小(根据集群规模调整,建议≥2G)2g
AMBARI_SERVICE_URLAmbari Server服务地址(格式:http://<ambari-server-ip>:8080)无(需手动配置)
SOLR_ZK_HOSTZooKeeper连接地址(用于SolrCloud模式,格式:zk1:2181,zk2:2181/solr)无(单机模式无需配置)

部署示例

1. 单机模式部署(docker run)

bash
docker 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配置(含持久化与网络)

yaml
version: '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卷管理持久化数据(推荐生产环境使用,管理更便捷)

验证部署

  1. 访问Solr管理界面:http://<容器宿主机IP>:8983/solr,确认界面正常加载
  2. 检查Ambari相关Collection:在Solr管理界面的Core Admin或Cloud菜单中,确认ambari_configs、ambari_audit_logs等Ambari专用Collection已创建并正常索引数据
  3. 测试数据检索:通过Solr API执行查询,例如检索审计日志:
    bash
    curl "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:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告