Presto的安装手记

一 下载安装包
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.192/presto-server-0.192.tar.gz

二 解压安装
mkdir -p /data/src/presto
mv presto-server-0.192.tar.gz /data/src/presto/
tar -zxvf presto-server-0.192.tar.gz
三 配置设置
配置主要包含以下几个方面

节点的公共配置
JVM的配资信息
Presto server的配置
连接器的配置
3.1 节点公共配置
新建etc/node.properties文件

node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data
说明:

node.environment: 环境信息,例如production
node.id: 节点ID,整个集群应该是唯一的
node.data-dir: presto的日志和其他数据的存储地址,建议跟其他业务目录分开
3.2 JVM配置
新建etc/jvm.config

-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
3.3 配置文件
新建 etc/config.properties 文件

3.3.1 SERVER端的最小配置
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
3.3.2 WORKERS节点的最小配置
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery.uri=http://example.net:8080

3.3.3 节点同时是WORKER和CORDINATOR节点的配置
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
配置说明
coordinator: 是否作为协调节点
node-scheduler.include-coordinator: 是否允许cordinator作为执行节点
http-server.http.port: 不同节点之间的通信端口
query.max-memory: 每次query允许使用的最大内存
query.max-memory-per-node: 每次query到每个节点最大允许使用的内存
discovery-server.enabled: 是否允许使用服务发现查找,各个woker节点注册的地址
discovery.uri: 服务发现查找的地址,URL不允许有后缀 / 符号
3.4 日志级别设置
新建etc/log.properties文件
com.facebook.presto=INFO

允许支持的是:DEBUG, INFO, WARN and ERROR

 

3.5目录属性
新建etc/catalog/jmx.properties 文件

connector.name=jmx
更详细的 连接器 : https://prestodb.io/docs/current/connector.html
四 运行 Presto 
daemon 方式启动

bin/launcher start
终端启动

bin/launcher run
日志保留在/var/log目录下

launcher.log:启动日志
server.log:服务端日志
http-request.log:节点之间的通信日志

五 管理界面
http://xxx.xxx.xxx.xxx:8080/

问题:
Unable to create input format org.apache.hadoop.mapred.TextInputFormat
解决:将所有的hadoop依赖包拷贝过去
cp /data/service/hadoop/share/hadoop/mapreduce/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-common-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-hdfs-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-hdfs-client-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.8.0.jar /data/service/presto/plugin/hive-hadoop2
cp /data/service/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.8.0.jar /data/service/presto/plugin/hive-hadoop2

作者: inter12

在这苦短的人生中,追求点自己的简单快乐

发表评论

电子邮件地址不会被公开。 必填项已用*标注