admin管理员组

文章数量:1636972

kill 8423

操作结果如下:

配置

=============================================================

安装目录介绍


elasticsearch下载之后,解压后,可以看到目录结构如下:

目录含义如下:

| 文件/文件夹 | 作用 |

| :-- | :-- |

| bin | 可执行文件存放目录,例如启动文件 |

| config | 配置文件存放目录 |

| data | 数据存储目录 |

| lib | 第三方依赖库 |

| logs | 运行日志输出目录 |

| modules | 依赖模块目录 |

| plugins | 插件目录 |

| LICENSE.txt | LICENSE声明文件 |

| NOTICE.txt | 版权声明文件 |

| README.textile | 框架介绍信息 |

配置介绍


在config目录下,主要有如下配置文件:

  • elasticsearch.keystore

  • jvm.options

  • role_mapping.yml

  • users

  • elasticsearch.yml

  • log4j2.properties

  • roles.yml

  • users_roles

其中,我们经常涉及到的有三个,elasticsearch.yml、log4j2.properties以及jvm.options,其中,elasticsearch.yml是elasticsearch的基本配置文件,log4j2是日志输出配置文件,jvm则是jvm基本参数配置。这里主要来看看elasticsearch.yml配置文件,如下:

======================== Elasticsearch Configuration =========================

NOTE: Elasticsearch comes with reasonable defaults for most settings.

Before you set out to tweak and tune the configuration, make sure you

understand what are you trying to accomplish and the consequences.

The primary way of configuring a node is via this file. This template lists

the most important settings you may want to configure for a production cluster.

Please consult the documentation for further information on configuration options:

https://www.elastic.co/guide/en/elasticsearch/reference/index.html

---------------------------------- 集群配置 -----------------------------------

Use a descriptive name for your cluster:

#配置集群名字,集群名字默认为elasticsearch,

#elasticsearch会自动发现在同一网段下的elasticsearch节点。

#读者在第一次启动elasticsearch时,在浏览器中输入http://localhost:9200,

#在返回的数据中,就有集群名字,默认即为elasticsearch。

#cluster.name: my-application

------------------------------------ 节点配置 ------------------------------------

Use a descriptive name for the node:

#配置节点名称

#node.name: node-1

Add custom attributes to the node:

#给节点添加自定义属性

#node.attr.rack: r1

----------------------------------- 路径配置 ------------------------------------

Path to directory where to store the data (separate multiple locations by comma):

#数据存放目录,默认是elasticsearch下的data目录,可以指定多个目录,用,隔开,如:

#path.data:/path/data1,/path/data2

#path.data: /path/to/data

Path to log files:

#日志存放目录,默认为elasticsearch下的logs目录

#path.logs: /path/to/logs

----------------------------------- 内存配置 -----------------------------------

Lock the memory on startup:

#配置是否锁住内存。当jvm开始swapping时,elasticsearch的效率降低,为了避免这种情况,可以设置为true。

#bootstrap.memory_lock: true

Make sure that the heap size is set to about half the memory available

on the system and that the owner of the process is allowed to use this

limit.

Elasticsearch performs poorly when the system is swapping the memory.

---------------------------------- 网络配置 -----------------------------------

Set the bind address to a specific IP (IPv4 or IPv6):

#设置绑定的ip地址

#network.host: 192.168.0.1

Set a custom port for HTTP:

#配置对外提供服务的http端口号

#http.port: 9200

For more information, consult the network module documentation.

--------------------------------- 集群节点发现参数 ----------------------------------

Pass an initial list of hosts to perform discovery when new node is started:

The default list of hosts is [“127.0.0.1”, “[::1]”]

#设置集群中master节点的初始列表,通过这个配置可以发现新加入的集群的节点。

#discovery.zen.ping.unicast.hosts: [“host1”, “host2”]

Prevent the “split brain” by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):

#保证集群中的节点可以知道其他n个有master资格的节点,防止出现split brain,默认为1

#discovery.zen.minimum_master_nodes:

For more information, consult the zen discovery module documentation.

---------------------------------- Gateway -----------------------------------

Block initial recovery after a full cluster restart until N nodes are started:

#当n个节点启动后,再开始集群的恢复

#gateway.recover_after_nodes: 3

For more information, consult the gateway module documentation.

---------------------------------- Various -----------------------------------

Require explicit names when deleting indices:

#action.destructive_requires_name: true

当然这里只是最基本的配置,更多配置读者可以参考官方文档。

核心概念

===============================================================

Elasticsearch安装成功后,在正式启动之前,还需要读者了解Elasticsearch中几个核心概念,掌握这些核心概念,有助于读者更好的理解Elasticsearch。

NRT


Elasticsearch是一个接近实时(near real time)的搜索平台,也就是说,从你建立索引,到这个索引可以被搜索只需要很小的延迟,通常是1秒。

cluster


一个集群就是由一个或多个节点组织在一起, 这些节点共同持有全部的索引数据, 并共同提供索引和搜索功能。 一个集群由一个唯一的名字标识(默认就是“elasticsearch”,在上文启动过程中,也像读者展示了如何自定义集群名称)。 这个名字很重要, 因为一个节点只能通过指定某个集群的名字,来加入这个集群。在生产环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也是不错的。开发者需要确认不要使用相同的集群名字,以避免节点加入到错误的集群。需要注意的是,一个集群中只包含一个节点是合法的。另外,你也可以拥有多个集群,集群以名字区分。

node


一个节点就是集群中的一个服务,作为集群的一部分,它可以用来存储数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的Universally Unique IDentifier (UUID),这个名字会在节点启动时分配给节点。这个名字对于节点管理工作来说很重要,因为开发者需要确定网络中的哪些服务对应于Elasticsearch集群中的哪些节点。

一个节点可以通过配置集群名称的方式来加入一个指定的集群。 默认情况下,每个节点都会被加入到一个叫做“elasticsearch”的集群中,这意味着,如果开发者启动了多个节点, 并且这些节点能够相互发现彼此,那么这些节点会自动加入到一个叫做“elasticsearch”的集群中。

在一个集群里可以拥有任意多个节点。而且,如果当前网络中没有运行任何节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的单节点集群。

index


一个索引就是一个拥有相似特征的文档的集合。例如,客户数据可以建立一个索引,产品目录可以建立一个索引,订单数据可以建立一个索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以创建任意多个索引。

type


在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组相同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台 并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。

注意:这是一个即将过期的概念,在Elasticsearch 6.0.0或更高版本中创建的索引只包含单个映射类型(type)。在具有多种映射类型的5.x中创建的索引将继续像以前一样在Elasticsearch 6.x中运行。映射类型将在Elasticsearch7.0.0中完全删除。

许多人喜欢将index比喻为关系型数据库中的database,将type比喻为关系型数据库中的table,实际上这个比喻非常不贴切。因为在关系型数据库中,表中的字段都是独立的,但是在Elasticsearch中,在不同的type中,如果filed具有相同的名字,则这些不同的filed实际上是由相同的Lucene Filed提供支持的,因此这种比喻并不恰当;另一方面,在同一索引中存储具有很少或没有共同字段的不同实体会干扰Lucene有效压缩文档的能力。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)

最后

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
、源码讲义、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)

[外链图片转存中…(img-lCF3wdk8-1713838642451)]

最后

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
[外链图片转存中…(img-hle8f1JU-1713838642451)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

本文标签: Elasticsearch