博客 / 詳情

返回

開源大數據集羣部署(二十)Trino部署

作者:櫰木

1 解壓trino的包到opt目錄

cd /root/bigdata
tar -xzvf trino-server-389.tar.gz -C /opt/
ln -s /opt/trino-server-389 /opt/trino

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版本

 title=

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

3 啓動應用

/opt/trino/bin/launcher start

查看端口是否啓動成功

ss -tunlp | grep 18080

 title=
查看web頁面
 title=

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

5 運行測試

trino-cli需要手動去官網下載。

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

更多技術信息請查看雲掣官網https://yunche.pro/?t=yrgw

user avatar laoqing 頭像 u_16213607 頭像 u_15082365 頭像
3 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.