官方文档
需要先安装java环境
- 下载安装包
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.260/presto-server-0.260.tar.gz
- 解压
tar -zxvf presto-server-0.259.1.tar.gz
- 创建一个数据目录用于presto存储数据
mkdir /data/presto_data
- 在安装目录中创建etc目录,并编写配置文件
mkdir etc
# 编写节点属性配置文件
vi etc/node.properties
node.environment=production # 环境名称 集群中所有的presto节点环境名称必须一致
node.id=datanode1 # 节点唯一ID
node.data-dir=/data/presto_data # 数据目录的位置
-------------------------------------------------------------------
# 编写jvm配置文件
vi etc/jvm.config
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-------------------------------------------------------------------
# 编写配置属性
vi etc/config.properties
# 每个persto服务可以作为协调器,也可以作为工作器,大的集群使用一台机器专门用作协调器会提供更好的性能
# 作为协调器最小配置
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
# 作为工作器最小配置
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080
# 同时作为协调器和工作器的测试配置
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
-------------------------------------------------------------------
# 编写日志配置文件
vi etc/log.properties
com.facebook.presto=INFO
- 配置hive连接器
mkdir etc/catalog
# 编写hive配置文件
vi etc/catalog/hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://example.net:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
# 在jvm配置访问HDFS用户
vi etc/jvm.config
-DHADOOP_USER_NAME=hdfs
- 将安装目录分发至其他节点,调整对应协调器与工作器配置
- 启动
./bin/launcher start
- 其他问题
1. java高版本依赖
如果原版本java环境不方便改动,可以在presto启动时设置java环境
vi ./bin/launcher
PATH=/opt/module/jdk1.8.0_301/bin/:$PATH
exec "$(dirname "$0")/launcher.py" "$@"
2. 提示配置文件格式不对
Invalid configuration property node.environment: is malformed
Invalid configuration property node.id: is malformed
查看etc/node.properties,确保格式正确,行后不能加注释