presto安装启动

本文详细介绍了Presto的安装过程,包括配置文件目录、node、server、JVM启动参数、catalog以及服务日志级别的设定。在配置node时,需要设置集群名字、节点ID和数据目录。对于server,区分了coordinator和worker的角色,并指定了相关参数。此外,还讲解了如何配置connector以访问数据,并调整服务日志级别。最后,提供了服务管理的相关命令,如启动、停止和重启。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装

配置文件目录

presto启动时默认配置文件目录在安装目录下的etc下,也可以在启动时指定配置目录,参数是--etc-dir。

配置node

在etc下创建node.properties文件,配置如下:

node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data

node.environment: 集群名字,一个集群内所有的节点必须一致。

node.id: 节点id,每个节点同一集群内保持唯一。

node.data-dir:节点数据目录,数据目录用于存放日志和服务的pid。

配置server

presto server分为coordinator和worker,coordinator可以认为是master节点,worker可以认为是计算节点。配置时在etc下创建config.properties文件。

coordinator配置如下:

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

worker配置如下:

coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080

coordinator:是coordinator角色还是worker角色。

node-scheduler.include-coordinator:计算节点是否包含coordinator,主要用于单机测试。

http-server.http.port:服务启动的端口号。

discovery-server.enabled:节点是否作为发现节点的web服务。分发任务时,用于发现计算节点,每个计算节点启动时会在其上注册。

discovery.uri:发现节点的web服务地址,一般和coordinator部在一起。

query.max-memory:每个查询可以用的最大内存。

query.max-memory-per-node:每个查询每台计算节点可以用的最大内存。

query.max-total-memory-per-node:每个查询每台计算节点可以用的总的最大内存,包括查询任务用的内存和系统消耗的内存。

配置jvm启动参数

在etc下创建jvm.config文件

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

配置catalog

presto通过connector访问数据,connector配置在catalog里。presto内置的不同类型的connector,放在安装目录的plugins下。catalog的配置在etc/catalog/下,以hive为例,我们添加一个名字是hive的catalog,则在etc/catalog下创建hive.properties文件,配置如下:

hive.metastore.uri=thrift://example.meta:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

通过命令行访问时使用--catalog指定catalog。

配置服务日志级别

在etc下创建log.properties文件,配置如下:

com.facebook.presto=DEBUG

日志文件放在data/var/log下。

服务管理

查看帮助信息

./bin/launcher -h

启动

./bin/launcher start

停止

./bin/launcher stop

重启

./bin/launcher restart

转载于:https://my.oschina.net/iroot/blog/3043005

### 如何安装 Presto 以下是关于如何安装 Presto 的详细说明: #### 安装步骤概述 1. **下载 Presto 二进制文件或源码** 需要从官方发布页面或者镜像站点下载最新的 Presto 版本。当前最新版本为 `0.278`[^1]。 2. **配置协调器和工作节点** - 协调器(Coordinator)负责接收查询请求并分配任务给各个工作节点(Worker)。 - 工作节点执行具体的查询操作并将结果返回给协调器。 - 编辑配置文件,指定节点角色、数据目录以及日志路径等参数[^3]。 3. **启动协调器和工作节点** 使用脚本分别启动协调器和服务端的工作节点实例。确保所有节点能够正常通信,并且网络环境稳定。 4. **设置连接器以接入目标数据源** 根据实际需求定义不同的 Connector 来对接各类外部系统比如 Hive, Mysql 等。例如对于 Hive 数据源,则需创建对应的 catalog 文件来描述其元信息存储位置及格式等内容[^4]。 5. **测试与验证** 利用 Presto 提供的命令行界面 (CLI),输入简单的 SQL 查询语句来进行功能性和性能方面的初步检验。如果一切顺利的话,应该可以看到预期的结果集展示出来。 ```bash # 启动Presto CLI 并连接至远程服务器 presto --server coordinator-host:port --catalog hive --schema default ``` --- ### 示例查询 假设我们已经成功部署了一个包含 Hive 和 MySQL 这两个不同类型的数据仓库作为 backend source 的 environment ,那么可以通过如下方式实现跨平台 join operation : ```sql SELECT h.id, m.name FROM hive.default.customers AS h INNER JOIN mysql.db.users as m ON h.user_id = m.id; ``` 此条指令将会把来自 Hadoop Distributed File System 上面存储结构化记录同关系型数据库内部存在的用户资料结合起来形成最终报表输出。 --- ### 注意事项 尽管 Presto 能够很好地支持复杂的大规模数据分析场景下的 ad-hoc querying task execution flow management etc., but it is not designed to replace traditional relational DBMS such as MYSQL or ORACLE nor support Online Transaction Processing workloads directly due to its architecture characteristics focused more on read-heavy operations rather than write-intensive ones.[^2] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值