温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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实操