一、下载及配置
1.几个基本名词
index: es里的index相当于一个数据库。
type: 相当于数据库里的一个表。
id: 唯一,相当于主键。
node:节点是es实例,一台机器可以运行多个实例,但是同一台机器上的实例在配置文件中要确保http和tcp端口不同(下面有讲)。
cluster:代表一个集群,集群中有多个节点,其中有一个会被选为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。
shards:代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上,构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。
replicas:代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当个某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。
2.下载
名称 版本 下载地址
elasticsearch 1.7.3 elasticsearch-1.7.3.tar.gz
下载后,放到你的目录下并解压. 因为我们要配置包含三个节点的集群,可以先将其重命名为elasticsearch-node1。比如我的是 /home/zkpk/elasticsearch-node1。
3.修改配置文件
(1) 初步修改
打开/home/zkpk/elasticsearch-node1/config目录下的elasticsearch.yml 文件 ,修改以下属性值并取消该行的注释:
cluster.name: elasticsearch
#这是集群名字,我们 起名为 elasticsearch
#es启动后会将具有相同集群名字的节点放到一个集群下。
node.name: "es-node1"
#节点名字。
discovery.zen.minimum_master_nodes: 2
#指定集群中的节点中有几个有master资格的节点。
#对于大集群可以写3个以上。
discovery.zen.ping.timeout: 40s
#默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,
#为避免因为网络差而导致启动报错,我设成了40s。
discovery.zen.ping.multicast.enabled: false
#设置是否打开多播发现节点,默认是true。
network.bind_host: 192.168.137.100
#设置绑定的ip地址,这是我的master虚拟机的IP。
network.publish_host: 192.168.137.100
#设置其它节点和该节点交互的ip地址。
network.host: 192.168.137.100
#同时设置bind_host和publish_host上面两个参数。
discovery.zen.ping.unicast.hosts: ["192.168.137.100", "192.168.137.101","192.168.137.100:9301"]
#discovery.zen.ping.unicast.hosts:["节点1的 ip","节点2 的ip","节点3的ip"]
#指明集群中其它可能为master的节点ip,
#以防es启动后发现不了集群中的其他节点。
#第一对引号里是node1,默认端口是9300,
#第二个是 node2 ,在另外一台机器上,
#第三个引号里是node3,因为它和node1在一台机器上,所以指定了9301端口。
(2) 进一步修改
拷贝 elasticsearch-node1 整个文件夹,两份,一份elasticsearch-node2,一份elasticsearch-node3.
将elasticsearch-node2 文件夹copy到另外一台IP为192.168.137.101的机器上。而在 192.168.137.100 机器上有 node1和node3.
对于node3: node3和node1在一台机器上,node1的配置文件里端口默认分别是9300和9200,所以要改一下node3配置文件里的端口,elasticsearch.yml 文件修改如下:
node.name: "es-node3"
transport.tcp.port: 9301
http.port: 9201
1
2
3
对于node2: 对 elasticsearch.yml 修改如下
node.name: "es-node2"
network.bind_host: 192.168.137.101
network.publish_host: 192.168.137.101
network.host: 192.168.137.101
1
2
3
4
注意:
1.对于单机多节点的es集群,一定要注意修改 transport.tcp.port 和http.port 的默认值保证节点间不冲突。
2. 出现找不到同一集群中的其他节点的情况,检查下
discovery.zen.ping.unicast.hosts 是否已设置。
二、运行 & 关闭 elasticsearch
1.运行elasticsearch :
编辑 /home/zkpk/elasticsearch-1.7.3/bin/elasticsearch.in.sh, 设置 ES_MIN_MEM和ES_MAX_MEM,确保二者数值一致,或者可以在启动es时指定,
[zkpk@master ~]$ cd ~/elasticsearch-node1/bin
[zkpk@master bin]$ ./elasticsearch -Xms512m -Xmx512m
1
2
若想让es后台运行,则
[zkpk@master bin]$ ./elasticsearch -d -Xms512m -Xmx512m
1
2.关闭elasticsearch:
前台运行:可以通过”CTRL+C”组合键来停止运行
后台运行,可以通过”kill -9 进程号”停止.也可以通过REST API接口:
curl -XPOST http://主机IP:9200/_cluster/nodes/_shutdown
1
来关闭整个集群,通过:
curl -XPOST http://主机IP:9200/_cluster/nodes/节点标示符(如es-node1)/_shutdown
1
来关闭单个节点.
三、插件及其安装
BigDesk Plugin : 对集群中es状态进行监控。
Elasticsearch Head Plugin: 对ES进行各种操作,如查询、删除、浏览索引等。
1.安装head插件
进入到节点elasticsearch-node1/bin路径,并安装插件。
[zkpk@master bin]$ ./plugin -install mobz/elasticsearch-head
1
2. 安装bigdesk
[zkpk@master bin]$ ./plugin -install lukas-vlcek/bigdesk
让我们看下es页面吧~~
打开head浏览,浏览器输入http://192.168.137.100:9200/_plugin/head/ ,如图,
这里写图片描述
图1
每个小方块就是索引分片,可以看到每个索引被分成几个分片,每个分片还有它的备份分片,然后存储在三个节点上。粗框的是主分片,细框的是备份分片。
四、添加索引
现在我们来添加一个索引记录吧~
1.可以在命令窗口通过命令来添加
curl -XPUT 'http://主机IP:9200/dept/employee/32' -d '{ "empname": "emp32"}'
1
见 http://www.oschina.net/translate/elasticsearch-getting-started?cmp
2.我们可以在页面上通过JSON添加
(1)点击 复合查询[+] ,我们可以在 megacorp 索引 (相当于数据库名)的 employee 类型(相当于表名)下新增一个id为2的人的信息。
这里写图片描述
图2
点击下方的 提交请求 按钮,页面右方有回馈信息,“created”代表是否为新建。添加成功。
这里写图片描述
图3
点击 浏览数据 ,在左侧 索引 下选择 megacorp,如图,
这里写图片描述
图4
可以看到,一条id为2的记录被添加了。
(2)下面我们修改id为2 的人的年龄为15,把about 信息去掉,并且加一项兴趣。
这里写图片描述
图5
提交后,右侧有反馈信息,“created”为 false,因为我们这次不是新建而是修改。
这里写图片描述
图6
返回浏览数据,id为2 的记录,年龄、兴趣等均已发生变化。
这里写图片描述
图7
分享到:
相关推荐
以上内容涵盖了SpringBoot1.3.1与Elasticsearch1.7.3集群的关键知识点,包括集成方式、操作流程、查询机制、集群管理和性能优化等方面。通过理解并熟练掌握这些概念,可以有效地在SpringBoot应用中构建和使用Elastic...
Elasticsearch 1.7.3 是一个早期版本的全文搜索和分析引擎,它属于Elastic Stack(前称为ELK stack)的一部分,其中包括Elasticsearch、Logstash、Kibana和Beats。这个版本的发布旨在提供高效、可扩展的搜索、日志...
**Elasticsearch 1.7.0:搜索与分析引擎的里程碑版本** Elasticsearch,一个基于Lucene的开源搜索引擎,以其分布式、实时、可扩展的特性在IT领域备受推崇。1.7.0版是1.x系列的最终版本,标志着这一系列的成熟与稳定...
**Elasticsearch 1.7.1:搜索引擎的基石** Elasticsearch 是一款高度可扩展的开源全文搜索引擎,设计目标是实现快速、可扩展的搜索和分析引擎。它基于 Lucene 库,提供了分布式、多租户功能,适用于各种数据类型,...
**Elasticsearch 1.7.1:一个早期版本的分布式搜索引擎** Elasticsearch是一个开源的、基于Lucene的全文搜索引擎,它以分布式、实时、弹性(Fault Tolerant)和横向扩展为特点,被广泛应用于日志分析、监控、搜索、...
Elasticsearch 子项目:服务器 org.elasticsearch/elasticsearch/1.7.3/elasticsearch-1.7.3.jar
《Elasticsearch Analysis HanLP插件详解》 在大数据时代,搜索引擎成为了信息获取的重要工具,而Elasticsearch作为一款强大的全文搜索引擎,广泛应用于各种场景。为了更好地支持中文处理,Elasticsearch提供了各种...
Elasticsearch 的官方 Groovy 客户端 org.elasticsearch/elasticsearch-groovy/1.7.3/elasticsearch-groovy-1.7.3.jar
elasticsearch-analysis-hanlp-7.x.x:es插件安装包,安装说明在包内 elasticsearch-analysis-hanlp-master-7.x.x:es插件源码和引用 HanLP-portable-1.7.3:hanlp分词器源码 1. 修改了hanlp-portable-1.7.3源码中...
Ogre的核心特性包括硬件加速的3D渲染、支持多种图形API(如Direct3D9、Direct3D11、OpenGL和OpenGL ES),以及丰富的场景管理、光照、纹理处理、粒子系统和动画功能。1.7.3版本可能对性能进行了优化,增加了新的特性...
### Elasticsearch在欢聚时代应用与优化实践 #### 一、Elasticsearch简介及欢聚时代应用背景 **Elasticsearch** 是一个基于Lucene的开源分布式搜索引擎,它提供了丰富的功能和高度可扩展的能力,适用于多种场景下...
CCIA投票公众号版V1.7.3 全开源版.rar
同时,它还提供了丰富的输出插件,能够将收集到的数据发送到不同的后端存储或分析系统,如InfluxDB、Graphite、Elasticsearch等。这种灵活的插件机制使得Telegraf在各种场景下都能游刃有余。 在Windows环境下安装...
适用于Scala的Slim Elasticsearch客户端 de.knutwalker/esclient_2.11/1.7.3/esclient_2.11-1.7.3.jar
康拍 Connbeat是“ Connectionbeat”的缩写,是一种开源代理,可监视TCP连接元数据并将数据发送到Kafka或Elasticsearch或HTTP端点。 与的主要区别在于Connbeat旨在监视计算机上的所有连接(而不仅仅是选定的协议),...