任务长期不释放和占用单节点持续的cpu,导致hivesever2本身内存泄漏造成
产生的原因在于:
- 查询过于复杂或者数据量过大:当有复杂的查询或处理大量数据的请求时,HiveServer2可能会出现高负载。这可能涉及大量的计算、IO操作或涉及大量的数据移动。
- 资源限制:HiveServer2可能没有足够的计算资源或内存来处理并发查询。这导致查询排队等待或运行缓慢。
- 硬件性能问题:HiveServer2运行的机器可能存在硬件性能瓶颈,例如CPU、内存、磁盘或网络问题。这些问题可能导致处理请求的速度变慢。
- 并发连接数过高:如果同时有大量用户连接到HiveServer2,这可能导致高负载。每个连接都会占用一定的系统资源,过多的连接数可能超出系统的承载能力。
- 调优不合理:HiveServer2的配置可能存在问题,例如资源配置不足、查询参数设置不合理等。这可能导致系统无法有效地利用可用资源,从而导致高负载。
解决:
在配合和资源都合理的情况下,找那个任务导致的cpu持续升高,可以优化底层sql,或则调整配置参数
或则把hivserver2重启(维护hiveserver2的时候要定期重启)
1.资源的负载均衡动态配置
2.用户提交的任务释放
3.yarn上的配置策略