分布式搜索 Elasticsearch —— 节点实例化

为什么80%的码农都做不了架构师?>>>   hot3.png

要连接到集群,首先要告诉集群:你是谁,你有什么特征。在 ES 中体现为实例化节点。

ES 通过 org.elasticsearch.node.NodeBuilder 的 build() 或者 node() 方法实例化节点,build() 创建节点而不启动,而 node() 方法等价于 build().start() ,即 创建并启动。

 

首先实例化 NodeBuilder ,有两种方式,第一种是 new, 如下:

NodeBuilder nodeBuilder = new NodeBuilder();

 

第二种使用 NodeBuilder 的工厂方法,NodeBuilder 中有以下方法

public static NodeBuilder nodeBuilder(){return new NodeBuilder();
}

所以可以直接通过以下代码实例化 NodeBuilder:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder();

实例化后便可设置该 node 的特性,NodeBuilder 本身自带了一些方法:

1、loadConfigSettings ,是否家在配置文件。

你可以在 classpathx 下 创建一个 elasticsearch.yml 文件,然后再其中设置一些属性(参见分布式搜索Elasticsearch——配置) ,再把 loadConfigSettings 的值设置为 true 即可,代码如下

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().loadConfigSettings(true);

loadConfigSettings 默认为 true.

2、是否只作为客户端,即不存储索引数据,默认值为false 代码如下所示:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().client(true);

3、是否持有索引数据,默认值为 true,代码如下所示:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().data(true);

client(boolean) 和 data(boolean) 是有一定关联的,

当 client 为 true 时候, data 默认值为 false,且不能改为 true,否则会报错。

当 client 为 false 时候,data 默认值为 true,而且改为 false 也不起作用,也就是下面代码等价:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().data(true).client(false);  
NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().data(false).client(false);  

 4、是否为 本地节点,本地节点是指在 JVM 级别中的统计,当多个节点使用同一个 JVM 时,这些节点可以组合成一个集群,而非同一个 JVM 下的节点则不处于集群中,默认值为 false:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().local(true);

5、设置集群名,即该节点位于哪个集群下,默认值elasticsearch:

NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().clusterName(your name");

若多个节点设置了同一个 clusterName,则说明这几个节点位于同一个集群下。

6、以 Map 的方式设置属性,NodeBuilder 中有以下两个方法:

    

/*** Explicit node settings to set*/
public NodeBuilder settings(Settings.Builder settings){return settings(settings.build());
}/*** Explicit node settings set*/
public NodeBuilder settings(Settings settings){this.settings.put(settings);return this;
}

这两个方法允许通过 Map 的方法设置属性,如下代码所示:

Map<String,String> settingsMap = new HashMap<String,String>();
settingsMap.put("node.client","false");
settingsMap.put("node.data","true");
settingsMap.put("node.local","true");
settingsMap.put("cluster.name","clusterName");
settingsMap.put("node.name","geloin");Settings settings = ImmutableSettings.settingsBuilder().put(settingsMap).build();
Node node = NodeBuilder.nodeBuilder().settings(settings).node();

org.elasticsearch.common.settings.Settings 是一个接口,

org.elasticsearch.common.settings.ImmutableSettings 才是它的实现类。

上一篇文章 分布式搜索 Elasticsearch —— 配置 说了一些 ES 的配置,可以在上述的代码中的 map 中设置。

 

综上所述,我们对设置 Node 的属性有以下结论:

1、使用配置文件,即在 classpath 下建立 elasticsearch.yml 文件,然后把 分布式搜索 Elasticsearch —— 配置 李曼提到的配置加入到此文件中,再保持 loadConfigSettings为 true 即可;

2、使用 Map 方式,然后用  NodeBuilder.nodeBuilder().settings(settings);

3、使用 NodeBuilder 自带了 client 、data、local、clusterName 方法,不过 NodeBuilder 自带方法有限,所以可能还需要配合以上提到的两种方式才能达到要求。

转载于:https://my.oschina.net/exit/blog/805163

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(转)在ios android设备上使用 Protobuf (使用dll方式)

自&#xff1a;http://game.ceeger.com/forum/read.php?tid13479 如果你的工程可以以.Net 2.0 subset模式运行&#xff0c;请看这个帖子中的方法。 地址&#xff1a;http://game.ceeger.com/forum/read.php?tid14359&fid27 如果只能以.Net 2.0下运行&#xff0c;就可以继…

ps 毛发 边缘_Adobe Photoshop抠图技巧/抠图后头发边缘的颜色处理方法教程!

PS教学第1&#xff11;期抠图技巧和抠图后的头发边缘的颜色处理的解释本篇抠图技巧教程除了跟大家分享了抠头发的方法外&#xff0c;还分享如何解决抠头发后头发周围的异色&#xff0c;如白边紫边等问题。教程作者没有提供素材&#xff0c;大家可以找其他图片来练习。有些时候想…

Hyper-v 2016 VHD Set

Hyper-v 2016 VHD Set微软在Windows Server 2016 Hyper-v中新增了一种磁盘类型--“VHD集”&#xff0c;和以前版本的共享VHD类似&#xff0c;这种类型的磁盘能够在多个服务器之间共享来实现来宾群集。看到这里相信有很多熟悉Hyper-v的朋友会问&#xff1a;这和以前的 Share VHD…

面试总结之html+css

最近面试了一些公司&#xff0c;和技术总监聊了一些前端技术方面的内容。回来之后我总结了一下&#xff0c;大致可以分为三个模块&#xff1a;第一、Html与css 方面&#xff1b;第二、浏览器解析方面&#xff1b;第三、js方面。打算&#xff0c;分为三篇博文&#xff0c;根据自…

计算机的发展经历阶段应用领域,计算机的发展阶段

计算机的发展阶段以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;计算机经历了四个发展阶段。1、电子管数字机(1946—1958年)硬件方面&#xff0c;逻辑元件采用的是真空电子管&#xff0c;外…

全球都对HTTPS抛出了橄榄枝,为什么?你又该怎么办?

2019独角兽企业重金招聘Python工程师标准>>> 互联网发展20多年&#xff0c;大家都习惯了在浏览器地址里输入HTTP格式的网址。但前两年&#xff0c;HTTPS逐渐取代HTTP&#xff0c;成为传输协议界的“新宠”。 早在2014年&#xff0c;由网际网路安全研究组织Internet …

大一大学计算机考试难吗,新生必看!大一期间必考的3个证书,不考后悔,越拖越难考!...

原标题&#xff1a;新生必看!大一期间必考的3个证书&#xff0c;不考后悔&#xff0c;越拖越难考!9月开学季&#xff0c;大学新生也陆陆续续来到了学校报到&#xff0c;开启自己美好的大学生活!但是!小编要提醒大家的是千万不要相信高中老师说的那句&#xff1a;“上了大学你们…

我是如何实用:before :after

本文地址http://www.cnblogs.com/Bond/p/3972854.html 最近一直做移动端&#xff0c;没和IE6打交道了&#xff0c;瞬间感觉世界变美好了。移动端虽然还是各种坑&#xff0c;但是比起修复IE6那还是轻松多了&#xff0c;移动端很多效果可以用CSS3来做&#xff0c;感觉一切都和谐…

lua 从一串数字中取出偶数位的数字_为什么JavaScript中 0.1 0.2 不等于0.3?

在 js 中进行数学的运算时&#xff0c;会出现0.10.20.300000000000000004的结果&#xff0c;一开始认为是浮点数的二进制存储导致的精度问题&#xff0c;但这似乎不能很好的解释为什么在同样的存储方式下0.30.40.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算&am…

zookeeper启动后没有相关进程

查看状态报错&#xff0c;报错&#xff0c;百度硕士nc问题&#xff0c;让看.out文件&#xff0c;但是这哥文件是空的&#xff0c;那就看log 016-12-15 14:08:19,355 [myid:] - INFO [main:QuorumPeer$QuorumServer149] - Resolved hostname: StandByNameNode to address: Stan…

计算机发展与应用,网络计算机的发展与应用

网络计算机(Network Computer)&#xff0c;简称NC&#xff0c;是专用于高速网络环境下的一种计算机终端设备。它一般不需要硬盘、软驱及光驱等外部存储器&#xff0c;而是通过网络获取大部分资源&#xff0c;其所需要的应用程序和数据都存储在服务器上。NC与PC的比较随着网络技…

ASP.NET 缓存技术分析

缓存功能是大型网站设计一个很重要的部分。由数据库驱动的Web应用程序&#xff0c;如果需要改善其性能&#xff0c;最好的方法是使用缓存功能。可能的情况下尽量使用缓 存&#xff0c;从内存中返回数据的速度始终比去数据库查的速度快&#xff0c;因而可以大大提供应用程序的性…

分布式搜索 Elasticsearch —— 删除索引

为什么80%的码农都做不了架构师&#xff1f;>>> 删除索引的方式很多&#xff0c;这里列举三种。 指定 index 、type、id 执行删除 package com.gsoft.gsearch.util;import org.elasticsearch.action.get.GetResponse; import org.junit.Test;import com.gsoft.gsea…

计算机云客户端,蓝奏云网盘客户端 0.3.7电脑版

蓝奏云由于不限速、下载速度快被很多用户所欢迎&#xff0c;不过蓝奏云没有客户端&#xff0c;上传下载有时也不太方便,这里有大神写了蓝奏云网盘客户端&#xff0c;采用蓝奏云API项目使用PyQt5实现图形界面&#xff0c;蓝奏云盘API项目实现了对蓝奏网盘的基本操作: 登录、列出…

三十分钟学会SED

本文承接之前写的三十分钟学会AWK一文&#xff0c;在学习完AWK之后&#xff0c;趁热打铁又学习了一下SED&#xff0c;不得不说这两个工具真的堪称文本处理神器&#xff0c;谁用谁知道&#xff01;本文大部分内容依旧是翻译自Tutorialspoint上的入门教程&#xff0c;这次是 Sed …

计算机学院年会,重庆大学计算机学院举行2019年迎新晚会

2019年12月6号晚&#xff0c;重庆大学计算机学院2019年迎新晚会在兰园小剧场举行。出席本次晚会的嘉宾有计算机学院党委副书记兼纪委书记郭坤银、党委组织员刘霜、2016级辅导员李若菡老师、2017级辅导员古曦老师、2018级辅导员郑田青老师、2019级辅导员谢璧如老师。本次晚会的主…

[转贴]Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程

看了opengles有一段时间了&#xff0c;算是了解了一下下。然后&#xff0c;就在基本要决定还是回归cocos2dx 3.2的&#xff0c;看了这篇好文章&#xff0c;欣喜转之~ 推荐看原帖&#xff1a; Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程 最近几天&#xff0c;我都…

计算机组装与维护实训1,计算机组装与维护实训报告[1]

计算机组装与维护实训报告[1] (12页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;11.90 积分实习报告设计题目&#xff1a; 计算机组装与维护实习 专业班级&#xff1a; 计算机应用103班 学生姓名&a…

node.js-------使用路由模块

路由需要的信息&#xff0c;包括URL 及GET 或 POST参数。路由根据这些参数执行相应的js处理程序&#xff0c;因此&#xff0c;需要在HTTP请求中提取出URL以及GET或POST参数。这些请求参数在request对象中&#xff0c;这个对象是onRequest()回调函数的第一个参数。需要提取这些信…

计算机意外重启或遇错误无法继续,计算机意外地重新启动或遇到错误如何解决?...

电脑小白在重装系统后难免会遇到些问题&#xff0c;有的容易处理&#xff0c;有的会有些棘手。那么&#xff0c;计算机意外地重新启动或遇到错误如何解决?今天快启动小编为大家分享详细的计算机意外地重新启动或遇到错误的解决方法&#xff0c;献给对系统重装知识不太了解的小…