本文主要阐述大数据平台环境zookeeper常见异常和解决方案

1.Connection reset by peer异常

  • 异常说明

我们现在项目有个任务OneMinuteDataSync是用spark将实时数据同步插入到hbase中,程序已经稳定运行很长一段时间,不过最近数据量增加比较多,任务运行一段时间后,突然僵死几个小时后,有恢复正常继续运行,如下图,任务正常运行情况下耗时15s左右,但2017-07-11 04:33:00这个批次运行了9486s,而凌晨数据量很少的,才13w左右,白天峰值稳定在45w左右。

查看该任务的运行的worker节点的日志,发现zoookeeper connection reset by peer异常日志

  • 解决方案

首先查询zookeeper日志,只发现了Too many connectionn 警告

由于刚开始的时候zookeeper zoo.cfg没有配置maxClientCnxns参数,而zookeeper默认配置为60,即单个客户端与单台服务器之间的连接数的限制,而我们前几天才升级hbase和zookeeper集群,已经将

maxClientCnxns=300

而对于单台服务器来说,300个连接我们认为已经足够使用。我们在30.27.96.14上查看2181端口的连接情况

netstat -anp | grep 

netstat -anp | grep  | wc

发现实际上状态为ESTABLISHED的连接只有不到10个,而状态为TIME_WAIT的连接有几百个,而TIME_WAIT状态实际上是客户端建立连接,完成任务后正常断开连接后的状态,其他状态解释如下:

CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

更加详细的内容要去阅读TCP协议。而我们现在要解决的是连接正常关闭后,尽快减少TIME_WAIT状态的连接,最后我们通过修改Linux内核参数来减少服务器的TIME_WAIT套接字数量,步骤如下:

#.切换到root用户
su root

#.更改sysctl.conf配置,增加如下两行配置
vi /etc/sysctl.conf
net.ipv4.tcp_tw_reuse=
##表示开启重用。允许将TIME_WAIT套接字重新用于新的TCP连接。默认为0,表示关闭。

net.ipv4.tcp_tw_recycle=
##表示开启TCP连接中TIME_WAIT套接字的快速回收。默认为0,表示关闭

#.让配置立即生效
 /sbin/sysctl -p

更改spark集群服务器配置后,目前程序运行正常,后续继续观察。

大数据平台常见异常-zookeeper的更多相关文章

  1. 时间序列大数据平台建设(Time Series Data,简称TSD)

    来源:https://blog.csdn.net/bluishglc/article/details/79277455 引言在大数据的生态系统里,时间序列数据(Time Series Data,简称T ...

  2. 基于Ambari构建自己的大数据平台产品

    目前市场上常见的企业级大数据平台型的产品主流的有两个,一个是Cloudera公司推出的CDH,一个是Hortonworks公司推出的一套HDP,其中HDP是以开源的Ambari作为一个管理监控工具,C ...

  3. 如何基于Go搭建一个大数据平台

    如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...

  4. CentOS7部署CDH6.0.1大数据平台

    Cloudera’s Distribution Including Apache Hadoop,简称“CDH”,基于Web的用户界面,支持大多数Hadoop组件,包括HDFS.MapReduce.Hi ...

  5. Kafka 集群在马蜂窝大数据平台的优化与应用扩展

    马蜂窝技术原创文章,更多干货请订阅公众号:mfwtech Kafka 是当下热门的消息队列中间件,它可以实时地处理海量数据,具备高吞吐.低延时等特性及可靠的消息异步传递机制,可以很好地解决不同系统间数 ...

  6. 大数据平台迁移实践 | Apache DolphinScheduler 在当贝大数据环境中的应用

    大家下午好,我是来自当贝网络科技大数据平台的基础开发工程师 王昱翔,感谢社区的邀请来参与这次分享,关于 Apache DolphinScheduler 在当贝网络科技大数据环境中的应用. 本次演讲主要 ...

  7. 基于Hadoop的大数据平台实施记——整体架构设计[转]

    http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...

  8. 基于Hadoop的大数据平台实施记——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃进了大 ...

  9. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

随机推荐

  1. RGB565的理解

    一个彩色图像由R G B三个分量组成,一个RGB565的每一个像素点数据为2Byte,即16位,那么从名字上就可看出来这16位中,高5位为R分量,中间6位为G分量,低5位为B分量. 下面做了一个实验, ...

  2. 在node.js中如何屏蔽掉favicon.ico的请求

    今天准备用node做个api出来,还没入门,遇到一个小问题,特在此记录一下! 在做路由模块的时候,发现控制台每次都会多输出一条favicon.ico的请求,对于这种又占资源,看着又碍眼的玩意,强迫症完 ...

  3. 配置Nginx作为web server详解

    keepalived+nginx:实现高可用 corosync+ngin Nginx: 轻量级的反向代理 web服务器 处理静态文件,索引文件以及自动索引,打开文件描述缓存 使用缓存加速反向代理,简单 ...

  4. 【Python的迭代器,生成器】

    一.可迭代对象和迭代器 1.迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 while True: ...

  5. jquery中html、text、val回调函数

    先扫盲: 摘自菜鸟教程:jQuery 方法:text().html() 以及 val()拥有回调函数. 回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值.然后以函数新值返回您希望使 ...

  6. spring.handlers、spring.schemas、spring.tooling被覆盖的三种解决方式

    在用到spring时,本地IDE里面跑的很正常,但是打jar包后在集群上运行时报错. 查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,每个包都有自己的spring.schemas文 ...

  7. 导入java项目时出现红色叹号问题的解决

    问题:导入java项目时出现红色叹号(如下图所示) 原因:引入项目的某些jar包跟自己电脑上的位置不一样: 解决方案:步骤如下 (1)右键红色叹号所在项目————>build path————& ...

  8. 微信小程序开发 -- 01

    微信小程序开发基础 -- 开发前的准备 缘由 1月9日张小龙微信小程序正式上线,因为微信,所以小程序从诞生开始就头戴巨大的光环,很多的团队,公司以及开发的个体都眼巴巴的盯着这个小程序.而那个时候我却在 ...

  9. 获取Skype用户IP地址

    #!/usr/bin/env bash ESC_SEQ="\x1b[" COL_RESET=$ESC_SEQ"39;49;00m" COL_RED=$ESC_S ...

  10. B树和B+树的总结

    B树 为什么要B树 磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动.盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的读写.那么这就存在 ...