关于后端:详解配置文件系列es7配置文件详解

4次阅读

共计 12094 个字符,预计需要花费 31 分钟才能阅读完成。

首发博客地址

系列文章地址


配置文件

# ---------------------------------- 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.name是 Elasticsearch 配置文件中的一个重要选项,用于指定集群的名称。每个运行的 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 端口号。

discovery.seed_hosts

discovery.seed_hosts是 Elasticsearch 配置文件中的一个选项,用于指定集群主动发现所需的初始主机节点列表。

以下是对 discovery.seed_hosts 选项的具体解释:

discovery.seed_hosts: ["host1", "host2"]
  • discovery.seed_hosts用于指定集群主动发现时须要连贯的初始主机节点列表。这些主机节点是用于疏导新退出的节点发现和退出集群。
  • discovery.seed_hosts的值应该是一个字符串数组,蕴含了初始主机节点的主机名或 IP 地址。
  • 在启动 Elasticsearch 节点时,它会尝试连贯 discovery.seed_hosts 列表中的每个主机,以获取集群的初始状态和其余节点的信息。
  • 当新的 Elasticsearch 节点退出集群时,它会通过与 discovery.seed_hosts 中的主机节点通信,主动发现并退出集群。
  • 请确保 discovery.seed_hosts 中的主机节点是可达的,并且在启动新节点之前,这些主机节点曾经在运行。
  • discovery.seed_hosts选项在集群的初始配置中十分重要,它确保新节点可能正确退出已有的 Elasticsearch 集群。

确保在配置 Elasticsearch 节点时,依据理论需要和集群拓扑,正确设置 discovery.seed_hosts 选项,以指定集群主动发现所需的初始主机节点列表。

cluster.initial_master_nodes

cluster.initial_master_nodes是 Elasticsearch 配置文件中的一个选项,用于指定集群的初始主节点列表。

以下是对 cluster.initial_master_nodes 选项的具体解释:

cluster.initial_master_nodes: ["node-1", "node-2"]
  • cluster.initial_master_nodes用于指定集群的初始主节点列表。这些节点是集群中的初始主节点,负责集群的治理和协调工作。
  • cluster.initial_master_nodes的值应该是一个字符串数组,蕴含了初始主节点的名称。
  • 在启动 Elasticsearch 节点时,它会尝试连贯 cluster.initial_master_nodes 列表中的每个节点,以选举出集群中的主节点。
  • 初始主节点是在集群启动时被选举进去的,并负责管理集群的元数据和协调工作。
  • 请确保 cluster.initial_master_nodes 中的节点名称是正确的,并且这些节点曾经在运行。
  • cluster.initial_master_nodes选项在集群的初始配置中十分重要,它确保正确选举出初始的主节点,以启动和治理集群。

确保在配置 Elasticsearch 节点时,依据理论需要和集群拓扑,正确设置 cluster.initial_master_nodes 选项,以指定集群的初始主节点列表。

gateway.recover_after_nodes

gateway.recover_after_nodes是 Elasticsearch 配置文件中的一个选项,用于指定在多少个节点可用后开始进行数据恢复。

以下是对 gateway.recover_after_nodes 选项的具体解释:

gateway.recover_after_nodes: 3
  • gateway.recover_after_nodes用于指定在多少个节点可用后开始进行数据恢复。默认状况下,它的值是3
  • 当一个 Elasticsearch 集群中的节点产生故障或重新启动时,数据恢复过程将在指定数量的可用节点后开始执行。
  • gateway.recover_after_nodes的值应该是一个正整数,示意须要达到的可用节点数量。
  • 通过设置gateway.recover_after_nodes,能够确保在集群中有足够的节点可用时才进行数据恢复,以防止数据恢复过程对集群的过大负载。
  • 请留神,gateway.recover_after_nodes选项仅实用于启用了长久化存储的状况,例如应用本地磁盘或专用数据存储。
  • 如果集群中的可用节点数量少于指定的 gateway.recover_after_nodes 值,数据恢复将不会主动开始。在这种状况下,您须要手动触发数据恢复过程。

确保在配置 Elasticsearch 节点时,依据理论需要和集群规模,正确设置 gateway.recover_after_nodes 选项,以确保在足够数量的节点可用后开始进行数据恢复。

gateway.expected_nodes

gateway.expected_nodes是 Elasticsearch 配置文件中的一个选项,用于指定预期的节点数量,用于数据恢复。

以下是对 gateway.expected_nodes 选项的具体解释:

gateway.expected_nodes: 5
  • gateway.expected_nodes用于指定预期的节点数量,用于数据恢复。默认状况下,它的值是5
  • 当一个 Elasticsearch 集群中的节点产生故障或重新启动时,数据恢复过程将期待达到预期的节点数量。
  • gateway.expected_nodes的值应该是一个正整数,示意冀望的节点数量。
  • 通过设置gateway.expected_nodes,能够确保在集群中有足够的节点可用时才开始数据恢复,以确保数据的完整性和一致性。
  • 当达到预期节点数量时,数据恢复过程会主动开始。如果节点数量少于预期,则数据恢复将期待,直到达到预期节点数量或手动触发复原过程。
  • 请留神,gateway.expected_nodes选项仅实用于启用了长久化存储的状况,例如应用本地磁盘或专用数据存储。

确保在配置 Elasticsearch 节点时,依据理论需要和集群规模,正确设置 gateway.expected_nodes
选项,以确保在达到预期的节点数量时开始数据恢复。这有助于保证数据的完整性和一致性。

bootstrap.memory_lock

bootstrap.memory_lock是 Elasticsearch 配置文件中的一个选项,用于锁定 Elasticsearch 过程的内存,以避免内存被替换到磁盘上。

以下是对 bootstrap.memory_lock 选项的具体解释:

bootstrap.memory_lock: true
  • bootstrap.memory_lock用于指定是否锁定 Elasticsearch 过程的内存。默认状况下,它的值是false,即未启用内存锁定。
  • 当将 bootstrap.memory_lock 设置为 true 时,Elasticsearch 将尝试锁定过程的内存,避免操作系统将内存替换到磁盘上。
  • 锁定内存能够进步 Elasticsearch 的性能,因为内存替换会导致提早和性能降落。然而,要启用内存锁定,须要确保 Elasticsearch 的运行用户(如 elasticsearch)具备足够的权限。
  • 如果您启用了内存锁定并遇到权限问题或其余谬误,能够将 bootstrap.memory_lock 设置为false,以容许 Elasticsearch 过程的内存被替换到磁盘上。
  • 请留神,启用内存锁定可能须要对操作系统进行额定的配置,以容许 Elasticsearch 过程锁定内存。具体步骤和要求取决于您应用的操作系统和调配的权限。

确保在配置 Elasticsearch 节点时,依据理论需要和系统配置,正确设置 bootstrap.memory_lock
选项,以管制是否锁定 Elasticsearch 过程的内存。请确保在启用内存锁定之前理解相干的权限和操作系统要求。

action.destructive_requires_name

action.destructive_requires_name是 Elasticsearch 配置文件中的一个选项,用于要求在执行危险操作(如删除索引)时显式指定操作名称。

以下是对 action.destructive_requires_name 选项的具体解释:

action.destructive_requires_name: true
  • action.destructive_requires_name用于管制在执行危险操作时是否要求显式指定操作名称。默认状况下,它的值是false
    ,即不要求指定操作名称。
  • 危险操作包含删除索引、敞开集群、革除缓存等可能会导致数据失落或集群不可用的操作。
  • 当将 action.destructive_requires_name 设置为 true 时,执行危险操作时须要在申请中显式指定操作名称,以减少操作的安全性。
  • 指定操作名称是一种防止意外执行危险操作的措施,因为它须要更明确的用意能力执行这些操作。
  • 通过设置 action.destructive_requires_nametrue能够帮忙避免意外的数据失落或集群不可用,但同时须要确保在须要执行危险操作时可能正确指定操作名称。

确保在配置 Elasticsearch 节点时,依据理论需要和平安要求,正确设置 action.destructive_requires_name
选项,以管制在执行危险操作时是否要求显式指定操作名称。这有助于进步操作的安全性和可靠性。

xpack.security.enabled

xpack.security.enabled是 Elasticsearch 配置文件中的一个选项,用于启用或禁用 Elasticsearch 的平安性能(X-Pack Security)。

以下是对 xpack.security.enabled 选项的具体解释:

xpack.security.enabled: true
  • xpack.security.enabled用于启用或禁用 Elasticsearch 的平安性能。默认状况下,它的值是false,即未启用平安性能。
  • 当将 xpack.security.enabled 设置为 true 时,Elasticsearch 将启用平安性能,包含身份验证、受权、加密通信等。
  • 启用平安性能能够爱护 Elasticsearch 集群免受未经受权的拜访,并提供更平安的数据传输和操作。
  • 要启用平安性能,您须要装置和配置 X-Pack Security 插件,并设置适当的身份验证和受权机制,如内置用户、角色、权限等。
  • 请留神,启用平安性能会对性能产生肯定的影响,因为它会减少身份验证和受权的开销,并引入加密和解密的开销。

确保在配置 Elasticsearch 节点时,依据理论需要和平安要求,正确设置 xpack.security.enabled
选项,以启用或禁用 Elasticsearch 的平安性能。请确保在启用平安性能之前,正确装置和配置 X-Pack Security 插件,并理解相干的身份验证和受权机制。

xpack.security.authc.api_key.enabled

xpack.security.authc.api_key.enabled是 Elasticsearch 配置文件中的一个选项,用于启用或禁用 API 密钥身份验证形式。

以下是对 xpack.security.authc.api_key.enabled 选项的具体解释:

xpack.security.authc.api_key.enabled: true
  • xpack.security.authc.api_key.enabled用于启用或禁用 API 密钥身份验证形式。默认状况下,它的值是false,即禁用 API 密钥身份验证。
  • 当将 xpack.security.authc.api_key.enabled 设置为 true 时,Elasticsearch 将启用 API 密钥身份验证形式。
  • API 密钥是一种轻量级的身份验证形式,它容许客户端应用预生成的密钥来进行身份验证,而无需提供用户名和明码。
  • 启用 API 密钥身份验证能够在不裸露理论用户名和明码的状况下,为客户端提供一种平安的身份验证形式。
  • 要应用 API 密钥身份验证,须要创立和治理 API 密钥,并为客户端提供相应的密钥和权限。
  • 请留神,启用 API 密钥身份验证形式须要启用 X-Pack Security 性能,并进行适当的配置。

确保在配置 Elasticsearch 节点时,依据理论需要和平安要求,正确设置 xpack.security.authc.api_key.enabled
选项,以启用或禁用 API 密钥身份验证形式。请确保在启用 API 密钥身份验证之前,正确配置和治理 API 密钥,并理解相干的权限和平安机制。

logger.org.elasticsearch.transport

logger.org.elasticsearch.transport是 Elasticsearch 配置文件中用于配置 Elasticsearch 传输模块的日志记录器。

以下是对 logger.org.elasticsearch.transport 的具体解释:

logger.org.elasticsearch.transport: debug
  • logger.org.elasticsearch.transport用于配置 Elasticsearch 传输模块的日志记录级别。默认状况下,它的值是info
  • 通过设置不同的日志记录级别,能够管制 Elasticsearch 传输模块产生的日志音讯的具体水平。
  • 可用的日志记录级别包含:tracedebuginfowarnerror。级别从最具体的trace 到最简要的 error 逐步缩小。
  • 设置 logger.org.elasticsearch.transport 的值为 debug 将启用具体的调试日志记录,有助于追踪和调试与传输模块相干的问题。
  • 请留神,启用具体的日志记录级别可能会产生大量的日志输入,因而在生产环境中应审慎应用,并依据须要进行调整。

确保在配置 Elasticsearch 节点时,依据理论需要和调试要求,正确设置 logger.org.elasticsearch.transport
选项,以配置 Elasticsearch 传输模块的日志记录级别。请留神在生产环境中审慎应用具体的日志记录级别,以防止过多的日志输入。

本文由 mdnice 多平台公布

正文完
 0