elasticsearch提供两种方式连接到集群,一种是通过在你的程序中创建一个嵌入es节点(Node),使之成为es集群的一部分,然后通过这个节点来与es集群通信;另一种则是用TransportClient这个接口和es集群通信。
首先,我们尝试嵌入节点的方式,有如下三种方式(区别如下注释):
@Test
public void testDefaultNode(){
//默认配置(数据节点)启动一个节点,会自动加入同网段的es集群,前提就是es的集群名(cluster.name)参数要设置一致
//默认状态下es集群会自动给它分配一些索引的分片
//会加入集群
Node node = NodeBuilder.nodeBuilder().build();
Client client = node.client();
ClusterAdminClient cluster = client.admin().cluster();
System.out.println(cluster.toString());
node.close();
}
@Test
public void testClientNode(){
//客户端配置(客户端节点,不保存任何数据)
//作为一个客户端而不去保存数据,就可以设置把node.data设置成false或 node.client设置成true
//会加入集群
Node node = NodeBuilder.nodeBuilder().client(true).node();
Client client = node.client();
ClusterAdminClient cluster = client.admin().cluster();
System.out.println(cluster.toString());
node.close();
}
@Test
public void testLocalNode(){
//本地节点
//不会加入集群
//本地单元测试
Node node = NodeBuilder.nodeBuilder().local(true).node();
Client client = node.client();
ClusterAdminClient cluster = client.admin().cluster();
System.out.println(cluster.toString());
node.close();
}
第二种方式(TransportClient接口):
@Test
public void testTransportClient(){
//可以不启动节点就与es集群通信,只需要指定es集群中其中一台或多台机的ip地址和端口
Client client = new TransportClient()
.addTransportAddress(new InetSocketTransportAddress("192.168.1.135", 9300))
.addTransportAddress(new InetSocketTransportAddress("192.168.1.131", 9300))
.addTransportAddress(new InetSocketTransportAddress("192.168.1.132", 9300))
.addTransportAddress(new InetSocketTransportAddress("192.168.1.133", 9300));
client.close();
}
借此说明一下两个配置参数:
@Test
public void updateClusterName(){
//更改集群名
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "myClusterName").build();
Client client = new TransportClient(settings);
client.close();
}
@Test
public void autoDiscoveryNode(){
//设置client.transport.sniff为true来使客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中
Settings settings = ImmutableSettings.settingsBuilder()
.put("client.transport.sniff", true).build();
Client client = new TransportClient(settings);
client.close();
}
程序猿行业技术生活交流群:181287753(指尖天下),欢迎大伙加入交流学习。
分享到:
相关推荐
《Go-vulcanizer:构建Elasticsearch集群交互的Golang工具》 在现代软件开发中,高效的数据管理和检索是至关重要的。Elasticsearch作为一款强大的分布式搜索引擎,因其优秀的性能和易用性而广受开发者青睐。为了更...
在Elasticsearch中,集群(Cluster)是所有节点相互连接并协同工作的核心组成部分。它负责存储、检索和管理数据,并确保整个系统的高可用性和数据一致性。本文将深入探讨Elasticsearch集群的源码分析,特别是关于`...
通常,插件安装步骤包括下载源码、配置Elasticsearch的URL、然后运行Grunt命令启动服务。启动后,通过浏览器访问指定的端口即可看到head的界面。 需要注意的是,随着Elasticsearch的发展,官方推荐使用Kibana作为...
Elasticsearch-head是一个非常实用的Elasticsearch管理工具,它提供了直观的Web界面,便于用户查看、管理和操作Elasticsearch集群。elasticsearch-head-master是该组件的一个版本,它包含了所有必要的源代码和资源,...
Java API是Elasticsearch与Java应用程序进行交互的主要方式,提供了丰富的类库和方法,使得开发者能够方便地在Java应用中集成Elasticsearch的功能。 在描述中提到的"Elasticsearch 5.1.1 java api maven工程"是指一...
2. **获取源码**:从 GitHub 下载 `elasticsearch-head` 源码,或者使用 Git 命令克隆: ``` git clone https://github.com/mobz/elasticsearch-head.git ``` 3. **安装依赖**:进入 `elasticsearch-head` 目录...
Elasticsearch 集群是由多个节点(Nodes)组成,这些节点通过网络相互连接,共同存储和处理数据。每个节点都可以是集群的一部分,也可以独立工作。通过设置`cluster.name`配置项,可以将多个节点组成同一个集群。 #...
**Elasticsearch 5.3.0 JDBC 源码工程详解** Elasticsearch 是一个高性能、可扩展的全文搜索引擎,常用于大数据分析和实时搜索。JDBC (Java Database Connectivity) 则是 Java 平台中用于连接数据库的标准应用编程...
4. **连接Elasticsearch**:Elasticsearch-Head默认会连接本地的9200端口,如果ES集群在其他主机,需通过URL指定。 5. **访问Web界面**:在浏览器中输入`http://localhost:9100`即可打开Elasticsearch-Head界面,...
Elasticsearch是一款强大的开源搜索引擎,基于Lucene库构建,广泛应用于大数据分析、日志收集、实时搜索等场景。本文将详细介绍文件中包含的Elasticsearch软件包和部分插件,以及它们的功能和用途。 首先,`elastic...
安装Elasticsearch-head通常有两种方式:一是作为独立应用运行,二是作为Elasticsearch的插件。从提供的"elasticsearch-head-master"文件来看,这可能是源码版本,用户需要自行编译并运行。具体步骤如下: 1. 解压...
1. **多集群管理**:Elasticsearch Head 支持同时连接多个集群,只需在界面上添加新的集群URL即可。 2. **安全设置**:如果Elasticsearch集群启用了安全认证,你需要在连接设置中提供用户名和密码。 3. **自定义主题...
3. **连接Elasticsearch**:在界面上输入Elasticsearch集群的地址,即可连接并查看集群信息。 4. **操作实践**:通过界面进行索引管理和文档操作,体验其便捷性。 **总结:** Elasticsearch-Head-Master 是一个强大...
2. **Java REST Client**:Elasticsearch官方提供的Java客户端,通过HTTP/JSON接口与ES集群通信,实现对索引、文档的操作。其线程安全特性意味着在多线程环境中可以放心使用,无需额外的同步措施。 将SSM与Elastic...
在本文中,我们将深入探讨如何将Spring Boot与Elasticsearch集成,主要介绍两种不同的整合方法。Elasticsearch是一个流行的开源搜索引擎,...记得在使用时根据实际情况调整配置,确保与你的Elasticsearch集群正确连接。
Elasticsearch是一个强大的开源搜索引擎和数据分析工具,广泛应用于大数据处理、日志分析、实时监控等领域。而`elasticsearch-head`是专门为Elasticsearch设计的一款Web界面管理插件,它提供了友好的图形化界面,...
3. **配置Elasticsearch连接**:elasticsearch-head默认连接到 `localhost:9200`,这是Elasticsearch的默认监听端口。如果你的Elasticsearch配置了不同的地址或端口,需要修改 "server.js" 文件中的相关设置。 4. *...
6. 配置连接:在浏览器中打开`http://localhost:9100/`(默认端口),输入Elasticsearch集群地址即可连接。 **使用Elasticsearch-Head进行集群管理** 一旦Elasticsearch-Head运行起来,你可以通过其界面进行各种...
一旦设置完毕,你可以在浏览器中打开elasticsearch-head,它将连接到你的Elasticsearch集群,并提供以下功能: - **索引管理**:查看和操作索引,包括创建、删除、更新设置等。 - **节点监控**:查看集群中的节点...