【详解配置文件系列】es7配置文件详解(上)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【详解配置文件系列】es7配置文件详解

首发博客地址

系列文章地址


配置文件

# ---------------------------------- Cluster -----------------------------------
cluster.name: my-cluster
# 集群的名称
node.name: node-1
# 节点的名称
node.master: true
# 是否允许节点成为主节点(默认为 true)
node.data: true
# 是否允许节点存储数据(默认为 true)
# ----------------------------------- Paths ------------------------------------
path.data: /path/to/data
# 数据文件的存储路径
path.logs: /path/to/logs
# 日志文件的存储路径
# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0
# 监听的网络接口地址(默认为 0.0.0.0,即监听所有接口)
http.port: 9200
# HTTP 通信使用的端口号(默认为 9200)
transport.tcp.port: 9300
# 节点间通信使用的 TCP 端口号(默认为 9300)
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: [ "host1", "host2" ]
# 发现初始主机节点的地址列表,用于集群自动发现
cluster.initial_master_nodes: [ "node-1", "node-2" ]
# 初始主节点列表,用于集群自动发现
# ---------------------------------- Gateway -----------------------------------
gateway.recover_after_nodes: 3
# 节点数达到指定数量后,才开始恢复数据(默认为 3)
gateway.expected_nodes: 5
# 预期的节点数量,用于恢复数据(默认为 5)
# ---------------------------------- Memory ------------------------------------
bootstrap.memory_lock: true
# 是否锁定 Elasticsearch 进程的内存(需要设置文件系统权限)
# ---------------------------------- Various -----------------------------------
action.destructive_requires_name: true
# 在执行危险操作(如删除索引)时,需要显式指定操作名称(默认为 true)
# ---------------------------------- Security ----------------------------------
xpack.security.enabled: true
# 是否启用 X-Pack 安全功能(默认为 false)
xpack.security.authc.api_key.enabled: true
# 是否启用 API 密钥认证(默认为 false)
# ---------------------------------- Logging ----------------------------------
logger.org.elasticsearch.transport: debug
# 日志级别设置(可选:trace, debug, info, warn, error, fatal)

cluster.name

cluster.nameElasticsearch 配置文件中的一个重要选项,用于指定集群的名称。每个运行的 Elasticsearch 实例都必须具有相同的集群名称才能加入同一个集群。

cluster.name: my-cluster
  • cluster.name是一个自定义的字符串,用于标识一个 Elasticsearch 集群。集群名称可以是任何合法的字符串,但最好选择一个具有描述性的名称,以便在多个集群之间区分。
  • 所有想要加入同一个集群的 Elasticsearch 节点都必须设置相同的cluster.name值。这样,它们才能相互发现并协同工作,共享数据和状态。
  • 如果您在配置文件中更改了cluster.name选项的值,需要确保所有节点都使用相同的集群名称,并重新启动它们才能生效。
  • 默认情况下,Elasticsearch 的集群名称为"elasticsearch"。但为了避免与其他集群发生冲突,建议将cluster.name设置为唯一的名称。
  • 集群名称是 Elasticsearch 集群的重要标识,它还用于在集群中的节点之间进行发现、通信和协调。

确保在配置 Elasticsearch 集群时,将所有节点的cluster.name选项设置为相同的值,以确保它们能够正常加入同一个集群并协同工作。

node.name

node.name是 Elasticsearch 配置文件中的一个选项,用于指定节点的名称。每个运行的 Elasticsearch 节点都应该具有唯一的名称,以便在集群中进行识别和通信。

node.name: node-1
  • node.name是一个自定义的字符串,用于标识一个 Elasticsearch 节点。节点名称可以是任何合法的字符串,但最好选择一个具有描述性的名称,以便在集群中识别和管理节点。
  • 每个 Elasticsearch 节点都应该具有唯一的node.name值,以避免与其他节点发生冲突。
  • 节点名称对于集群中的节点之间的发现、通信和协调非常重要。节点名称用于在集群中识别和标识特定的节点。
  • 如果您在配置文件中更改了node.name选项的值,需要确保每个节点都使用唯一的名称,并重新启动它们才能生效。
  • 默认情况下,如果没有显式设置node.name选项,Elasticsearch 会自动生成一个随机的节点名称。

在配置 Elasticsearch 节点时,确保为每个节点设置唯一的node.name值,以便在集群中正确识别和管理节点。这将有助于确保节点之间的正常通信和协作。

node.master: true

node.master是 Elasticsearch 配置文件中的一个选项,用于指定节点是否可以成为主节点。主节点负责集群中的元数据管理和协调工作。

node.master: true
  • node.master是一个布尔值选项,用于指定节点是否可以成为主节点。默认情况下,它的值为true,表示节点可以担任主节点的角色。
  • 主节点负责集群级别的操作,如创建或删除索引、分配分片、维护节点拓扑结构等。通常情况下,一个集群中只有少数几个节点会被选为主节点。
  • 如果您有多个节点运行在同一个集群中,并希望将某些节点排除在主节点的角色之外,可以将node.master选项设置为false
  • 在配置节点时,根据集群的规模和需求,需要仔细选择主节点的数量和分布。通常建议在较大的集群中选择多个主节点,以提高冗余性和可用性。
  • 如果集群中的主节点失败或不可用,Elasticsearch 会自动从剩余的节点中选举新的主节点。

确保在配置节点时,根据集群的需求和规模,正确设置node.master选项,以确保主节点的角色分配和集群的正常运行。

node.data: true

node.data是 Elasticsearch 配置文件中的一个选项,用于指定节点是否可以存储数据。数据节点负责存储和处理索引数据。

node.data: true
  • node.data是一个布尔值选项,用于指定节点是否可以存储数据。默认情况下,它的值为true,表示节点可以作为数据节点。
  • 数据节点负责存储索引的分片数据和执行与索引数据相关的操作,如索引和搜索。在一个 Elasticsearch 集群中,可以有多个数据节点来分担数据的存储和处理负载。
  • 如果您希望某个节点只负责协调和管理集群,并不存储任何数据,则可以将node.data选项设置为false
  • 在配置节点时,根据集群的需求和规模,需要仔细考虑数据节点的数量和分布。通常建议在大型集群中选择多个数据节点,以实现数据的冗余和高可用性。
  • 数据节点会自动接收和管理分配给它们的分片,并与其他数据节点进行数据同步和复制,以确保数据的可靠性和一致性。

确保在配置节点时,根据集群的需求和规模,正确设置node.data选项,以确保数据节点的角色分配和集群的正常运行。

path.data: /path/to/data

path.data是 Elasticsearch 配置文件中的一个选项,用于指定数据文件的存储路径。

以下是对path.data选项的详细解释:

path.data: /path/to/data
  • path.data用于指定 Elasticsearch 存储索引数据的路径。这个路径可以是一个本地文件系统的目录,也可以是一个挂载的网络文件系统(NFS)路径。
  • 在配置文件中,将/path/to/data替换为实际的数据存储路径。
  • 默认情况下,Elasticsearch 会在启动时自动创建一个名为data的子目录,并在该目录下存储索引数据。
  • 如果您希望将索引数据存储在不同的位置,可以使用path.data选项来指定自定义的数据存储路径。确保目录具有适当的权限,以便 Elasticsearch 进程可以读取和写入数据。
  • 如果您有多个数据节点运行在同一个集群中,那么所有数据节点的path.data配置应该指向相同的目录,以确保数据的共享和一致性。
  • 对于高可用性和数据冗余,建议将数据存储在多个独立的磁盘驱动器上,以避免单点故障。

确保在配置 Elasticsearch 节点时,正确设置path.data选项,以指定数据文件的存储路径,并确保路径的可用性和适当的权限设置。

path.logs: /path/to/logs

path.logs是 Elasticsearch 配置文件中的一个选项,用于指定日志文件的存储路径。

以下是对path.logs选项的详细解释:

path.logs: /path/to/logs
  • path.logs用于指定 Elasticsearch 存储日志文件的路径。这个路径可以是一个本地文件系统的目录,也可以是一个挂载的网络文件系统(NFS)路径。
  • 在配置文件中,将/path/to/logs替换为实际的日志文件存储路径。
  • 默认情况下,Elasticsearch 会在启动时自动创建一个名为logs的子目录,并在该目录下存储日志文件。
  • 如果您希望将日志文件存储在不同的位置,可以使用path.logs选项来指定自定义的日志文件存储路径。确保目录具有适当的权限,以便 Elasticsearch 进程可以写入日志文件。
  • 日志文件包含了 Elasticsearch 的运行日志、错误日志和其他日志信息,对于故障排除和监控非常重要。
  • 确保为日志存储路径选择一个具有足够的磁盘空间和适当的文件系统性能的位置。

确保在配置 Elasticsearch 节点时,正确设置path.logs选项,以指定日志文件的存储路径,并确保路径的可用性和适当的权限设置。

network.host

network.host是 Elasticsearch 配置文件中的一个选项,用于指定 Elasticsearch 监听的网络接口地址。

以下是对network.host选项的详细解释:

network.host: 192.168.0.1
  • network.host用于指定 Elasticsearch 监听的网络接口地址。可以使用具体的 IP 地址或主机名来指定要监听的网络接口。
  • 默认情况下,network.host的值是localhost,表示 Elasticsearch 只监听本地回环接口(127.0.0.1),即只允许本地访问。
  • 要使 Elasticsearch 对外可见并允许来自其他主机或网络的访问,可以将network.host设置为具体的 IP 地址或主机名。
  • 可以指定一个具体的 IP 地址(如192.168.0.1)来监听特定的网络接口。也可以使用通配符地址(如0.0.0.0)来监听所有可用的网络接口。
  • 如果您的服务器有多个网络接口(如多个网卡),可以根据需求选择要监听的特定接口。
  • 使用network.host选项时,需要注意安全性和访问控制,确保只允许受信任的主机或网络访问 Elasticsearch。

确保在配置 Elasticsearch 节点时,根据实际需求、网络环境和安全考虑,正确设置network.host选项,以指定 Elasticsearch 监听的网络接口地址。

http.port

http.port是 Elasticsearch 配置文件中的一个选项,用于指定 Elasticsearch HTTP 通信所使用的端口号。

以下是对http.port选项的详细解释:

http.port: 9200
  • http.port用于指定 Elasticsearch 监听的 HTTP 通信端口号。默认情况下,它的值是9200
  • 当客户端通过 HTTP 协议与 Elasticsearch 进行通信时,使用的是http.port指定的端口号。
  • 如果您希望在访问 Elasticsearch 时使用不同的端口号,可以修改http.port的值为所需的端口号。
  • 请确保所选的端口号在您的环境中是未被使用的,并且没有防火墙或其他网络设备阻止与该端口的通信。
  • 如果您有多个 Elasticsearch 节点运行在同一个集群中,每个节点都应该使用不同的http.port来避免端口冲突。

确保在配置 Elasticsearch 节点时,根据实际需求和网络环境,正确设置http.port选项,以指定 Elasticsearch HTTP 通信所使用的端口号。

transport.tcp.port

transport.tcp.port是 Elasticsearch 配置文件中的一个选项,用于指定 Elasticsearch 节点间通信所使用的 TCP 端口号。

以下是对transport.tcp.port选项的详细解释:

transport.tcp.port: 9300
  • transport.tcp.port用于指定 Elasticsearch 节点间通信所使用的 TCP 端口号。默认情况下,它的值是9300
  • 当 Elasticsearch 节点之间进行通信时,使用的是transport.tcp.port指定的端口号。节点间的通信主要用于数据复制、协调和集群管理等操作。
  • 如果您希望在访问 Elasticsearch 节点间通信时使用不同的端口号,可以修改transport.tcp.port的值为所需的端口号。
  • 请确保所选的端口号在您的环境中是未被使用的,并且没有防火墙或其他网络设备阻止与该端口的通信。
  • 如果您有多个 Elasticsearch 节点运行在同一个集群中,每个节点都应该使用不同的transport.tcp.port来避免端口冲突。
  • 默认情况下,客户端与 Elasticsearch 节点之间的通信应该使用 HTTP 协议,而不是直接通过transport.tcp.port进行通信。

确保在配置 Elasticsearch 节点时,根据实际需求和网络环境,正确设置transport.tcp.port选项,以指定 Elasticsearch 节点间通信所使用的 TCP 端口号。


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
XML JSON Java
04SpringBoot配置文件
04SpringBoot配置文件
42 0
|
4月前
|
缓存 负载均衡 应用服务中间件
nginx.conf 配置解析及常用配置
nginx.conf 配置解析及常用配置
97 6
|
6月前
|
弹性计算 运维 Shell
|
存储 安全 API
【详解配置文件系列】es7配置文件详解(下)
【详解配置文件系列】es7配置文件详解(下)
|
JSON Java Go
SpringBoot 配置文件:什么是配置文件?配置文件能干什么?
SpringBoot 配置文件:什么是配置文件?配置文件能干什么?
|
监控 网络协议 Java
配置文件说明|学习笔记
快速学习配置文件说明。
配置文件说明|学习笔记
|
数据格式
如何优雅的读取yml配置文件?
如何优雅的读取yml配置文件?
227 0
一键修改配置文件
import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.
1090 0