CentOS部署集群版Presto

导读:本篇文章讲解 CentOS部署集群版Presto,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前置条件
安装到hadoop客户端

1. 集群规划

ip地址 服务
172.24.12.30 coordinator,workor
172.24.12.30 workor
172.24.12.30 workor

2、配置基础环境(presto需要java环境)(所有节点执行)

java软件包 链接:https://pan.baidu.com/s/1Utcsz56jnWfGDLxTvdQPTw?pwd=j6rg
提取码:j6rg

[root@endemo-5 data1]# ll /opt/java
lrwxrwxrwx 1 root root 12 Apr 11 20:29 /opt/java -> jdk1.8.0_131
[root@endemo-5 data1]# cat /etc/profile.d/env_path.sh 
export JAVA_HOME=/opt/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
export LANG=en_US.UTF-8
[root@endemo-5 data1]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

3、上传并解压 (所有节点执行)

presto官方下载地址
百度云盘我安装的presto软件包 链接:https://pan.baidu.com/s/1DeUi1jL7QKB39yVT0ETa9Q?pwd=801r
提取码:801r

[root@endemo-5 data1]# ll /data1/presto-server-0.188.tar.gz 
-rw-r--r-- 1 root hadoop 509296962 Jul 18 11:47 /data1/presto-server-0.188.tar.gz

4、安装 (所有节点执行)

1、创建配置目录(所有节点执行)

tar xf presto-server-0.188.tar.gz
cd presto-server-0.188
mkdir etc
[root@endemo-5 presto-server-0.188]# tree etc/
etc/
├── catalog
│   ├── hive.properties
│   └── jmx.properties
├── config.properties
├── jvm.config
├── log.properties
└── node.properties
# 配置目录中包含四个配置文件和一个目录分别为node.properties、jvm.properties、config.properties、log.properties、catalog,作用分别是:
# Node Properties:特定于每个节点的环境配置
# JVM Config: Java虚拟机的命令行选项
# Config Properties: Presto服务器的配置
# Log Properties: 允许设置命名记录器层次结构的最小日志级别
# Catalog Properties: 连接器(数据源)的配置

2、特定于每个节点的环境配置 (所有节点执行,修改node.id配置,每台不一样)

node.environment=mediaforce #环境环境的名称。集群中的所有Presto节点必须具有相同的环境名称
node.id=endemo-5 #id此Presto安装的唯一标识符。
node.data-dir=/data1/presto/prestoData #数据目录的位置

[root@endemo-5 presto-server-0.188]# cat etc/node.properties 
node.environment=mediaforce  
node.id=endemo-5    
node.data-dir=/data1/presto/prestoData 
[root@endemo-5 presto-server-0.188]# mkdir -p /data1/presto/prestoData # 创建一个data目录

3、Java虚拟机的命令行选项(所有节点执行)

[root@endemo-5 presto-server-0.188]# cat etc/jvm.config 
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError

4、Presto服务器的配置(所有节点执行,数据节点修改coordinator)

如果是Coordinator节点:注意 discovery.uri是指Coordinator节点的域名或者IP

[root@endemo-5 presto-server-0.188]# cat etc/config.properties 
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=9098
query.max-memory=20GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://172.24.12.30:9098    #coordinator的host和端口

如果是worker节点:

coordinator=false 
node-scheduler.include-coordinator=true
http-server.http.port=9098
query.max-memory=20GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://172.24.12.30:9098    #coordinator的host和端口

参数解释:

coordinator: 是否运行该实例为coordinator(接受client的查询和管理查询执行)。
node-scheduler.include-coordinator:coordinator是否也作为work。对于大型集群来说,在coordinator里做worker的工作会影响查询性能。
http-server.http.port:指定HTTP端口。Presto使用HTTP来与外部和内部进行交流。
query.max-memory: 查询能用到的最大总内存
query.max-memory-per-node: 查询能用到的最大单结点内存
discovery-server.enabled: Presto使用Discovery服务去找到集群中的所有结点。每个Presto实例在启动时都会在Discovery服务里注册。这样可以简化部署, 不需要额外的服务,Presto的coordinator内置一个Discovery服务。也是使用HTTP端口。
discovery.uri: Discovery服务的URI。将example.net:8080替换为coordinator的host和端口。这个URI不能以斜杠结尾,这个错误需特别注意,不然会报404错误。

另外还有以下属性:
jmx.rmiregistry.port: 指定JMX RMI的注册。JMX client可以连接此端口
jmx.rmiserver.port: 指定JXM RMI的服务器。可通过JMX监听。

5、允许设置命名记录器层次结构的最小日志级别(所有节点执行)

[root@endemo-5 presto-server-0.188]# cat etc/log.properties 
com.facebook.presto=INFO

6、 连接器(数据源)的配置(所有节点执行)

[root@endemo-5 presto-server-0.188]# cat etc/catalog/hive.properties 
connector.name=hive-hadoop2
hive.metastore.uri=thrift://172.24.3.183:9083   #hive.metastore服务的ip加端口
hive.config.resources=/usr/hdp/2.6.2.14-5/hadoop/conf/core-site.xml,/usr/hdp/2.6.2.14-5/hadoop/conf/hdfs-site.xml
#hive.allow-drop-table=true
[root@endemo-5 presto-server-0.188]# cat etc/catalog/jmx.properties 
connector.name=jmx

5、守护进程启动(所有节点执行)

[root@bdos6-endemo-5 presto-server-0.188]# bin/launcher start
Started as 14723
[root@bdos6-endemo-5 presto-server-0.188]# bin/launcher status
Running as 14723

6、测试

在这里插入图片描述

[root@host-172-24-12-30 bin]#  ./presto --server 172.24.12.30:9098 --catalog hive --schema default
presto:default> show schemas from hive;
       Schema       
--------------------
 default            
 information_schema 
(2 rows)

Query 20220920_025530_00001_id49k, FINISHED, 2 nodes
Splits: 18 total, 18 done (100.00%)
0:02 [2 rows, 35B] [0 rows/s, 17B/s]

总结
集群模式需要注意修改下面两个配置形成集群
etc/config.properties
etc/node.properties

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/75642.html

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!