计算机系统应用教程网站

网站首页 > 技术文章 正文

0343-HiveServer2服务异常日志分析

btikc 2024-10-12 10:58:26 技术文章 13 ℃ 0 评论

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github:

https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.问题描述


HiveServer2服务在运行时经常抛出如下异常日志:

[HiveServer2-Handler-Pool: Thread-53]: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
 at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
 at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
 at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:328)
 at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
 at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
 ... 4 more

(可左右滑动)

2.异常分析


1.这是一个可以忽略的异常,不会影响HiveServer2服务的正常使用。

2.该异常会在Thrift0.9.2及更低版本的HiveServer2服务上出现。

3.由HiveServer2服务上的负载均衡器进行Tcp检查引起的,主要用评估服务的健康状况。(详见THRIFT-2268)

https://issues.apache.org/jira/browse/THRIFT-2268?attachmentSortBy=dateTime

(可左右滑动)

3.异常处理


在Fayson眼里看到ERROR级别的日志就是不爽,即使没有影响的异常。这里Fayson告诉大家如何将这样的ERROR日志屏蔽。

1.登录CM进入Hive服务的配置页面,类别选择“HiveServer2”

2.在搜索栏搜“HiveServer2 日志记录高级配置代码段(安全阀)”,添加如下配置:

log4j.appender.RFA.filter.1=org.apache.log4j.filter.ExpressionFilter 
log4j.appender.RFA.filter.1.Expression=EXCEPTION ~= org.apache.thrift.transport.TSaslTransportException 
log4j.appender.RFA.filter.1.AcceptOnMatch=false

(可左右滑动)

3.保存配置后重启HiveServer2服务即可

4.总结


1.“No data or no sasl data in the stream”是一个对HiveServer2服务没有影响的ERROR日志,该日志主要是HiveServer2服务上的负载均衡器进行Tcp检查引起的。

2.通过在HiveServer2的日志记录中增加配置过滤该ERROR日志, HiveServer2只会触发具有“org.apache.thrift.transport.TSaslTransportException”异常时才会调用过滤器,不会影响HiveServer2服务的性能。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表