最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux怎样安装Trino分布式查询引擎
时间:2026-06-24 08:02:52 编辑:袖梨 来源:一聚教程网
Trino 在 Linux 上需满足 Java 17.0.3+(64 位)、ulimit 调高至 131072、专用用户、node.id 唯一、node.environment 一致等条件才能成功启动。
Trino 在 Linux 上能直接跑起来,但默认配置下大概率会启动失败——不是 Java 版本不对,就是 ulimit 太低,或者 node.id 重复。别急着解压完就 bin/launcher start,先卡住这几个关键点。
确认 Java 17(且必须是 64 位)
Trino 400+ 版本只认 JDK 17.0.3 及以上,Java 8/11/18/19 都不支持。用 java -version 检查输出里必须带 17. 和 x64:
openjdk version "17.0.7" 2023-04-18OpenJDK Runtime Environment Zulu17.32+13-CA (build 17.0.7+7-LTS)OpenJDK 64-Bit Server VM Zulu17.32+13-CA (build 17.0.7+7-LTS, mixed mode, sharing)
- 推荐用 Azul Zulu JDK,官方 Docker 镜像和 CI 测试都基于它,避免 JVM 层面的兼容性抖动
- 别用系统包管理器装的 OpenJDK(比如 Ubuntu 的
openjdk-17-jre),它可能缺javac或 JFR 支持,bin/launcher启动时会静默失败 -
JAVA_HOME必须设对,且$JAVA_HOME/bin要在$PATH前面,否则bin/launcher可能调错 Java
调高 ulimit 并绑定专用用户
Trino Worker 打开的文件描述符数 ≈ 节点数 × 并发查询数 × 每个查询涉及的分片数。默认 ulimit -n 是 1024,跑两三个查询就触发 Too many open files 错误,进程直接退出。
- 新建专用用户,比如
useradd -m trino,别用root或普通开发账号跑 - 编辑
/etc/security/limits.conf,追加四行(注意空格不能用 tab):trino soft nofile 131072trino hard nofile 131072trino soft nproc 131072trino hard nproc 131072 - 改完必须重新登录
trino用户,或重启systemd-logind,再执行ulimit -n确认输出是131072
配置三个核心文件:node.properties、jvm.config、config.properties
Trino 启动失败,80% 出在 etc/ 下这三个文件漏配、错配或路径不对。它们必须全在 etc/ 目录下,不能放在子目录里。
-
node.properties:每台机器唯一,node.id必须全局不重复(建议用uuidgen生成),node.data-dir路径要存在且trino用户有读写权限 -
jvm.config:至少包含-Xmx4G(Coordinator 推荐 8G+),-XX:+UseG1GC,-Djdk.attach.allowAttachSelf=true(否则 Web UI 无法连 JVM) -
config.properties:Coordinator 必须设coordinator=true和discovery-server.enabled=true;Worker 则设coordinator=false且discovery.uri=http://coordinator-host:8080;端口别被占用,http-server.http.port=8080是默认值,可改但别用 80(需 root)或 443
启动前检查 data-dir 权限和 catalog 连接器路径
即使配置全对,bin/launcher start 后 bin/launcher status 显示 “not running”,大概率是 node.data-dir 不可写,或 etc/catalog/ 下某个 .properties 文件语法错误(比如多了一个空格、少了个换行)。
- 确保
node.data-dir所在磁盘剩余空间 ≥ 5GB,且chown -R trino:trino /path/to/data -
etc/catalog/下每个.properties文件名就是 catalog 名(如hive.properties→ catalog 名为hive),文件内connector.name=值必须拼写准确(hive不是Hive,mysql不是MySQL) - 启动后立刻看日志:
tail -f var/log/server.log,重点关注ERROR行,常见报错如Failed to create injector(配置缺失)、Cannot assign requested address(discovery.uri域名没解析)
最易被忽略的是:Coordinator 和 Worker 的 node.environment 值必须完全一致,大小写敏感,且只能含小写字母、数字和下划线——配错一个字符,Worker 就注册不上,Web UI 里永远只看到 1 个节点。
相关文章
- Gemini人工智能官网入口 - 2026最新版免费使用 06-24
- 《明日方舟终末地》月卡在哪里买-月卡奖励购买 06-24
- 鹅鸭杀隐藏时装及表情怎么获得-隐藏时装及表情获取攻略 06-24
- 校园翼讯学生自助服务平台 - 2026官方在线服务入口 06-24
- Bootstrap框架入门教程 - 2026最新实用指南 06-24
- 逆战未来黑寡妇战术迷彩怎么获得-黑寡妇战术迷彩获取攻略 06-24