返回介绍

Client - Transport Client

发布于 2020-07-04 13:24:32 字数 3450 浏览 963 评论 0 收藏 0

Transport Client

不设置集群名称

  1. // on startup
  2. //此步骤添加IP,至少一个,如果设置了"client.transport.sniff"= true 一个就够了,因为添加了自动嗅探配置
  3. TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
  4. .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
  5. .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
  6. // on shutdown 关闭client
  7. client.close();

设置集群名称

  1. Settings settings = Settings.builder()
  2. .put("cluster.name", "myClusterName").build(); //设置ES实例的名称
  3. TransportClient client = new PreBuiltTransportClient(settings); //自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中
  4. //Add transport addresses and do something with the client...

增加自动嗅探配置

  1. Settings settings = Settings.builder()
  2. .put("client.transport.sniff", true).build();
  3. TransportClient client = new PreBuiltTransportClient(settings);

其他配置

  1. client.transport.ignore_cluster_name //设置 true ,忽略连接节点集群名验证
  2. client.transport.ping_timeout //ping一个节点的响应时间 默认5秒
  3. client.transport.nodes_sampler_interval //sample/ping 节点的时间间隔,默认是5s

对于ES Client,有两种形式,一个是TransportClient,一个是NodeClient。两个的区别为:
TransportClient作为一个外部访问者,通过HTTP去请求ES的集群,对于集群而言,它是一个外部因素。
NodeClient顾名思义,是作为ES集群的一个节点,它是ES中的一环,其他的节点对它是感知的,不像TransportClient那样,ES集群对它一无所知。NodeClient通信的性能会更好,但是因为是ES的一环,所以它出问题,也会给ES集群带来问题。NodeClient可以设置不作为数据节点,在elasticsearch.yml中设置,这样就不会在此节点上分配数据。

如果用ES的节点,大家仁者见仁智者见智,各按所需。

实例

  1. Settings esSettings = Settings.builder()
  2. .put("cluster.name", clusterName) //设置ES实例的名称
  3. .put("client.transport.sniff", true) //自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中
  4. .build();
  5. client = new PreBuiltTransportClient(esSettings);//初始化client较老版本发生了变化,此方法有几个重载方法,初始化插件等。
  6. //此步骤添加IP,至少一个,其实一个就够了,因为添加了自动嗅探配置
  7. client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ip), esPort));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文