Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取


`本次使用的配置为:`



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


由于 OutOfMemoryError 将会导致 JVM 处于不一致状态,所以遇到这种错误的时候我们一般的处理措施就是将 dump headp 中的信息(用于 debugging),然后强制终止进程。Presto 会将查询编译成字节码文件,会生成很多class,需要增大 Perm 区的大小(在 Perm 中主要存储 class)并且要允许 Jvm class unloading。


3️⃣ 配置属性(Config Properties)



> 
> Presto 的配置文件:etc/config.properties 包含了 Presto server 的所有配置信息。每个 Presto server 既是一个 coordinator`n. 协调人,统筹者` 也是一个 worker。但是在大型集群中,处于性能考虑,建议单独用一台机器作为 coordinator。
> 
> 
> 


作为 coordinator 的最小配置:



coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080

整个集群可以使用的最大用户执行内存

query.max-memory=50GB
query.max-memory-per-node=1GB
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
discovery.uri=http://example.net:8080


如果仅使用一台服务器进行测试,即作为 coordinator 也作为 worker 的配置:



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


`本次使用的配置为:`



coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8883
query.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://tcloud:8883


配置信息描述:


* coordinator:指定是否运维 Presto 实例作为一个 coordinator (接收来自客户端的查询情切管理每个查询的执行过程)。
* node-scheduler.include-coordinator:是否允许在 coordinator 服务中进行调度工作。对于大型的集群,在一个节点上的 Presto server 即作为 coordinator 又作为 work e将会降低查询性能。因为如果一个服务器作为 worker 使用,那么大部分的资源都不会被 worker 占用,那么就不会有足够的资源进行关键任务调度、管理和监控查询执行。
* http-server.http.port:指定 HTTP server 的端口。Presto 使用 HTTP 进行内部和外部的所有通讯。
* query.max-:查询相关的内存设置。
* discovery-server.enabled:Presto 通过 Discovery 服务来找到集群中所有的节点。为了能够找到集群中所有的节点,每一个Presto实例都会在启动的时候将自己注册到 discovery 服务。Presto 为了简化部署,并且也不想再增加一个新的服务进程,Presto coordinator 可以运行一个内嵌在 coordinator 里面的Discovery 服务。这个内嵌的Discovery 服务和 Presto 共享 HTTP server 并且使用同样的端口。
* discovery.uri:Discovery server 的 URI。由于启用了 Presto coordinator 内嵌的 Discovery 服务,因此这个 uri 就是 Presto coordinator 的 uri。 `注意:`这个URI一定不能以“/“结尾。
* task.max-memory:一个单独的任务使用的最大内存 (一个查询计划的某个执行部分会在一个特定的节点上执行)。 这个配置参数限制的GROUP BY语句中的Group的数目、JOIN关联中的右关联表的大小、ORDER BY语句中的行数和一个窗口函数中处理的行数。 该参数应该根据并发查询的数量和查询的复杂度进行调整。如果该参数设置的太低,很多查询将不能执行;但是如果设置的太高将会导致JVM把内存耗光。


其他配置:



> 
> You may also wish to set the following properties:
> 
> 
> * jmx.rmiregistry.port: Specifies the port for the JMX RMI registry. JMX clients should connect to this port.
> * jmx.rmiserver.port: Specifies the port for the JMX RMI server. Presto exports many metrics that are useful for monitoring via JMX.
> 
> 
> 


4️⃣ 日志级别



> 
> 日志配置文件:etc/log.properties。在这个配置文件中允许你根据不同的日志结构设置不同的日志级别。每个 logger 都有一个名字(通常是使用 logger 的类的全标示类名)Loggers 通过名字中的 `.` 来表示层级和集成关系。 (像java里面的包)log 配置信息 `本次使用的也是这个配置`:
> 
> 
> 



com.facebook.presto=INFO


5️⃣ Catalog Properties



> 
> * Presto 通过 connectors 访问数据。这些 connectors 挂载在 catalogs 上。connector 可以提供一个catalog 中所有的 schema 和表。例如:Hive connector 将每个 hive 的 database 都映射成为一个schema,所以如果 hive connector 挂载到了名为 hive 的 catalog,并且在 hive 的 web 有一张名为 clicks 的表,那么在 Presto 中可以通过 hive.web.clicks 来访问这张表。
> * 通过在 etc/catalog 目录下创建 catalog 属性文件来完成 catalogs 的注册。例如:可以先创建一个etc/catalog/jmx.properties 文件,文件中的内容如下,完成在 jmxcatalog 上挂载一个 jmxconnector:
> 
> 
> 



connector.name=jmx


可查看 Connectors 的 [详细配置选项](https://bbs.csdn.net/topics/618545628) 。


#### 1.3 启动


安装目录下的 bin/launcher 文件就是启动脚本。Presto可以使用如下命令作为一个后台进程启动:



[root@tcloud presto]# bin/launcher start
Started as 19648


另外,也可以在前台运行,日志和相关输出将会写入 stdout/stderr(可以使用类似 daemontools 的工具捕捉这两个数据流):



bin/launcher run


其他命令:



bin/launcher --help
Usage: launcher [options] command

Commands: run, start, stop, restart, kill, status

Options:
-h, --help show this help message and exit
-v, --verbose Run verbosely
–etc-dir=DIR Defaults to INSTALL_PATH/etc
–launcher-config=FILE
Defaults to INSTALL_PATH/bin/launcher.properties
–node-config=FILE Defaults to ETC_DIR/node.properties
–jvm-config=FILE Defaults to ETC_DIR/jvm.config
–config=FILE Defaults to ETC_DIR/config.properties
–log-levels-file=FILE
Defaults to ETC_DIR/log.properties
–data-dir=DIR Defaults to INSTALL_PATH
–pid-file=FILE Defaults to DATA_DIR/var/run/launcher.pid
–launcher-log-file=FILE
Defaults to DATA_DIR/var/log/launcher.log (only in
daemon mode)
–server-log-file=FILE
Defaults to DATA_DIR/var/log/server.log (only in
daemon mode)
-D NAME=VALUE Set a Java system property


启动完之后,日志将会写在设置的`node.data-dir` 目录下的 var/log 目录下,有如下文件:


* launcher.log:这个日志文件由 launcher 创建,并且 server 的 stdout 和 stderr 都被重定向到了这个日志文件中。这份日志文件中只会有很少的信息,包括:在server日志系统初始化的时候产生的日志和JVM产生的诊断和测试信息。
* server.log:这个是Presto使用的主要日志文件。一般情况下,该文件中将会包括server初始化失败时产生的相关信息。这份文件会被自动轮转和压缩。
* http-request.log: 这是HTTP请求的日志文件,包括server收到的每个HTTP请求信息,这份文件会被自动轮转和压缩。



server.log 的最后一行

2021-12-07T12:00:19.703+0800
INFO main com.facebook.presto.server.PrestoServer
======== SERVER STARTED ========


#### 1.4 验证


前端验证 `http://tcloud:8883` :


![在这里插入图片描述](https://img-blog.csdnimg.cn/8facf8440ac6496aa31103f924ec485a.png#pic_center)


### 2. Yanagishima安装配置


#### 2.1 Quick Start


[Yanagishima的GitHu](https://bbs.csdn.net/topics/618545628) 有 Quick Start:



git clone https://github.com/yanagishima/yanagishima.git
cd yanagishima
git checkout -b [version] refs/tags/[version]
./gradlew distZip
cd build/distributions
unzip yanagishima-[version].zip
cd yanagishima-[version]
vim config/application.yml
nohup bin/yanagishima-start.sh >y.log 2>&1 &

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

外链图片转存中…(img-QOXp8YkR-1715681312988)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值