hazelcast/management-centerHazelcast Management Center 用于监控和管理运行 Hazelcast 的集群成员。除监控集群整体状态外,还支持详细分析数据结构、更新映射配置、获取成员线程转储,以及通过脚本(JavaScript、Groovy 等)和控制台模块在成员上执行命令。
更多信息请参考 Hazelcast IMDG 文档 和 Management Center 文档。
适用于需要监控、管理 Hazelcast 集群的场景,包括:
通过以下命令启动 Hazelcast Management Center。$MC_VERSION 需替换为 Docker Hub 上的可用版本:
bashdocker run --rm -p 8080:8080 hazelcast/management-center:$MC_VERSION
通过浏览器访问:http://localhost:8080。
localhost,可通过 docker ps 或 docker inspect <container-id> 获取 host-ip,访问地址为 [***]。默认情况下,容器会根据资源限制或可用内存自动调整 Java 堆内存大小。
Management Center 5.1+ 版本支持系统属性与环境变量互换配置。完整配置参考见 Management Center 系统属性手册。以下为 Docker 环境常用配置示例。
默认使用根路径 (/),可通过 MC_CONTEXT_PATH 环境变量自定义:
bashdocker run --rm -p 8080:8080 --env MC_CONTEXT_PATH=/hz-mc hazelcast/management-center:$MC_VERSION
访问地址变为:[***]
注意:3.x 版本默认上下文路径为
/hazelcast-mancenter。
Management Center 需持久化数据(如配置、日志),默认存储于容器内,重启后丢失。通过挂载 /data 目录实现外部存储:
bashdocker run --rm -p 8080:8080 -v <本地持久化目录>:/data hazelcast/management-center:$MC_VERSION
替换
<本地持久化目录>为宿主机实际路径(如/opt/hazelcast/mc-data)。
通过 MC_LICENSE 环境变量传入许可证密钥:
bashdocker run --rm -p 8080:8080 --env MC_LICENSE='<license-key>' hazelcast/management-center:$MC_VERSION
需提供密钥库并暴露 HTTPS 端口(默认 8443):
bashdocker run --rm \ -e JAVA_OPTS='-Dhazelcast.mc.tls.enabled=true \ -Dhazelcast.mc.tls.keyStore=/keystore/yourkeystore.jks \ -Dhazelcast.mc.tls.keyStorePassword=yourpassword' \ -v <密钥库目录>:/keystore \ -p 8443:8443 \ hazelcast/management-center:$MC_VERSION
通过 MC_HTTPS_PORT 修改默认端口(如 8444):
bashdocker run --rm \ -e MC_HTTPS_PORT=8444 \ -e JAVA_OPTS='-Dhazelcast.mc.tls.enabled=true \ -Dhazelcast.mc.tls.keyStore=/keystore/yourkeystore.jks \ -Dhazelcast.mc.tls.keyStorePassword=yourpassword' \ -v <密钥库目录>:/keystore \ -p 8444:8444 \ hazelcast/management-center:$MC_VERSION
详细配置见 Management Center TLS/SSL 手册。
通过 LOGGING_LEVEL 环境变量设置日志级别(默认 INFO):
bashdocker run --env LOGGING_LEVEL=DEBUG hazelcast/management-center:$MC_VERSION
可用级别(从高到低):OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。无效级别自动设为 OFF。
挂载自定义 Log4j 配置文件至 /opt/hazelcast/mc_ext 目录:
bashdocker run \ --env JAVA_OPTS='-Dlog4j.configurationFile=/opt/hazelcast/mc_ext/<自定义配置文件名>' \ -v <本地配置目录>:/opt/hazelcast/mc_ext \ -p 8080:8080 \ hazelcast/management-center:$MC_VERSION
替换
<自定义配置文件名>(如log4j2-custom.properties)和<本地配置目录>。
通过 MC_CLASSPATH 添加额外类(如 JAAS 认证依赖):
bashdocker run --env MC_CLASSPATH='/path/to/extra.jar' -p 8080:8080 hazelcast/management-center:$MC_VERSION
暴露健康检查端口(默认 8081),用于容器编排系统(如 Kubernetes)监控:
bashdocker run -p 8080:8080 -p 8081:8081 \ --env MC_HEALTH_CHECK_ENABLE=true \ hazelcast/management-center:$MC_VERSION
详细说明见 健康检查手册。
通过环境变量在启动前执行命令或脚本:
MC_INIT_CMD:执行分号分隔的命令(如 command1; command2)MC_INIT_SCRIPT:执行 Bash 脚本(需通过挂载或镜像构建使脚本可用)命令/脚本按定义顺序在 Management Center 启动前执行。
通过环境变量设置默认管理员用户:
bashdocker run --name hazelcast-mc \ --env MC_ADMIN_USER=admin \ --env MC_ADMIN_PASSWORD=myPassword11 \ --rm hazelcast/management-center:$MC_VERSION
通过环境变量预设集群连接信息:
bashdocker run --name hazelcast-mc \ --env MC_DEFAULT_CLUSTER=my-cluster \ # 集群名称,默认 dev --env MC_DEFAULT_CLUSTER_MEMBERS=192.168.0.10,192.168.0.11 \ # 成员地址(逗号分隔) --rm hazelcast/management-center:$MC_VERSION
默认通过 -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 自动适配容器内存。可通过以下变量自定义:
| 变量 | 说明 |
|---|---|
CONTAINER_SUPPORT | true(默认):自动配置;false:手动配置堆大小 |
MIN_HEAP_SIZE | 最小堆(如 512M),需配合 CONTAINER_SUPPORT=false 使用 |
MAX_HEAP_SIZE | 最大堆(如 1024M),需配合 CONTAINER_SUPPORT=false 使用 |
JAVA_OPTS | 自定义 JVM 参数(如 -XX:MaxGCPauseMillis=200) |
示例(手动配置堆大小):
bashdocker run --rm --name hazelcast-mc \ --env CONTAINER_SUPPORT='false' \ --env MIN_HEAP_SIZE='512M' \ --env MAX_HEAP_SIZE='1024M' \ --env JAVA_OPTS='-XX:MaxGCPauseMillis=200' \ hazelcast/management-center:$MC_VERSION
以 hazelcast/management-center 为基础镜像,通过 hz-mc conf 工具预配置:
dockerfileFROM hazelcast/management-center:$MC_VERSION # 预配置集群 ENV MC_DEFAULT_CLUSTER="my-cluster" ENV MC_DEFAULT_CLUSTER_MEMBERS="192.168.0.10,192.168.0.11" # 启动命令:创建管理员用户并启动服务 CMD ["bash", "-c", "set -euo pipefail \ && ./bin/hz-mc conf user create -n admin -r admin -p s3cr3tP@ss \ && ./bin/hz-mc start \ "]
注意:5.0.x 及更早版本需使用
./bin/mc-conf.sh替换./bin/hz-mc conf。
Hazelcast 成员配置及 Hello World 示例见 Hazelcast Docker 仓库。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务