You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Docker Compose运行多Worker节点的Trino集群?

解决Docker Compose部署Trino多Worker节点不识别问题

你遇到的核心问题是所有Worker节点使用了相同的node.id配置——Trino通过node.id唯一标识集群中的节点,重复的ID会被Trino判定为同一个节点,所以即便Docker里有4个容器,Trino只显示一个。

下面是具体解决步骤:

1. 让每个Worker节点的node.id唯一

修改你的Docker Compose配置,给Worker服务添加环境变量,用容器的主机名(每个容器的主机名默认是服务名-序号,比如trino-worker-1、trino-worker-2)作为唯一的node.id:

trino-worker:
  image: trinodb/trino:392
  deploy:
    replicas: 4
  volumes:
    - ./worker/etc:/etc/trino
  environment:
    - NODE_ID=${HOSTNAME}

2. 修改Worker的配置文件

打开Worker节点的node.properties配置文件(路径对应你挂载的./worker/etc/node.properties),将node.id的值改为读取环境变量:

node.environment=production
node.id=${NODE_ID}
node.data-dir=/var/trino/data

3. 重启集群

执行命令重启Docker Compose服务,让配置生效:

docker-compose down
docker-compose up -d

4. 验证结果

连接Trino Coordinator执行查询:

SELECT * FROM system.runtime.nodes;

此时应该能看到4个状态为active的Worker节点,每个节点的node_id对应容器的主机名,不会重复。

内容的提问来源于stack exchange,提问作者Cherry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:03:12