监控zookeeper集群中某个zookeeper实例是否宕机

/**

 * 监听Zookeeper集群中某个Zookeeper实例是否宕机

 * @author Administrator

 *

 */

public class ZookeeperServiceStatusTest {


private static final String HOST = "192.168.0.128";

private static final Integer PORT = 2182;

@Test

public void serverStatus() throws IOException {

Socket sock = null;

BufferedReader reader = null;

String cmd = "status";

try {

sock = new Socket(HOST, PORT);

OutputStream outstream = sock.getOutputStream();

// 通过Zookeeper的status命令获取服务器的状态

outstream.write(cmd.getBytes());

outstream.flush();

sock.shutdownOutput();

reader = new BufferedReader(new InputStreamReader(sock.getInputStream()));

String line;

while ((line = reader.readLine()) != null) {

// if (line.indexOf("Mode: ") != -1) {

// System.out.println(line.replaceAll("Mode: ", "").trim());

// }

System.out.println(line);

}

} catch (Exception e) {

System.out.println("Zookeeper 地址:" + HOST + ":" + PORT + "连接失败" + "msg:" + ExceptionUtils.getStackTrace(e));

} finally {

if (sock != null) {

sock.close();

}

if (reader != null) {

reader.close();

}

}

}


}