其他分享
首页 > 其他分享> > Presto(Trino)集群搭建和其他组件集成

Presto(Trino)集群搭建和其他组件集成

作者:互联网

1. Trino集群安装

1.1 说明

1.1.1 安装说明

之前安装过Presto版本,但是由于需要连接Phoenix+hbase,Phoenix版本是5.1.2,而Presto已有的版本只支持Phoenix4.16.1,对应的hbase的1.X版本,所以切换到Trino版本。

需要注意的是trino最低支持jdk11版本,而大部分大数据组件依赖的jdk都是1.8,所以以下的安装是基于jdk1.8和jdk11的双版本同时存在的,通过不同的用户使用不同的环境变量来保持双版本不冲突。

1.1.2 版本说明

以下是各个基础组件的相关版本供参考,组件全部使用的是Apache官方的组件,并不是CDH版本集成的。

组件名称 版本号 说明
Hadoop 3.1.3
Hbase 2.4.6
Hive 3.1.2
Iceberg 0.13.2
Flink 1.12.7 打算升级到1.14
Phoenix 5.1.2
Spark 2.4.8 打算升级到3.2.1

1.1.3 组件集成说明

1.2 节点规划

hostname 节点用途
hadoop200 coordinator
hadoop201 Worker
hadoop202 Worker
hadoop203 Worker

1.3 软件包安装(3个节点)

1.3.1 安装jdk11

由于集群环境中已经存在低版本jdk1.8,为了避免版本更新对已有项目的影响,所以在各台服务器新增用户trino,在新的用户中安装jdk11,并且在该新用户的环境变量配置jdk11。

useradd trino
passwd trino

trino官方推荐的jdk11版本是Azul Zulu
image

wget https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz

tar -zxvf zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz -C /home/trino/
cd /home/trino
mv zulu11.56.19-ca-jdk11.0.15-linux_x64 jdk11
chown -R trino:trino jdk11

修改trino用户的配置文件,增加jdk11的环境变量
vim /home/trino/.bash_profile

export JAVA_HOME=/home/trino/jdk11
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

切换到trino用户,查看jdk版本

su trino
source ~/.bash_profile
java -version

image

分发jdk11到其他节点:

scp -r /home/trino/jdk11 trino@hadoop201:/home/trino/
scp -r /home/trino/jdk11 trino@hadoop202:/home/trino/
scp -r /home/trino/jdk11 trino@hadoop203:/home/trino/

1.3.2 安装trino

下载地址:wget https://repo1.maven.org/maven2/io/trino/trino-server/386/trino-server-386.tar.gz

tar -xzvf trino-server-386.tar.gz -C /home/trino/
chown -R trino:trino /home/trino/trino-server-386 

创建指定目录

# 切换trino用户
su trino

# 创建日志存储目录
mkdir /home/trino/trino-server-386/data/

# 创建配置文件存放目录
mkdir /home/trino/trino-server-386/etc

分发到其他节点

# trino用户下
su trino
cd /home/trino/
scp -r /home/trino/trino-server-386 trino@hadoop201:/home/trino/
scp -r /home/trino/trino-server-386 trino@hadoop202:/home/trino/
scp -r /home/trino/trino-server-386 trino@hadoop203:/home/trino/

1.4 coordinator配置

在hadoop200上配置

# 编辑文件
vim /home/trino/trino-server-386/etc/config.properties

# 新增以下内容
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8089
query.max-memory=3GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://hadoop200:8089
# 编辑文件
vim /home/trino/trino-server-386/etc/jvm.config

# 新增以下内容
-server
-Xmx2G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError

# 编辑文件
vim /home/trino/trino-server-386/etc/node.properties

# 新增以下内容
node.environment=production
node.id=trino-hadoop200
node.data-dir=/home/trino/trino-server-386/data/

1.5 work配置

在hadoop201、hadoop202、hadoop203上配置

# 编辑文件
vim /home/trino/trino-server-386/etc/config.properties

# 新增以下内容
coordinator=false
node-scheduler.include-coordinator=true
http-server.http.port=8090
query.max-memory=3GB
query.max-memory-per-node=1GB
discovery.uri=http://hadoop200:8090

# 编辑文件
vim /home/trino/trino-server-386/etc/jvm.config

# 新增以下内容
-server
-Xmx32G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-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
-Dpresto-temporarily-allow-java8=true

# 编辑文件
vim /home/trino/trino-server-386/etc/node.properties

# 新增以下内容
node.environment=production
#注意:node.id代表work节点的唯一标识,不同的节点标识不一样
# hadoop201 => trino-hadoop201
# hadoop202 => trino-hadoop202
# hadoop203 => trino-hadoop203
node.id=trino-hadoop201
node.data-dir=/home/trino/trino-server-386/data/

2. 配置连接器

2.1 集成Iceberg

2.1.1 配置iceberg(3个节点)

# 编辑文件
vim /home/trino/trino-server-386/etc/catalog/hive.properties

# 新增以下内容
connector.name=iceberg
hive.metastore.uri=thrift://cdh192-56:9083,thrift://hadoop200:9083,thrift://hadoop201:9083
hive.config.resources=/home/trino/trino-server-386/etc/hadoop/core-site.xml,/home/trino/trino-server-386/etc/hadoop/hdfs-site.xml

配置完成后分发到其他2个节点。
注意:在hadoop集群是HA的模式下,需要用hive.config.resources指定core-site.xml和hdfs-site.xml。否则会报ns1找不到的问题。

2.1.2 trino查询iceberg测试

TODO:待补充

2.2 集成Hive

2.3 集成Kafka

2.4 集成Iceberg

2.5 集成MySQL

标签:node,Presto,server,XX,386,组件,home,Trino,trino
来源: https://www.cnblogs.com/30go/p/16403842.html