1、创建客户端节点来连接:

其中client(true)将node指定为客户端节点,所以这个不能写漏掉,客户端节点是不持有数据的,

Java代码  

Node node = NodeBuilder.nodeBuilder().clusterName(clusterName).client(true)

.node();

Client client = node.client();

优势:

通过此方式创建客户端能知道所有关于集群、索引、分片的信息,在操作上可以更快的执行。

不足之处:

启动时客户端节点必须加入集群并建立与其他节点的连接,此过程需要消耗时间和资源。

当ES集群处于另一个局域网中时就不行了,所以一般不建议使用此方式。

2、使用传输机客户端来连接(即使用TransportClient来创建):

Java代码  

Settings settings = Settings.builder().put("cluster.name",clusterName).build();

client = TransportClient.builder().settings(settings).build();

client.addTransportAddress(new InetSocketTransportAddress(

InetAddress.getByName(host), port));

优势:

启动速度快,不需要像前者那么多的socket连接。

不足之处:

因为它不想前者那样知道集群、索引、分片的这些信息,所以在分发数据和查询上没前者快,不能直接发送到指定的节点或直接从某个节点去取数据,需要ES在其中进行一些额外的转发才能完成。

TransportClient类的可用配置:

client.transport.sniff:默认值为false,当设置为true时,ES会读取集群中的节点信息。

client.transport.ignore_cluster_name:默认值为false,当设置为true时,ES会忽视配置中的集群名称并尝试连接到某个可连接集群上,而不管集群名称是否匹配。

client.transport.ping_timeout:默认为5s,此参数指定了ping命令响应的超时时间。

client.reansport.nodes_sampler_interval:默认为5s,此参数指定了检查节点可用性的时间间隔。

标签:节点,client,集群,Elasticsearch,连接,ES,客户端

来源: https://www.cnblogs.com/a-du/p/13329367.html

java代码怎样连接es,Elasticsearch 连接ES的两种方式相关推荐

  1. java 接收json 字符串_spring接收json字符串的两种方式

    一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...

  2. java创建线程并命名_Java创建线程的两种方式

    前言 多线程是我们开发过程中经常遇到的,也是必不可少需要掌握的.当我们知道需要进行多线程开发时首先需要知道的自然是如何实现多线程,也就是我们应该如何创建线程. 在Java中创建线程和创建普通的类的对象 ...

  3. java hashmap遍历顺序_Java中HashMap遍历的两种方式

    第一种: Map map =  HashMap(); Iterator iter = map.entrySet().iterator(); (iter.hasNext()) { Map.Entry e ...

  4. 创建二叉树的代码_解二叉树的右视图的两种方式

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 问题分析 这题说的很明白,就是站在一棵二叉树的右边,你所能看到的结点值.对于二叉树的遍历,前面有简单 ...

  5. 网页调用服务器视频代码,PPVOD视频系统调用视频地址播放的两种方式

    PPVOD视频系统系统的设计目标就是把各种格式的视频丢进去,系统自动处理变成可以在网页播放的的视频地址,为了用户个性化需要,我们系统生成了两种视频地址: 第一种就是分享地址 这个分享地址类似于优酷.奇 ...

  6. spark代码连接hive_Spark SQL入门到实战之(7)spark连接hive(spark-shell和eclipse两种方式)...

    1.在服务器(虚拟机)spark-shell连接hive 1.1 将hive-site.xml拷贝到spark/conf里 cp /opt/apache-hive-2.3.2-bin/conf/hiv ...

  7. java获取文件后缀_Java获取文件后缀的两种方式

    在对文件进行操作的时候,我们经常需要用到文件的后缀.但是Java API中并没有提供获取文件后缀的方法.下面的工具方法可以帮助我们实现这个目的. 方法1 代码示例: package org.4spac ...

  8. java如何实现多线程_Java中实现多线程的两种方式

    /** * 使用Thread类模拟4个售票窗口共同卖100张火车票的程序 * * 没有共享数据,每个线程各卖100张火车票 * * @author jiqinlin * */public class  ...

  9. JS代码实现:鼠标悬停与离开(两种方式)

    第一种:普通方式 [demo07.html] <html> <head><link rel="stylesheet" href="css/d ...

  10. resin如何部署java项目_resin项目换成tomcat部署的两种方式

    1.直接把Resin为服务器的工程根目录复制到tomcat的webapps下面,具体访问路径是:http://localhost:8080/webapp. 2.在tomcat的安装目录/conf/Ca ...

最新文章

  1. 从YARN迁移到k8s,滴滴机器学习平台二次开发是这样做的
  2. python写web难受-(2017)你最不建议使用的Python Web框架?
  3. Python 数据结构视频教程一
  4. ST17H26只pwm波形特征
  5. 使用INNER JOIN ON 多表关联查询,获取指定用户下指定权限的资源SQL:
  6. Lync2013 升级错误总结8 Lync2013 日志总是提示进程 RtcHost(5724) 收到了一个无效的客户端证书...
  7. [古诗]有关日本留学生的那些古诗
  8. mysql 5.6.32 linux_centos7 下手动安装MySQL-5.6.32-1.linux_glibc2.5.x86_64.rpm-bundle
  9. html登录之后注销,注销.html · NFUNM032/APP_CMS - Gitee.com
  10. Android 人脸识别 活体检测 人脸对比
  11. 2021年教师资格证 科目三 高中数学 课程标准 简答题
  12. PC传输图片到Hololens
  13. Android 打电话实现两种方法
  14. PHP全站开发工程师-第04章 PHP基础语法
  15. 低学历者已无法生存 程序员尤其明显
  16. 几行Python代码实现自动陪女友聊天,制作开心机器人
  17. 安卓手机获取IP地址
  18. Coursehero解锁Coursehero UnlockCoursehero查答案chegg查题下载
  19. Nginx日志格式配置-转载
  20. MDF智能合约靠谱吗?

热门文章

  1. Nginx的启动和停止
  2. 使用python开发网页游戏_如何用python开发游戏
  3. 带你学python基础:列表List
  4. numpy学习2:数组创建方式
  5. 如何入门技术、进阶技术(技术开发人员)
  6. Java提升篇——equals()方法和“==”运算符
  7. Android取消EditText自动获取焦点默认行为
  8. 深入理解Java原始数据类型和包装类关于==和equals的比较
  9. 【版本工具】Git-浅谈git命令
  10. 小程序中ajax返回数据,请问在小程序中如何从请求success中将数据返回给对象data?...