首页
/ WhereHows 项目环境变量配置详解

WhereHows 项目环境变量配置详解

2025-07-06 05:56:51作者:郁楠烈Hubert

概述

WhereHows 是一个企业级元数据管理平台,通过环境变量可以灵活配置系统的各项功能和行为。本文将详细介绍 WhereHows 项目中的关键环境变量配置,帮助管理员和开发者更好地理解和优化系统部署。

功能特性配置

功能开关

WhereHows 提供了多个功能开关,可以通过环境变量控制特定功能的启用状态:

  • UI_INGESTION_ENABLED:控制是否启用基于 UI 的数据摄取功能,默认开启
  • DATAHUB_ANALYTICS_ENABLED:控制是否收集使用数据用于分析仪表板,默认开启
  • ER_MODEL_RELATIONSHIP_FEATURE_ENABLED:控制是否显示数据集 UI 中的关系选项卡,默认关闭

系统启动配置

BOOTSTRAP_SYSTEM_UPDATE_WAIT_FOR_SYSTEM_UPDATE 控制是否等待系统更新完成后再启动服务,开发环境可考虑关闭此选项以加快启动速度。

数据摄取配置

WhereHows 的数据摄取系统提供了多种配置选项:

  • ASYNC_INGEST_DEFAULT:控制是否异步处理摄取请求,通常与独立消费者配合使用
  • MCP_CONSUMER_ENABLED/MCL_CONSUMER_ENABLED/PE_CONSUMER_ENABLED:在独立部署模式下控制各类型消费者的启用状态
  • ES_BULK_REQUESTS_LIMITES_BULK_FLUSH_PERIOD:控制 Elasticsearch 批量索引的文档数量和刷新频率
  • GRAPH_SERVICE_DIFF_MODE_ENABLED:启用图服务差异模式,优化关系写入性能

缓存系统配置

WhereHows 提供了多层次的缓存机制,相关配置包括:

  • SEARCH_SERVICE_ENABLE_CACHE:全局控制是否启用搜索结果缓存
  • SEARCH_SERVICE_CACHE_IMPLEMENTATION:选择缓存实现(caffeine 或 hazelcast)
  • 各类缓存的 TTL 和最大容量设置,如 CACHE_TTL_SECONDSCACHE_MAX_SIZE
  • 特定查询的缓存配置,如血缘搜索缓存 LINEAGE_SEARCH_CACHE_ENABLED

搜索系统配置

Elasticsearch 相关配置非常丰富,主要包括:

  • 索引基础配置:INDEX_PREFIX、分片和副本数量设置
  • 查询匹配相关配置:精确匹配、前缀匹配的权重因子
  • 搜索定制化配置:通过 ELASTICSEARCH_QUERY_CUSTOM_CONFIG_FILE 指定配置文件
  • 索引重建配置:ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX

Kafka 消息系统配置

WhereHows 使用 Kafka 作为消息中间件,关键配置包括:

  • 消费者并发度:KAFKA_LISTENER_CONCURRENCY
  • 消息大小限制:SPRING_KAFKA_PRODUCER_PROPERTIES_MAX_REQUEST_SIZE
  • Schema 注册表配置:支持 INTERNAL、KAFKA 和 AWS_GLUE 三种类型
  • 消息压缩:KAFKA_PRODUCER_COMPRESSION_TYPE 控制压缩算法

前端配置

前端相关的重要配置:

  • AUTH_VERBOSE_LOGGING:控制认证日志的详细程度,生产环境应保持关闭
  • 各类 UI 功能的开关配置

最佳实践建议

  1. 生产环境部署时,建议:

    • 根据数据量调整 Elasticsearch 的分片数量
    • 合理设置缓存大小和过期时间
    • 监控 Kafka 消息积压情况,适当调整消费者并发度
  2. 开发环境可以:

    • 关闭不必要的日志和监控功能
    • 减小缓存大小以节省资源
    • 启用开发专用的功能开关
  3. 性能调优时重点关注:

    • 批量索引的文档数量和刷新频率
    • Kafka 消息大小和压缩设置
    • 缓存命中率和失效策略

通过合理配置这些环境变量,可以优化 WhereHows 的性能、资源使用和功能组合,使其更好地适应不同规模和需求的应用场景。