Presto 安装配置

1.Presto简介:

1.presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。
2.presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。
3.主要用来处理秒级查询场景。

下入在官网:
https://prestodb.io/overview.html

presto简介.png

2.Presto 架构

presto架构图.png

详细的架构图


详细架构图.png

3.presto 安装部署

部署规划:

名称 服务器ip 角色
master01 192.168.1.151 Coordinator
master02 192.168.1.152 presto Worker
slave01 192.168.1.153 presto Worker

3.1 需要的文件:

presto-server-0.245.tar.gz 下载地址:;
https://repo1.maven.org/maven2/com/facebook/presto/presto-server/
presto-cli-0.223.1.jar 用更低的版本不要用高版本否则会出现乱码
下载地址:https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/

3.2 下载后上传服务器:

1.presto-server-0.245.tar.gz    presto-cli-0.223.1.jar
2.解压: tar -zxvf  presto-server-0.245.tar.gz
3.在 cd   /home/presto/presto-server-0.245  中创建etc 文件夹  mkdir  etc
4. 在/home/presto/presto-server-0.245/etc 下面创建文件:
5. 创建存储的文件夹:
6. mkdir -p /home/presto/presto-datadir
7.在etc 下面创建三个文件 :
config.properties  jvm.config  log.properties  node.properties

8.编辑文件vim jvm.config

-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-DHADOOP_USER_NAME=hdfs

9.编辑文件vim config.properties

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=10008
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://192.168.1.151:10058

  1. 编辑vi log.properties
com.facebook.presto=INFO

11.编辑文件:vi node.properties

node.environment=production
node.id=master01
node.data-dir=/home/presto/presto-datadir
  1. 在/home/presto/presto-server-0.245/etc 下面创建catalog 文件夹 并且创建文件
    创建 hive.properties 并且编辑
[root@master01 etc]# pwd
/home/presto/presto-server-0.245/etc
[root@master01 etc]# cd catalog/
[root@master01 catalog]# ll
总用量 8
-rw-r--r-- 1 root root 181 1月  28 00:45 hive.properties
-rw-r--r-- 1 root root  20 1月  28 00:45 jmx.properties
[root@master01 catalog]# vi hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://master02.pxx.com:9083
hive.config.resources=/etc/hadoop/3.1.4.0-315/0/core-site.xml,/etc/hadoop/3.1.4.0-315/0/hdfs-site.xml

12.2 在/home/presto/presto-server-0.245/etc/目录下面创建 catalog/ 创建文件 jmx.properties

[root@master01 etc]# pwd
/home/presto/presto-server-0.245/etc
[root@master01 etc]# cd catalog/
[root@master01 catalog]# ll
总用量 8
-rw-r--r-- 1 root root 181 1月  28 00:45 hive.properties
-rw-r--r-- 1 root root  20 1月  28 00:45 jmx.properties
[root@master01 catalog]# vi jmx.properties 

connector.name=jmx

3.3 将该文件分发到其他机器

1.发送master02机器    scp -r /home/presto/presto-server-0.245/ root@master02.com:/home/presto/
2.发送slave01机器  scp -r /home/presto/presto-server-0.245/ root@slave01.com:/home/presto/

3.4 需要 修改的文

3.4.1master02 机器需要修改的第一个文件:

master02 机器需要修改的第一个文件:
在这个路径下面:/home/presto/presto-server-0.245/etc
[root@master02 etc]# ls
catalog  config.properties  jvm.config  log.properties  node.properties
编辑文件 vim node.properties  主要配置node.id 配置不一样
node.environment=production
node.id=master02
node.data-dir=/home/presto/presto-datadir

3.4.2 master02 机器需要修改的第二个文件:

路径:/home/presto/presto-server-0.245/etc/

编辑文件
[root@master02 etc]# vi config.properties
coordinator=false    # 注释掉表示不是coordinator
#node-scheduler.include-coordinator=false  # 注释掉表示不是coordinator
http-server.http.port=10008
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
#discovery-server.enabled=true   #  注释掉
discovery.uri=http://192.168.1.151:10058

3.4.3 Slave01 机器需要修改的第一个文件:提示主要修改id 不能重复

路径: /home/presto/presto-server-0.245/etc
[root@master02 etc]# vi node.properties 
node.environment=production
node.id=master03
node.data-dir=/home/presto/presto-datadir

3.44 Slave01 机器需要修改的第二个文件

路径:/home/presto/presto-server-0.245/etc

  编辑文件
[root@slave01 etc]# vi config.properties
coordinator=false    # 注释掉表示不是coordinator
#node-scheduler.include-coordinator=false  # 注释掉表示不是coordinator
http-server.http.port=10008
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
#discovery-server.enabled=true   #  注释掉
discovery.uri=http://192.168.1.151:10058

3.5 首先要启动hive 的Hive Metastore 服务:

 nohup bin/hive --service metastore >/dev/null 2>&1 &

3.6 首先要启动master01,master02,slave01 机器上的presto service 服务

1.后台启动
[root@master01 presto]$ bin/launcher run
[root@master02 presto]$ bin/launcher run
[root@slave01 presto]$ bin/launcher run
2.前台启动
[root@master01 presto]$ bin/launcher start
[root@master02 presto]$ bin/launcher start
[root@slave01 presto]$ bin/launcher start
3. 日志位置:/home/presto/presto-datadir/var/log
4. tail -f  /home/presto/presto-datadir/var/log/server.log

访问服务端:http://192.168.1.151:10058/ui/

presto服务端.png

4. 启动presto client 客户端

4.1 下载客户端 --> presto-cli-0.223.1.jar

1.地址:https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/
2.修改名称
[root@master01 opt]#  mv  presto-cli-0.223.1.jar   prestocli
3.赋值权限
[root@master01 opt]#   chmod +x prestocli
4.启动:prestocli
[root@master01 opt]# ./prestocli --server 192.168.1.151:10058 --catalog hive --schema db_wudl;
presto:db_wudl> show tables;
可以看到你建的表表示成功:

5.遇到的问题:

  启动客户端的时候 会出现乱码情况,原因是客户端的版本太高,可以换成低版本的presto-cli
  错误如下:
presto 报错.png

6. 还会遇到一个错误:

查询的时候会遇到lzo 压缩问题:
错入如下:
Query 20210106_113208_00005_s5r85 failed: Unable to create input format com.hadoop.mapred.DeprecatedLzoTextInputFormat

这时候需要将 hadoop-lzo-0.4.20.jar 加入到presto service 中
hadoop-lzo-0.4.20.jar 下载
路径:/home/presto/presto-server-0.245/plugin/hive-hadoop2
重启服务就可以了


7.presto 的web 安装:

简介:

yanagishima 是presto的一个客户端web工具,目前支持相对较好,部署一下。

7.1 编译过程略

7.2 主要的配置文件

注意:

注意一定要在这个目录下新建一个空的hive_setup_query_your-hive文件

解压:
unzip yanagishima-18.0.zip
vi /opt/software/yanagishima-18.0/conf/yanagishima.properties
# yanagishima web port
jetty.port=38080
# 30 minutes. If presto query exceeds this time, yanagishima cancel the query.
presto.query.max-run-time-seconds=1800
# 1GB. If presto query result file size exceeds this value, yanagishima cancel the query.
presto.max-result-file-byte-size=1073741824
presto.datasources=pxx-presto
auth.your-presto=false
# presto coordinator url
presto.coordinator.server.pxx-presto=http://master01.pxx.com:10008
# almost same as presto coordinator url. If you use reverse proxy, specify it
presto.redirect.server.pxx-presto=http://master01.pxx.com:10008
# presto catalog name
catalog.pxx-presto=hive
# presto schema name
schema.pxx-presto=default
# if query result exceeds this limit, to show rest of result is skipped
select.limit=500
# http header name for audit log
audit.http.header.name=some.auth.header
use.audit.http.header.name=false
# limit to convert from tsv to values query
to.values.query.limit=500
# authorization feature
check.datasource=false
hive.jdbc.url.pxx-hive=jdbc:hive2://master02.pxx.com:10000/default;auth=noSasl
hive.jdbc.user.pxx-hive=hive
hive.jdbc.password.pxx-hive=hive
hive.query.max-run-time-seconds=3600
hive.query.max-run-time-seconds.your-hive=3600
resource.manager.url.pxx-hive=http://master01.pxx.com:8088
sql.query.engines=presto,hive
hive.datasources=your-hive
hive.disallowed.keywords.your-hive=insert,drop
# 1GB. If hive query result file size exceeds this value, yanagishima cancel the query.
hive.max-result-file-byte-size=1073741824
# 注意一定要在这个目录下新建一个空的hive_setup_query_your-hive文件
hive.setup.query.path.your-hive=/opt/software/yanagishima-18.0/conf/hive_setup_query_pxx-hive
cors.enabled=false

7.3 启动停止

启动
nohup bin/yanagishima-start.sh >y.log 2>&1 &
停止:
/opt/software/yanagishima-18.0/bin/yanagishima-shutdown.sh

7.4 web 访问页面:

第一次加载比较慢需要等一会

http://master01.com:38080/
prestoweb.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,458评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,030评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,879评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,278评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,296评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,019评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,633评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,541评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,068评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,181评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,318评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,991评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,670评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,183评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,302评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,655评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,327评论 2 358

推荐阅读更多精彩内容