Trino 安装与查询示例指南
2025年4月11日本指南将帮助你安装Trino并运行一个示范查询。我们将使用单节点部署方式,适合测试和学习。
1. 系统要求
- Java 17或更高版本
- Linux/macOS/Windows操作系统
- 至少4GB内存
2. 安装Java
确保系统已安装Java:
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-17-jdk
# CentOS/RHEL
sudo yum install java-17-openjdk
# macOS (使用Homebrew)
brew install openjdk@17
# 验证Java安装
java -version
3. 下载并解压Trino服务器
# 创建安装目录
mkdir -p ~/trino
cd ~/trino
# 下载最新版Trino
wget https://repo1.maven.org/maven2/io/trino/trino-server/420/trino-server-420.tar.gz
# 解压文件
tar -xzf trino-server-420.tar.gz
4. 配置Trino
创建必要的配置目录和文件:
mkdir -p ~/trino/trino-server-420/etc
mkdir -p ~/trino/trino-server-420/etc/catalog
创建 etc/node.properties
cat > ~/trino/trino-server-420/etc/node.properties << EOF
node.environment=demo
node.id=demo-node
node.data-dir=/tmp/trino-data
EOF
创建 etc/jvm.config
cat > ~/trino/trino-server-420/etc/jvm.config << EOF
-server
-Xmx4G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
EOF
创建 etc/config.properties
cat > ~/trino/trino-server-420/etc/config.properties << EOF
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=2GB
query.max-memory-per-node=1GB
discovery.uri=http://localhost:8080
EOF
创建 etc/catalog/tpch.properties
这将添加TPCH连接器,它是一个内置的测试数据源:
cat > ~/trino/trino-server-420/etc/catalog/tpch.properties << EOF
connector.name=tpch
EOF
5. 启动Trino服务器
cd ~/trino/trino-server-420
bin/launcher run
服务器启动后,你应该能在日志中看到类似”SERVER STARTED”的消息。
6. 下载CLI客户端
在新的终端窗口中:
wget https://repo1.maven.org/maven2/io/trino/trino-cli/420/trino-cli-420-executable.jar
mv trino-cli-420-executable.jar trino
chmod +x trino
7. 运行示例查询
使用CLI连接并执行查询:
./trino --server localhost:8080 --catalog tpch --schema sf1
连接后,你可以运行以下示例查询:
-- 查看可用表
SHOW TABLES;
-- 简单查询
SELECT * FROM customer LIMIT 5;
-- 聚合查询
SELECT
c_nationkey,
COUNT(*) as customer_count,
SUM(c_acctbal) as total_balance
FROM
customer
GROUP BY
c_nationkey
ORDER BY
customer_count DESC
LIMIT 10;
-- 多表联合查询
SELECT
n.n_name as Nation,
COUNT(c.c_custkey) as Customers
FROM
customer c
JOIN
nation n ON c.c_nationkey = n.n_nationkey
GROUP BY
n.n_name
ORDER BY
Customers DESC;
8. 停止Trino服务器
在服务器终端按 Ctrl+C
或在新终端中使用:
cd ~/trino/trino-server-420
bin/launcher stop
进阶配置
实际生产环境中,你可能需要:
- 配置更多连接器(MySQL、PostgreSQL、Hive等)
- 设置身份验证与授权
- 配置多节点集群
- 调整内存和并发设置
如需更多配置选项,请参考Trino官方文档。
这个单节点设置让你可以快速体验Trino的功能,而无需复杂的Hadoop环境。