创建trino用户和用户组
# 创建用户组
groupadd trino
# 创建用户并设置用户组
useradd -g trino trino
为运行 trino 的用户提供足够的 unlimit。包括 trino 能够打开的文件描述符,官方推荐以下配置:
vim /etc/security/limits.conf
trino soft nofile 131072
trino hard nofile 131072
修改完后,退出当前会话,重新登录即可生效。查看配置是否生效:
su trino
ulimit -a
解压java的压缩包,配置 Java 环境
# 配置 java 环境变量
vim ~/.bash_profile
export JAVA_HOME=/usr/bigdata/openjdk-jre-17.0.9
PATH=$JAVA_HOME/bin:$PATH
# 关闭 .bash_profile 文件
# 使环境变量生效
source ~/.bash_profile
解压 trino 压缩包,假设解压之后的目录为/usr/bigdata/trino-server-433
。
以下文件需要在每台机器都配置
catalog文件下存放其他数据源的连接方式,可以暂时不配置或者之配置一个jmx数据源
cd /usr/bigdata/trino-server-433
mkdir data && mkdir etc && mkdir etc/catalog && cd etc
touch node.properties
touch jvm.config
touch config.properties
touch log.properties
配置节点基本信息
# 节点运行环境名称
# 集群中的所有 trino 节点都必须由相同的环境名称。
# 必须以小写字母开头,只能包含小写字母、数字和下划线。
node.environment=trino_dev
# 节点唯一标识
# 每个节点都必须由唯一的标识符。
# 标识符必须以字母数字字符开头,并且只能包含字母数字、- 或 _ 字符
node.id=001
# trino 的数据目录,trino 会在该目录中存放日志、以及其他数据。
node.data-dir=/usr/bigdata/trino-server-433/data
配置 jvm 基本信息,视情况修改,Xmx设置最大堆内存
-server
# work节点可以适当增加堆内存大小
-Xmx4G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-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
配置服务基本信息。分为两种一种协调者 coordinator ;一种工作者 worker
coordinator 最小配置
# 是否是协调者
coordinator=true
# 允许在协调器上调度工作
node-scheduler.include-coordinator=false
# 服务暴露端口
http-server.http.port=9090
# 可以暂时不配置,后期增加上,用于限制单个查询使用的内存
#query.max-memory=8GB
#query.max-memory-per-node=1GB
#query.max-total-memory-per-node=2GB
# 服务发现的uri。填写协调者的uri
discovery.uri=http://10.110.60.185:9090
worker 最小配置
# 是否是协调者
coordinator=false
# 服务暴露端口
http-server.http.port=8080
# 可以暂时不配置,后期增加上,用于限制单个查询使用的内存
#query.max-memory=8GB
#query.max-memory-per-node=1GB
#query.max-total-memory-per-node=2GB
# 服务发现的uri。填写协调者的uri
discovery.uri=http://10.110.60.185:9090
# 配置日志级别为INFO
io.trino=INFO
connector.name=jmx
cd /usr/bigdata/trino-server-433
bin/launcher start
https://repo1.maven.org/maven2/io/trino/trino-cli/433/trino-cli-433-executable.jar
修改trino-cli
# 修改trino-cli的名称,并且新增执行权限,可以在bash直接执行
mv trino-cli-433-executable.jar /usr/bigdata/trino-server-433/bin/trino
chmod a+x /usr/bigdata/trino-server-433/bin/trino
./trino --server 10.110.60.185:9090 --catalog jmx --schema default
vim catalog/mysql.properties
connector.name=mysql
connection-url=jdbc:mysql://127.0.0.1:3306?enabledTLSProtocols=TLSv1.2&useSSL=false
connection-user=root
connection-password=123456
使用sql新增后会自动生成properties文件放到catalog中。
CREATE CATALOG sql_test USING mysql
WITH (
"connection-url" = 'jdbc:mysql://127.0.0.1:3306?enabledTLSProtocols=TLSv1.2&useSSL=false',
"connection-user" = 'root',
"connection-password" = '123456'
)