一、准备hdfs、hive基础集群环境,两台虚机hd01、hd02
二、下载Presto相关安装包:
https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.183/presto-server-0.183.tar.gz
https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.183/presto-cli-0.183-executable.jar
三、将安装包上传至hd01服务器/data/tools目录下
四、将presto-server-0.183.tar.gz压缩包,解压到/data/presto目录下
将presto-cli-0.183-executable.jar拷贝至/data/presto/presto-server-0.183/bin目录下,重命名为presto-cli,并赋予当前用户执行权限。
五、presto配置
1)在/data/presto/presto-server-0.183目录下创建etc文件夹;
进入etc文件夹。
2)vi node.properties,创建新文件,写入以下内容:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/data/presto/data
参数说明:
node.environment:环境名称。一个集群节点中的所有节点的名称应该保持一致。
node.id:节点唯一标识的名称。
node.data-dir:数据和日志存放路径。
3)vi jvm.config,创建新文件,写入以下内容:
-server
-Xmx2G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M
4)vi config.properties,创建新文件,写入以下内容:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8181
query.max-memory=2GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://hd01:8181
参数说明:
coordinator:Presto 实例是否以 coordinator 对外提供服务
node-scheduler.include-coordinator:是否允许在 coordinator 上进行调度任务
http-server.http.port:HTTP 服务的端口
query.max-memory:一个节点上的一个查询计划所能使用的最大内存
discovery-server.enabled:是否使用 Discovery service 发现集群中的每一个节点。
discovery.uri:Discovery server 的 url
5)vi log.properties,创建新文件,写入以下内容:
com.facebook.presto=INFO
6)在etc下创建catalog目录,并进入catalog目录
7)vi jmx.properties,创建新文件,写入以下内容:
connector.name=jmx
8)vi hive.properties,创建新文件,写入以下内容:
connector.name=hive-hadoop2
hive.metastore.uri=thrift://hd01:9083
hive.config.resources=/data/hadoop/hadoop-2.7.4/etc/hadoop/core-site.xml,/data/hadoop/hadoop-2.7.4/etc/hadoop/hdfs-site.xml
8093是hive metastore的默认thrift端口
9)运行presto
进入bin目录,执行:
.chmod +x launcher
./launcher start 启动
./launcher stop 启动
./launcher run 前台启动
10)启动后,查看 web ui
11)测试执行一条查询
进入bin目录,执行 ./presto-cli --server hd01:8181 --catalog hive --schema default
12)测试jdbc连接
jdbc:presto://hd01:8181/hive/default