从运行结果看并没有打印节点信息出来

从结果看出来,集群节点信道打印出来了,不过这种方法有个问题,就是当我们连接的节点挂掉了,就没法连接整个集群了,这个时候我们就利用他的一个嗅探的功能。

从这里我们可以看到,通过嗅探功能把集群的三个节点都打印出来了

实际上我们只传入master节点,但是同过master节点探测到其他两个节点信息

但是但应用重启之后master节点挂掉了就不能连接集群了,为了防止容错性,我们就多设置几个节点

参考代码ESTestClient.java

 package com.dajiangtai.djt_spider.elasticsearch;

 import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List; import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.cluster.node.DiscoveryNode;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.junit.Before;
import org.junit.Test;
/**
* 获取TransportClient
* @author 大讲台
*
*/
public class ESTestClient { /**
* 测试使用Java API 连接ElasticSearch 集群
*
* @throws UnknownHostException
*/
@Test
public void test1() throws UnknownHostException {
// on startup
// 获取TransportClient
TransportClient client = TransportClient
.builder()
.build()
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("master"), 9300)); List<DiscoveryNode> connectedNodes = client.connectedNodes();
for (DiscoveryNode discoveryNode : connectedNodes) {
System.out.println("集群节点:"+discoveryNode.getHostName());
}
// on shutdown
client.close();
} /**
* 生成环境下,ElasticSearch集群名称非默认需要显示设置
*
* @throws UnknownHostException
*/
@Test
public void test2() throws UnknownHostException {
Settings settings = Settings.settingsBuilder()
.put("cluster.name", "escluster").build();
// on startup
// 获取TransportClient
TransportClient client = TransportClient
.builder()
.settings(settings)
.build()
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("master"), 9300)); List<DiscoveryNode> connectedNodes = client.connectedNodes();
for (DiscoveryNode discoveryNode : connectedNodes) {
System.out.println("集群节点:"+discoveryNode.getHostName());
} // on shutdown
client.close();
} /**
* 1、启动应用程序之后,client.transport.sniff能保证即使master挂掉也能连接上集群
* 2、master节点挂机同时应用程序重启,则无法连接ElasticSearch集群
*
* @throws UnknownHostException
*/
@Test
public void test3() throws UnknownHostException { // 开启client.transport.sniff功能,探测集群所有节点
Settings settings = Settings.settingsBuilder()
.put("cluster.name", "escluster")
.put("client.transport.sniff", true).build();
// on startup
// 获取TransportClient
TransportClient client = TransportClient
.builder()
.settings(settings)
.build()
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("master"), 9300)); List<DiscoveryNode> connectedNodes = client.connectedNodes();
for (DiscoveryNode discoveryNode : connectedNodes) {
System.out.println("集群节点:"+discoveryNode.getHostName());
} // on shutdown
client.close();
} /**
* 1、启动应用程序之后,client.transport.sniff能保证即使master挂掉也能连接上集群
* 2、设置多节点,防止其中一个节点挂机同时应用程序重启,无法连接ElasticSearch集群问题
*
* @throws UnknownHostException
*/
@Test
public void test4() throws UnknownHostException { // 开启client.transport.sniff功能,探测集群所有节点
Settings settings = Settings.settingsBuilder()
.put("cluster.name", "escluster")
.put("client.transport.sniff", true).build();
// on startup
// 获取TransportClient
TransportClient client = TransportClient
.builder()
.settings(settings)
.build()
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("master"), 9300))
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("slave1"), 9300))
.addTransportAddress(
new InetSocketTransportAddress(InetAddress
.getByName("slave2"), 9300)); List<DiscoveryNode> connectedNodes = client.connectedNodes();
for (DiscoveryNode discoveryNode : connectedNodes) {
System.out.println("集群节点:"+discoveryNode.getHostName());
} // on shutdown
client.close();
}
}

最新文章

  1. Elasticsearch —— bulk批量导入数据
  2. UVA 1151二进制枚举子集 + 最小生成树
  3. SpringBoot和数据库连接
  4. Java(接口与继承)动手动脑
  5. Jquery div展开收缩
  6. TechEd2013 Shanghai Hol Session PPT Share
  7. CentOS 下安装操作Memcached
  8. 卡特兰数 BZOJ3907 网格 NOIP2003 栈
  9. JS正则表达式---分组
  10. Dubbo源码学习--集群负载均衡算法的实现
  11. flask之三方组件
  12. Qt 编程指南 4 按钮
  13. Linux--信号阻塞与屏蔽
  14. Tomcat 环境部署网站. 帆软平台部署.
  15. java 线程Thread 技术--线程方法详解
  16. 【js+jquery】通用、简单的JS 提示框
  17. JVM profiler tools
  18. Android手机与服务器(案例一) webservice
  19. WEB入门二 表格和表单
  20. Bootstrap-Plugin:折叠(Collapse)插件

热门文章

  1. ftp添加虚拟用户的实例
  2. 【opencv基础】Rect类的神奇用法
  3. 【linux基础】vim多窗口功能
  4. 【计算机视觉】ARM平台实现人脸检测YSQfastfd
  5. 【opencv基础】测量运行时间的函数getTickCount/getCPUTickCount/getTickFrequency
  6. POJ3669解题报告(bfs)
  7. Maven Dependency错误——下载失败问题解决方案
  8. 黑电-逻辑地址-0X4EB9FDE3- %o %d %x
  9. yocto和bitbake
  10. Git Authoritative Guide 学习