您现在的位置是:首页 >学无止境 >四、Trino406系列 之 问题集锦网站首页学无止境
四、Trino406系列 之 问题集锦
简介四、Trino406系列 之 问题集锦
文章目录
- io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException:打开的文件过多;
- io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException: Connection Timeout
- io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException: Recorded length is 65536 bytes but actual length after decompression is 60083 bytes: offset=0
- hdfs的io瓶颈问题导致trino查询慢(其中hive表设计也不合理)
io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException:打开的文件过多;
vim /etc/security/limits.conf
trino soft nofile 131072
trino hard nofile 131072
io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException: Connection Timeout
vim config.properties
query.client.timeout=20m // default 5m
task.client.timeout=60s // default 10s
这个问题可以在这里找到答案 Set query client timeout (Like Presto’s query.client.timeout)
io.trino.jdbc. i n t e r n a l . c l i e n t . F a i l u r e I n f o internal.client.FailureInfo internal.client.FailureInfoFailureException: Recorded length is 65536 bytes but actual length after decompression is 60083 bytes: offset=0
这个问题是在trino,跑批作业在计算的时候报错了,字面意思是记录长度65536字节,解压后实际长度60083字节:offset=0, 发生这种问题多半是丢包了,但是至于怎么丢的,那么情况就多了,网络,磁盘都有可能,这个问题后来经查证是平台在对磁盘扩容,再发生这种问题,只能重试。
hdfs的io瓶颈问题导致trino查询慢(其中hive表设计也不合理)
每次拉取的数据量比较大,hdfs集群的配置比较低,hdfs多台datanode节点的多个磁盘发生io满负荷运行,trino本来splits就多,限于hdfs io的问题拉取的又慢,在边拉边计算的情况下达不到目标响应时间,为此专门做了以下优化
a. 重构分区分桶表,然后将数据导入到新表中,这样做的好处是,根据每个sql的查询条件能够精准命中数据;
b. 开启本地缓存策略:首先每台worker节点添加磁盘,然后修改配置
在hive.properties配置中加
hive.cache.enabled=true;
hive.cache.location=/data/trino/hive-cache
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。