facebook presto安装
来源:互联网 发布:淘宝网拍卖车辆提档 编辑:程序博客网 时间:2024/04/30 12:37
facebook presto是最近出来的一个交互式的分布式查询引擎,支持简单的SQL,据称比mapreduce快10倍,访问presto homepage可以深入了解presto
presto最好是用一个专门存储data的目录,这个目录存储log和local metadata,独立开来的data目录有利于更新
配置presto
node properties:包含针对于每个节点的configuration,也就是说每个节点的configuration都是个性化的
jvm config:包含针对java虚拟机的命令行的选项,一行一项,这些命令没有被解释,所以如果包含有空格或者特殊字符的话,就会报错OnOutOfMemoryError,然后退出java虚拟机,写个heap dump for debuging然后终止进程,presto编译每个查询为字节码所以会产生很多的classes文件,加入floatingdecimal-0.1.jar到presto的lib中,因为比如hive将float存成了text,但是如果用这个包,可以解析float从而提高性能
config properties:包含了对于presto server的configuration,每个prosto server能够作为both coordinator和worker,但是在一个较大的集群上用一个single machine去提供coordinator的工作会得到最好的性能,datasources是支持什么类型的catalog,比如hive 和jmx,http-server.http.port指定http的端口,对内也对外,presto-metastore.db.filename指定H2数据存放的metastore的文件地址(这还在开发中,理应是只有coordinator中才有,但是现在版本中worker中也有),task.max-memory指的是每个single task所用到的内存大小,这个option限制了group by,join的右支,order by,我的猜测是这些操作中都有同步点,所以要使用到内存来缓存。设置的低的话会影响运行的queries,设置的高会引起jvm的内存溢出,discovery-server.enabled用discovery service去找到集群中的node,每个instance在启动的时候带着discovery service一起注册,默认的coordinator会运行discovery service,discovery.uri就是ip+port,由于可以使用默认的coordinator来完成这个function直接将coordinator的ip+port指定
log级别:和java的log级别很相似,设置DEBUG就是把DEBUG的日志全部都输出
catalog properties:presto通过connectors接触数据,在catalogs中“挂载”的,connector提供在catalog中的所有的schema和table。举个例子,hive connector将hive database
映射到schema,所以如果hive connector被挂载,就可以访问hive中的table,catalogs被注册在/etc/catalog中,如果是jmx的connector要注册,就添加文件jmx.properties
如果要创建hive的mount,首先,在/etc/catalog中创建hive.properties
实际安装记录:
1,首先按照说的在PRESTO_HOME中建立etc目录,建立文件node.preperties
注意node.environment如果在一个集群中的应该有同一个名字,node.id必须是node唯一的,node.data-dir是data目录,用来存储logs和data
在我的机器中我设置为:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/home/casa/maintenance/presto/data
2,jvm config,首先在etc下建立jvm.config文件
注意jvm.config中如果你要处理float数据类型,请加入lib中的floatingdecimal-0.1.jar
在我的机器中的配置为:
-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:PermSize=150M
-XX:MaxPermSize=150M
-XX:ReservedCodeCacheSize=150M
-Xbootclasspath/p:/home/casa/maintenance/presto/presto-server-0.52/lib/floatingdecimal-0.1.jar
3,config properties,首先在建立config.properties
注意config.properties,因为是单机版的,所以coordinator应该是true,第二个datasources应该是具体的connector,最后一个默认为你机器的ip和8080
在我的机器中的配置为:
coordinator=true
datasources=jmx
http-server.http.port=8080
presto-metastore.db.type=h2
presto-metastore.db.filename=var/db/MetaStore
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://10.11.1.174:8080
4,log.properties随你自己
在我的机器中的配置为:
#有四个选项DEBUG,INGO,WARN,ERROR
com.facebook.presto=DEBUG
5,catalog目录,首先在etc下建立catalog目录,然后根据你自己情况,增加connector,比如有java就可以增加jmx,所以对应的,jmx.properties要被建立在catalog
在我的机器中的配置为:
connector.name=jmx
上面步骤结束之后开始启动
启动server:PRESTO_HOME/bin/launcher start
启动client:1,首先你要下载可执行文件,presto-cli-0.52-executable.jar
2,重命名为presto,找个地方放起来
3,然后执行客户端:presto --server localhost:8080 --catalog jmx --schema default
- facebook presto安装
- facebook presto 安装
- facebook presto安装与配置 CDH4.4
- Facebook Presto 0.100&0.118的安装
- facebook presto jdbc连接
- Presto安装
- facebook presto源码解读( part3 )
- Presto学习-presto的安装
- Presto:Facebook的分布式SQL查询引擎
- Presto:Facebook的分布式SQL查询引擎
- Facebook Bigdata - Presto 0.80 版本说明
- Facebook Bigdata - Presto 0.81 版本说明
- Facebook Bigdata - Presto 0.82 版本说明
- Presto:Facebook的分布式SQL查询引擎
- facebook presto源码解读(part1)
- Fackbook Presto 安装使用
- Presto 安装部署
- presto安装介绍
- python面试题
- 面向接口编程2
- Python面试题集
- python 面试题总结
- 华为python面试题
- facebook presto安装
- Python面试集锦
- 平衡点问题
- 淘宝面试题猜数字游戏
- 微软、google、雅虎、百度等各大著名公司的经典面试题的python实现!
- Python 面试题 - 堆排序 & 演算过程
- OPENCV中cvFindContours函数说明
- POJ2823(单调队列)
- [WinForm]最小化到系统托盘,右键退出