跟部署有关的几个名词先介绍一下:
node | 节点是一个es实例,一台机器可以运行多个实例,但是同一台机器上的实例在配置文件中要确保http和tcp端口不同;一般一个机器只部署一个 | cluster | 代表一个集群,集群中有多个节点,其中有一个会被选为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。一般较大的集群中,一个节点不同时作为主节点和数据节点 | shards | 因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配, 所以用户基本上不用担心分片的处理细节.分片会造成冗余,但是提高了可用性 | replicas | ES默认为一个索引创建5个主分片, 并分别为其创建一个副本分片. 也就是说每个索引都由5个主分片成本, 而每个主分片都相应的有一个copy. |
我们来看一个es集群的部署结构:
?我们可以安装head插件来查看es的分片状况以及其他信息:
es-head插件查看es系统概览_u013761206的专栏-CSDN博客
根数据更像个的,有几个名词,有参照比较好理解,选择mysql的结构来进行对比:
Elasticsearch | MySQL | |
---|
索引库(indices) | Database 数据库 |
| 类型(type) | Table 数据表 |
类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引(目前6.X以后的版本只能有一个类型),类似数据库中的表概念。数据库表中有表结构,也就是表中每个字段的约束信息;索引库的类型中对应表结构的叫做映射(mapping) ,用来定义每个字段的约束。 |
| 文档(Document) | Row 行 |
存入索引库原始的数据。比如每一条商品信息,就是一个文档 |
| 域字段(Field) | Columns 列 |
| 映射配置(mappings) | 每个列的约束(类型、长度) | 字段的数据类型、属性、是否索引、是否存储等特性 |
一:下载安装es
参考:elasticsearch 6.8安装 - 柴米油盐酱醋 - 博客园
?
二、运行 & 关闭 elasticsearch
1.运行elasticsearch :
编辑 /elasticsearch-1.7.3/bin/elasticsearch.in.sh, 设置 ES_MIN_MEM和ES_MAX_MEM,确保二者数值一致,或者可以在启动es时指定
bin/elasticsearch
若想让es后台运行,则?
bin/elasticsearch -d -Xms512m -Xmx512m
关闭elasticsearch:
前台运行:可以通过”CTRL+C”组合键来停止运行? 后台运行,可以通过”kill -9 进程号”停止.使用jps查看进程号
四、es调优
参考:ElasticSearch性能优化实践(JVM调优+ES调优) - 简书
|