开源大数据集群部署(二十)Trino部署

作者:櫰木

1 解压trino的包到opt目录

bash 复制代码
cd /root/bigdata
tar -xzvf trino-server-389.tar.gz -C /opt/
ln -s /opt/trino-server-389 /opt/trino

2 创建trino用户,并配置专属jdk11

bash 复制代码
useradd trino
su -- trino
chown -R trino:hadoop /opt/trino-server-389

每台节点生成keytab文件

bash 复制代码
bash /data/kerberos/getkeytabs.sh /etc/security/keytab/trino.keytab trino

添加环境变量

bash 复制代码
su - trino
 
vim ~/.bashrc
export JAVA_HOME=/opt/zulu11.60.19-ca-jdk11.0.17-linux_x64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
 
export TRINO_HOME=/opt/trino
export PATH=$TRINO_HOME/bin:$PATH
source ~/.bashrc
验证java版本

3 定义配置文件

cd /opt/trino/etc

jvm配置

bash 复制代码
vim jvm.config
-server
-Xmx4G
-XX:InitialRAMPercentage=80
-XX:MaxRAMPercentage=80
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
-XX:+UnlockDiagnosticVMOptions
-XX:+UseAESCTRIntrinsics
-Dsun.security.krb5.debug=true
-Dlog.enable-console=true
-Dlogback.configurationFile=/opt/trino/etc/trino-ranger-plugin-logback.xml
-javaagent:/opt/prometheus/jmx_prometheus_javaagent-0.12.0.jar=9550:/opt/prometheus/trino-prometheus.yml

Coordinator 的config配置

bash 复制代码
cat config.properties
# 该节点是否作为coordinator
coordinator=true
# coordinator是否同时作为worker节点
node-scheduler.include-coordinator=false
# http连接端口
http-server.http.port=18080
# 所有节点查询可以使用的最大内存和
query.max-memory=3GB
# 单个节点查询可以使用的最大用户内存
query.max-memory-per-node=1024MB
# 服务发现的地址
discovery.uri=http://hd1.dtstack.com:18080

work节点config配置

bash 复制代码
# 该节点是否作为coordinator
coordinator=false
# http连接端口
http-server.http.port=18080
# 所有节点查询可以使用的最大内存和
query.max-memory=4GB
# 单个节点查询可以使用的最大用户内存
query.max-memory-per-node=1024MB
# 服务发现的地址
discovery.uri=http://hd1.dtstack.com:18080

节点配置node.properties

cat node.properties

bash 复制代码
# 集群所有节点环境名称必须一样
node.environment=trino_cluster
# UUID, 36个16进制数字, 每个节点的都不一样, 默认随机生成, 设置固定值在集群升级时可以保持和原来的一致
node.id=9df13f5a-eae8-4e55-9ad6-9dc5f86eb74c
# 日志文件和数据文件储存目录
node.data-dir=/data/trino-server/var
  • uuid生成方式可以通过uuidgen命令进行生成。
  • 创建数据目录 mkdir -p /data/trino-server/var

3 启动应用

bash 复制代码
/opt/trino/bin/launcher start

查看端口是否启动成功

bash 复制代码
ss -tunlp | grep 18080

查看web页面

4 对接hive

每个节点都需要配置

bash 复制代码
mkdir -p /opt/trino/etc/catalog
cat hive.properties
connector.name=hive
hive.metastore.uri=thrift://hd1.dtstack.com:9083
hive.config.resources=/opt/hadoop/etc/hadoop/core-site.xml,/opt/hadoop/etc/hadoop/hdfs-site.xml
hive.metastore.authentication.type=kerberos
hive.metastore.thrift.impersonation.enabled=false
hive.metastore.service.principal=hive/hd1.dtstack.com@DTSTACK.COM
hive.metastore.client.principal=hive/hd1.dtstack.com@DTSTACK.COM
hive.metastore.client.keytab=/etc/security/keytab/hive.keytab
hive.hdfs.authentication.type=KERBEROS
hive.hdfs.impersonation.enabled=false
hive.hdfs.trino.principal=trino/_HOST@DTSTACK.COM
hive.hdfs.trino.keytab=/etc/security/keytab/trino.keytab

5 运行测试

trino-cli需要手动去官网下载。

trino-cli --server hd1.dtstack.com:18080 --catalog=hive --schema=test

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

相关推荐
GlobalInfo27 分钟前
2026年全球机器人用超平执行器市场研究报告:市场规模达7.51亿美元,人形机器人商业化与轻量化运动控制需求推动行业增长
大数据·人工智能·数码相机·microsoft·机器人
冬奇Lab43 分钟前
一天一个开源项目(第252篇):Lightpanda —— 用 Zig 从零写的 AI 专用无头浏览器,内存省 16 倍、速度快 9 倍
人工智能·开源·资讯
IT召唤狮1 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
IT古董2 小时前
《Agent开发工程师成长指南》- 第4章 第2节:Prompt设计五要素——任务、角色、上下文、约束与输出格式
大数据·人工智能·prompt
wflynn2 小时前
GitHub 日榜趋势速报 | 2026-11-02
开源·github
时早玖沐3 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
GPUStack4 小时前
官方说不支持?但我还是用 GPUStack 在 DGX Spark 上跑通了 Qwen-Image-2.1
开源·gpu
Allen_LVyingbo4 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
SL_staff4 小时前
HR系统对接钉钉考勤总失败?根源在于缺乏业务语义级逻辑中枢
java·开源·全栈
miofly4 小时前
Meta 816B 参数 Muse Spark Open 在 NVIDIA GB300 上实现每 GPU 50K tokens 每秒
开源·github