prestoDB搭建小得

因为数据量的原因,公司安排我去搭建一个使用presto查询引擎的环境,几经周折,勉强搭建了一个出来,在这里做一下经验总结。

环境:

VM虚拟机,安装centos6.6,Mysql5.6

安装的软件包:

apache-hive-1.2.1-bin.tar.gz,sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz(注意,这个包只对应hadoop2.*)

hadoop-2.6.0-cdh5.4.4.tar.gz(hadoop包有cdh和apache的,不过国内用的cdh比较多)


安装的过程按照基本的文档就超不多了,但是有需要注意的地方(防火墙要注意

1、hive版本当前使用需要启动metastore和hiveserver2服务,注意是hiveserver2的服务,新版本里面对hiveserver已经停止使用,但是命令依然存在,报ClassNotFoundException(hive.site.xml配一下thrift的端口和url,提供presto使用)

2、在启动hive的时候偶尔会报exec.*.jar这中错误,注意/etc/profile下的HIVE_HOME是否有正确配置,执行source /etc/profile即可

3、squoop提供对hive导入数据的功能,但是已经存在的表无法进行导入,需要在hadoop/bin下执行 hadoop fs -ls查看当前hdfs已经存有的表数据,通过 hadoop fs -rmr xxx进行xxx数据的删除

4、presto注意在etc/catalog下配置需要连接的库的properties文件,在etc/config.properties下注意写入连接的对象的properties文件名

5、想到了再写...

结果 :

通过2个虚拟机,一个master节点,一个node节点进行数据的查询,1kw的数据量,12字段的宽表,

通过执行select count(1)  进行查询 (平均)

Mysql : 13s

Hive : 7s

presto : 5s

结果presto的速率不是很理想,目前可能影响其性能的原因是在虚拟机上面效果的是同一个机子的IO,CPU性能,达不到分布式系统的真正效果,这个待以后通过实机去测试

### 功能介绍 PrestoDB是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量通常从GB到PB级别。它可以连接多种数据源,如Hive、Cassandra、关系数据等,实现跨数据源的查询。PrestoDB采用了分布式架构,能够并行处理查询,大大提高了查询速度。它支持标准的SQL语法,包括复杂的查询、聚合、连接等操作,使得熟悉SQL的用户可以快速上手。 ### 安装配置 #### 环境要求 - Java 8或更高版本。 - 集群中各节点之间网络连通。 #### 安装步骤 以下是在Linux系统上的安装示例: 1. 下载PrestoDB服务器包: ```bash wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.278/presto-server-0.278.tar.gz ``` 2. 解压文件: ```bash tar -zxvf presto-server-0.278.tar.gz ``` 3. 创建配置目录和文件: 在解压后的目录下创建`etc`目录,并在其中创建以下配置文件: - `node.properties`: ```plaintext node.environment=production node.id=unique-node-id node.data-dir=/var/presto/data ``` - `jvm.config`: ```plaintext -server -Xmx16G -XX:+UseG1GC -XX:G1HeapRegionSize=32M ``` - `config.properties`(以协调器节点为例): ```plaintext coordinator=true node-scheduler.include-coordinator=true http-server.http.port=8080 query.max-memory=50GB query.max-memory-per-node=1GB discovery-server.enabled=true discovery.uri=http://localhost:8080 ``` - `log.properties`: ```plaintext com.facebook.presto=INFO ``` 4. 配置连接器: 以Hive连接器为例,在`etc/catalog`目录下创建`hive.properties`文件: ```plaintext connector.name=hive-hadoop2 hive.metastore.uri=thrift://localhost:9083 ``` #### 启动服务 在协调器节点上启动PrestoDB服务: ```bash ./bin/launcher start ``` ### 使用指南 #### 连接到PrestoDB 可以使用Presto CLI连接到PrestoDB服务器: ```bash ./bin/presto --server localhost:8080 --catalog hive --schema default ``` #### 执行查询 连接成功后,就可以执行SQL查询,例如: ```sql SELECT * FROM your_table LIMIT 10; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值