Hive外表查询报错

【StarRocks版本】2.3.8
在sr中查询hive外表报错如下:


这个报错是偶发性的,时好时坏,有的时候可以正常查询出数据,有的时候就报上图的错误,请问这是什么原因,如何解决?

cat /proc/$be_pid/limits看下是不是Max processes是不是比较小,是的话,ulimit调大重启下be再试下


我所有的be配置都是这样的,如上图所示。

您那边有be内存的监控吗

有的,

报错时,看be内存没啥问题呢

  1. sysctl -a | grep vm.max_map_count
  2. cat /proc/进程号/maps | wc -l
  3. 也有可能是be内存预申请的问题 先看看上面两个命令的结果

1.如下图


2.如下图

1.BE 配置 be.conf 中的 mem_limit =总内存- fe jvm大小-hive外表访问内存-2g(系统预留),给访问hive外表预留10g
2.修改 be/conf/hadoop_env.sh 添加
export LIBHDFS_OPTS="-Xmx10240m -Xloggc:$STARROCKS_HOME/log/be.gc.log"
可以限制 libhdfs 的内存使用

这样配置下再验证下

我be是独立部署,不是混部的,be内存mem_limit使用的是默认的配置,应该是到物理内存的90,这个地方还要手动配置(mem_limit=总内存-10G)吗?

关于be的进程内存,还有点疑问,文档中如下表述:


mem_limit的标识是process,我在be中这样配置:
image
然后去该be节点的web界面查看;

这个process只有144G,并没有160G,请问这是怎么回事呢?

没有用,还是报错。

重新打下memtracker 看current这一列

麻烦确认下每台机器都试试能不能访问namenode ?

ping namenode所在的ip地址吗?

找到问题了,新加机器少了一个hdfs-site.xml配置文件,感谢支持。