点播系统hadoop存储视频长时间无响应

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhengbin6072/article/details/78753170

问题描述

最近之前一直正常的视频点播系统播放存储在hadoop上的视频出现响应时间长达一分钟的情况。点播系统播放通过nginx_lua代理从hadoop取数据。


查看nginx的日志,出现大量的错误如下。

*1885808 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 175.43.173.98, server: videopush.10jqka.com.cn, request: "GET /F10shang_1512559724.mp4 HTTP/1.1", upstream: "http://192.168.10.150:50075/webhdfs/v1/F10shang_1512559724.mp4?op=OPEN&namenoderpcaddress=localhost.localdomain:9001&offset=0", host: "videopull.10jqka.com.cn:8188"

其实是由于请求hadoop接收响应超时断开连接后,并且不断发起新的连接。


查看hadoop的datanode日志:

2017-12-08 11:43:24,627 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: BlockSender.sendChunks() exception: 
java.io.IOException: 断开的管道

出现大量如上的错误,实际是由于nginx超时断开连接后,hadoop往断开的连接写数据导致的。


解决方法

既然nginx出现超时连接,那么就把nginx的代理请求超时时间设置大一些。

 server {
        listen       80;
        server_name  localhost;
       

        //如下为设置超时
        proxy_connect_timeout    600;    
        proxy_read_timeout       600;
        proxy_send_timeout       600;


实际上导致nginx超时的原因应该是hadoop的响应时间变长,具体hadoop为什么响应时间变长了还没有研究清楚。


猜你喜欢

转载自blog.csdn.net/zhengbin6072/article/details/78753170
今日推荐