HDFS中zookeeper的异常分析
来源:互联网 发布:eva真心为你 知乎 编辑:程序博客网 时间:2024/05/21 16:43
1.KeeperException
当和zookeeper已经建立连接,但是要查找的节点信息不存在时,会抛出此异常。
当在查询节点信息的过程中,和zookeeperServer失去连接,此时KeeperException.Code为CONNECTIONLOSS,则,zookeeperClient端会继续查找ZK_CONNECTION_RETRIES*ZK_INIT_RETRIES次数,目前,ZK_CONNECTION_RETRIES为10次,是重试查找节点信息的次数,ZK_INIT_RETRIES为30次,是重新连接zookeeper服务端的尝试次数。
此异常可能出现的地方:
zkCreateRecursively(String zNode, byte[] data, boolean overwrite)方法、
getNodeData(String node, Stat stat, boolean retry)方法、getPrimaryAvatarAddress(String address, Stat stat, boolean retry)方法
getPrimaryAvatarAddr(String address, Stat stat, boolean retry)方法、getPrimaryAvatarAddress(URI address, Stat stat, boolean retry)方法
getNodeStats(String node)方法、
getPrimaryRegistrationTime(URI address)方法、
exists(String address, Watcher watcher, boolean namenode)方法
createEphemeral(String path) 方法、
DeleteNode(String address)方法
此时应检查zookeeper的节点信息。
2.IOException
当和zookeeper建立连接失败时会有此异常抛出,同时会打印出:
java.net.ConnectException: Connection refused: no further information。
此异常可能出现的地方:
clearPrimary(String address)方法、
clearPrimarytmp(String address)方法、
registerPrimary(String address, String realAddress, boolean overwrite)方法、
registerPrimary(String address, String realAddress)方法、
zkCreateRecursively(String zNode, byte[] data,boolean overwrite)方法、
primeConnection()方法、
initZK()方法、
getNodeData(String node, Stat stat, boolean retry)方法、
getPrimaryAvatarAddress(String address, Stat stat, boolean retry)方法、
getPrimaryAvatarAddr(String address, Stat stat, boolean retry)方法、
getPrimaryAvatarAddress(URI address, Stat stat, boolean retry)方法啊、
getNodeStats(String node)方法、
getPrimaryRegistrationTime(URI address)方法
exists(String address, Watcher watcher, boolean namenode)方法
createEphemeral(String path)方法、
DeleteNode(String address)方法
此时应检查zookeeper的服务是否正常,与zookeeper通信的网络是否正常。
3. ConnectException
初始化zookeeperClient的时候,即在initZK方法中,其中的State会是CONNECTING,只有连接成功的时候才会是CONNECTED状态。
如果连接不上,在尝试一定次数之后(界面上会打印相应次数的java.net.ConnectException: Connection refused: no further information)
目前设置的是30次,会退出连接。并抛出IOException,打印“Timed out trying to connect to ZooKeeper”。
此异常也是在连接不上zookeeper的时候会出现。
此时应检查zookeeper的服务是否正常,与zookeeper通信的网络是否正常。
4. InterruptedException
导致此异常出现,是因为zookeeperClient的同步方法在运行的时候被阻塞。
发生此异常的情况比较复杂。
可参见此博客:
http://www.ibm.com/developerworks/cn/java/j-jtp05236.html
http://manming.iteye.com/blog/345595
若zookeeper停止失败,会有InterruptedException抛出。
5.java.lang.IllegalArgumentException
此异常会出现在,当查询zookeeper中的节点时,节点名字的格式输入不正确时。
6.UnsupportedEncodingException
当向zookeeper注册节点和删除节点不成功时会出现。
备注:
以上均是针对AvatarZookeeperClient类进行的分析。
- HDFS中zookeeper的异常分析
- spark 中写hdfs的异常解决
- zookeeper频繁异常问题分析
- HDFS、Zookeeper
- Zookeeper学习(十二):Zookeeper启动异常-无法启动的分析(It is probably not running)
- HDFS的一致性分析
- HDFS的一致性分析
- HDFS的一致性分析
- Hadoop中Zookeeper,HDFS,Hbase,Hive,Pig的概念介绍与比较
- Hadoop中Zookeeper,HDFS,Hbase,Hive,Pig的概念介绍与比较
- zookeeper异常ConnectionLossException的解决办法
- HDFS 异常
- 【HDFS】HDFS中JAVA API的使用
- HDFS的工作流程分析
- android 中ANR异常的分析
- java中异常的处理和分析
- Java中常见的异常分析
- Windows|Eclipse 运行HDFS程序遇到问题之 AccessControlException【windows中运行hdfs程序后报的异常:访问权限控制异常;方案二,修改MR程序即可】
- RTP/RTSP/RTCP的区别
- 上班很烦
- AODV---点点滴滴(转)
- eclipse的十个最常用的快捷键
- CHARINDEX的使用
- HDFS中zookeeper的异常分析
- 浅拷贝与深拷贝
- Project Euler 18
- org.slf4j.spi.LocationAwareLogger.log
- 男人就像HTML,女人如同CSS
- 使用Dos命令行对MySQL进行定时备份,文件名以当前日期命名
- 邮件附件乱码、设置邮件回复人、设置邮件发送人收件人姓名、发送现有的eml文件
- Ubuntu12.04任务栏和状态栏消失的解决办法
- 关于C++的一些书写规范