开源大数据集群部署(二十)Trino部署
2.9.1 解压trino的包到opt目录
cd /root/bigdata tar -xzvf trino-server-389.tar.gz -C /opt/ ln -s /opt/trino-server-389 /opt/trino
2.9.2 创建trino用户,并配置专属jdk11
useradd trino su – trino chown -R trino:hadoop /opt/trino-server-389
每台节点生成keytab文件
bash /data/kerberos/getkeytabs.sh /etc/security/keytab/trino.keytab trino
添加环境变量
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版本
2.9.3 定义配置文件
cd /opt/trino/etc
jvm配置
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配置
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配置
# 该节点是否作为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 # 集群所有节点环境名称必须一样 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
2.9.3 启动应用
/opt/trino/bin/launcher start
查看端口是否启动成功
ss -tunlp | grep 18080
查看web页面
2.9.4 对接hive
每个节点都需要配置
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
2.9.5 运行测试
trino-cli需要手动去官网下载。
trino-cli --server hd1.dtstack.com:18080 --catalog=hive --schema=test