安装包下载安装
- 地址:
- 个人选择这个版本 presto-server-0.196.tar.gz
- 把安装包上传到 /opt/software 目录
- 先创建 presto 文件夹
[kevin@hadoop112 module]$ mkdir presto
- 解压
[kevin@hadoop112 software]$ tar -zxvf presto-server-0.196.tar.gz -C /opt/module/presto
配置
- 进入到/opt/module/presto 目录,并创建存储 数据 && 配置文件 文件夹
[kevin@hadoop112 software]$ cd /opt/module/presto/presto-server-0.196/
[kevin@hadoop112 presto-server-0.196]$ mkdir data
[kevin@hadoop112 presto-server-0.196]$ mkdir etc
- 在 etc 文件夹下添加 jvm.config 配置文件
[kevin@hadoop112 presto-server-0.196]$ cd etc/
[kevin@hadoop112 etc]$ vim jvm.config
添加如下内容
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
- 在 etc 文件夹下创建存放数据源的文件夹
[kevin@hadoop112 etc]$ mkdir catalog
- 配置一个 Hive 的 catalog
[kevin@hadoop112 etc]$ cd catalog
[kevin@hadoop112 catalog]$ vim hive.properties
添加如下内容
connector.name=hive-hadoop2
hive.metastore.uri=thrift://hadoop112:9083
- 配置 node 属性
[kevin@hadoop112 catalog]$ cd /opt/module/presto/presto-server-0.196/etc/
[kevin@hadoop112 etc]$ vim node.properties
添加如下内容 (node id 每个节点都不一样)
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/opt/module/presto/presto-server-0.196/data
- 分发
[kevin@hadoop112 module]$ xsync.sh presto/
- 分发完,先修改 上面的 node.properties 中的 node id ,不一样就ok了
[kevin@hadoop113 module]$ cd /opt/module/presto/presto-server-0.196/etc/
[kevin@hadoop113 etc]$ vim node.properties
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-fffffffffffe
node.data-dir=/opt/module/presto/presto-server-0.196/data
[kevin@hadoop114 module]$ cd /opt/module/presto/presto-server-0.196/etc/
[kevin@hadoop114 etc]$ vim node.properties
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-fffffffffffd
node.data-dir=/opt/module/presto/presto-server-0.196/data
- 在 hadoop112 上配置 coordinator 节点
[kevin@hadoop112 module]$ cd /opt/module/presto/presto-server-0.196/etc
[kevin@hadoop112 etc]$ vim config.properties
添加内容如下
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8881
query.max-memory=50GB
discovery-server.enabled=true
discovery.uri=http://hadoop112:8881
- 在 hadoop103、hadoop104 上配置 worker 节点
[kevin@hadoop113 module]$ cd /opt/module/presto/presto-server-0.196/etc
[kevin@hadoop113 etc]$ vim config.properties
[kevin@hadoop114 module]$ cd /opt/module/presto/presto-server-0.196/etc
[kevin@hadoop114 etc]$ vim config.properties
添加内容如下
coordinator=false
http-server.http.port=8881
query.max-memory=50GB
discovery.uri=http://hadoop112:8881
启动
- 启动 Hive Metastore
[kevin@hadoop112 etc]$ cd /opt/module/hive-2.3.6/
[kevin@hadoop112 hive-2.3.6]$ nohup bin/hive --service metastore >/dev/null 2>&1 &
- 若需要查取真正的数据需要启动hadoop集群
[kevin@hadoop112 hive-2.3.6]$ hadoop-cluster.sh start
- 分别在 hadoop102、hadoop103、hadoop104 上启动 Presto Server
[kevin@hadoop112 presto-server-0.196]$ bin/launcher start
[kevin@hadoop113 presto-server-0.196]$ bin/launcher start
[kevin@hadoop114 presto-server-0.196]$ bin/launcher start
- 查询进程
[kevin@hadoop112 imply-2.7.10]$ xcall.sh jps
================= hadoop101的jps ===============
2807 Jps
2634 PrestoServer
2492 RunJar
================= hadoop102的jps ===============
24563 Jps
24459 PrestoServer
================= hadoop103的jps ===============
7287 PrestoServer
7339 Jps
- 关闭 & 重启
[kevin@hadoop112 presto-server-0.196]$ bin/launcher stop
[kevin@hadoop113 presto-server-0.196]$ bin/launcher stop
[kevin@hadoop114 presto-server-0.196]$ bin/launcher stop
[kevin@hadoop112 presto-server-0.196]$ bin/launcher restart
[kevin@hadoop113 presto-server-0.196]$ bin/launcher restart
[kevin@hadoop114 presto-server-0.196]$ bin/launcher restart
Presto 命令行 Client 安装
- 下载 Presto 的客户端
presto-cli-0.196-executable.jar
- 将 presto-cli-0.196-executable.jar 上传到 hadoop102 的/opt/module/presto 文件夹下
[kevin@hadoop112 software]$ cp presto-cli-0.196-executable.jar /opt/module/presto/presto-server-0.196/
- 改名
[kevin@hadoop112 presto-server-0.196]$ mv presto-cli-0.196-executable.jar presto-cli.jar
- 启动 prestocli
[kevin@hadoop112 presto-server-0.196]$ java -jar presto-cli.jar --server hadoop112:8881 --catalog hive --schema default
- Presto 命令行操作
Presto 的命令行操作,相当于 Hive 命令行操作。每个表必须要加上 schema。(schema 相当于 database)
例如:
查询出来内容太多时,需要按 q 退出
presto:default> show schemas;
presto:default> use gmall;
presto:gmall> show tables;
presto:gmall> select * from ads_user_topic;
presto:gmall> quit;
Prest 可视化 Client 安装
- 下载
- 将 yanagishima-18.0.zip 上传解压到 hadoop112 的/opt/module/presto 目录
[kevin@hadoop112 software]$ unzip yanagishima-18.0.zip -d /opt/module/presto/
- 配置
[kevin@hadoop112 software]$ cd /opt/module/presto/yanagishima-18.0
[kevin@hadoop112 yanagishima-18.0]$ vim conf/yanagishima.properties
在最后面追加如下内容
# 端口
jetty.port=7080
#name
presto.datasources=kevin-presto
# presto 的 coordinator
presto.coordinator.server.kevin-presto=http://hadoop112:8881
# 数据源类型
catalog.kevin-presto=hive
schema.kevin-presto=default
sql.query.engines=presto
- 启动
[kevin@hadoop112 yanagishima-18.0]$ nohup bin/yanagishima-start.sh >y.log 2>&1 &
- 关闭
[kevin@hadoop112 yanagishima-18.0]$ bin/yanagishima-shutdown.sh
- webUI页面
- 简单使用


写个脚本吧
#!/bin/bash
case $1 in
"start"){
for i in hadoop101 hadoop102 hadoop103
do
echo "================= $i正在启动 Presto-Server ==============="
ssh kevin@$i "source /etc/profile;/opt/module/presto/presto-server-0.196/bin/launcher start"
done
echo "====================================================================="
echo ""
echo "================= 启动 Presto-可视化插件 ================"
echo " nohup /opt/module/presto/yanagishima-18.0/bin/yanagishima-start.sh >/opt/module/presto/yanagishima-18.0/y.log 2>&1 & "
echo ""
echo "================= 关闭 Presto-可视化插件 ================"
echo " /opt/module/presto/yanagishima-18.0/bin/yanagishima-shutdown.sh"
echo ""
echo "================= 进入 Presto命令台 ================"
echo " java -jar /opt/module/presto/presto-server-0.196/presto-cli.jar --server hadoop101:8881 --catalog hive --schema default "
echo ""
echo "====================================================================="
};;
"stop"){
for i in hadoop101 hadoop102 hadoop103
do
echo "================= $i正在关闭 Presto-Server ==============="
ssh kevin@$i "source /etc/profile;/opt/module/presto/presto-server-0.196/bin/launcher stop"
done
};;
esac
网友评论