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_LIMIT
和ES_BULK_FLUSH_PERIOD
:控制 Elasticsearch 批量索引的文档数量和刷新频率GRAPH_SERVICE_DIFF_MODE_ENABLED
:启用图服务差异模式,优化关系写入性能
缓存系统配置
WhereHows 提供了多层次的缓存机制,相关配置包括:
SEARCH_SERVICE_ENABLE_CACHE
:全局控制是否启用搜索结果缓存SEARCH_SERVICE_CACHE_IMPLEMENTATION
:选择缓存实现(caffeine 或 hazelcast)- 各类缓存的 TTL 和最大容量设置,如
CACHE_TTL_SECONDS
和CACHE_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 功能的开关配置
最佳实践建议
-
生产环境部署时,建议:
- 根据数据量调整 Elasticsearch 的分片数量
- 合理设置缓存大小和过期时间
- 监控 Kafka 消息积压情况,适当调整消费者并发度
-
开发环境可以:
- 关闭不必要的日志和监控功能
- 减小缓存大小以节省资源
- 启用开发专用的功能开关
-
性能调优时重点关注:
- 批量索引的文档数量和刷新频率
- Kafka 消息大小和压缩设置
- 缓存命中率和失效策略
通过合理配置这些环境变量,可以优化 WhereHows 的性能、资源使用和功能组合,使其更好地适应不同规模和需求的应用场景。