Java中的Membase节点故障处理

问题描述

| 我正在寻找一个Java示例,该示例显示了如何避免Membase的其中一个节点发生故障时发生异常。 我有两个带有一个“默认”存储桶的节点的小型群集。它在两个服务器上都被复制。我写了一些用于压力加载的Java测试应用程序。我使用spymemcache 2.7。当我运行它时-两台服务器都变得很忙。当我关闭一个membase实例时,我的Java应用程序崩溃了。 这是异常日志:
2011-06-15 17:32:33.405 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/192.168.1.9:11211,#Rops=0,#Wops=0,#iq=0,topRop=null,topWop=null,toWrite=0,interested=0} to connect queue
2011-06-15 17:32:33.407 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/192.168.1.10:11211,interested=0} to connect queue
2011-06-15 17:32:33.412 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@63238bd2
2011-06-15 17:32:33.413 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@37bd2664
2011-06-15 18:20:21.896 INFO net.spy.memcached.MemcachedConnection:  Reconnecting due to exception on {QA sa=/192.168.1.9:11211,#Rops=2,topRop=net.spy.memcached.protocol.binary.StoreOperationImpl@5f4275d4,interested=1}
java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:237)
    at sun.nio.ch.IOUtil.read(IOUtil.java:210)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
    at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:487)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:427)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:280)
    at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:2063)
2011-06-15 18:20:21.897 WARN net.spy.memcached.MemcachedConnection:  Closing,and reopening {QA sa=/192.168.1.9:11211,interested=1},attempt 0.
2011-06-15 18:20:21.898 WARN net.spy.memcached.protocol.binary.BinaryMemcachedNodeImpl:  Discarding partially completed op: net.spy.memcached.protocol.binary.StoreOperationImpl@5f4275d4
2011-06-15 18:20:21.899 WARN net.spy.memcached.protocol.binary.BinaryMemcachedNodeImpl:  Discarding partially completed op: net.spy.memcached.protocol.binary.GetOperationImpl@802b249
Exception in thread \"main\" java.lang.RuntimeException: Exception waiting for value
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1146)
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1163)
我使节点192.168.1.9掉线,但客户端不了解该消息并崩溃了。 有什么想法如何正确处理吗?     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)