ElasticSearch单机配置节点

本文详细介绍了如何在单机上配置ElasticSearch,包括单机单节点和多节点的配置步骤,以及如何在后台运行ES。在单机单节点配置中,设置了cluster.name、node.name、data和logs路径等参数。而在单机多节点配置中,通过调整node.max_local_storage_nodes、discovery.zen.ping.unicast.hosts等参数,确保了数据的分布式存储和跨域访问支持。最后,说明了后台运行ES的方法。

单机单节点配置

cluster.name: esbest
node.name: node127-9200
node.master: true
path.data: /esdata/data-9200
path.logs: /eslog/log-9200

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

http.port: 9200
transport.tcp.port: 9300

network.host: 0.0.0.0
discovery.type: single-node

xpack.security.enabled: false

单机多节点配置

1. 节点1:9200es节点的配置文件内容

cluster.name: esbest
node.name: node127-9200
node.master: true
path.data: /esdata/data-9200
path.logs: /eslog/log-9200
bootstrap.memory_lock: false
network.host: 0.0.0.0 //四个0表示所有IP
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true //# 开启跨域访问支持,默认为false
http.cors.allow-origin: “” //# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
node.max_local_storage_nodes: 2 //单机上最大允许运行的es节点个数
discovery.zen.ping.unicast.hosts: [“10.10.10.168:9300”,“10.10.10.168:9301”]
action.destructive_requires_name: true
cluster.routing.allocation.same_shard.host: true //如果是多节点的话,为防止索引分片丢失,需要开启这个参数。

discovery.seed_hosts: [“10.10.10.168:9200”,“10.10.10.168:9201”]
cluster.initial_master_nodes: [“node127-9200”]

2. 节点2:9201es节点的配置文件内容

cluster.name: esbest
node.name: node127-9201
path.data: /esdata/data-9201
path.logs: /eslog/log-9201
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: “”
node.max_local_storage_nodes: 2
discovery.zen.ping.unicast.hosts: [“10.10.10.168:9300”,“10.10.10.168:9301”]
action.destructive_requires_name: true
cluster.routing.allocation.same_shard.host: true

注:9200和9201节点的配置文件,区别就是数据存放目录、日志存放目录、服务端口、集群间相互通信的端口不同,其余都一样;数据目录和日志目录都需手动创建,属主数组都是elasticsearch用户。
注:“cluster.routing.allocation.same_shard.host: true”参数的作用,es天生集群特性,用户只管往es集群里存放数据,es主节点会把数据分布到各个节点,目的是为了保证节点宕机后数据不丢失。如果一台机器上起多个es节点的话,因为es集群默认不知道这个机器上有多个es节点,所以可能会出现把本该分散放到多个机器的某些索引分片,都集中放到了这个多节点的机器上,因为es以为这几个多节点是分布在不同的机器上,假如这个多节点的机器宕机,那就可能会造成丢失数据。上面那个参数的作用就是,允许es主节点探测该物理机是不是存在多个节点,如果存在多个节点,则只给这个机器一份独立数据,也就是说es集群存储数据时,会把这些在一台机器上的多个节点当做一个节点来对待。
注:es多节点的好处,因为JVM局限性,es最大分配内存不要超过32G,否则jvm垃圾回收会严重影响性能。es节点最大给32G内存,而物理机内存很大,所以就可以启动多个节点,来提高整个es集群的性能。

后台方式运行ES

./elasticsearch -d

<think>好的,用户想了解Elasticsearch单机配置文件的配置方法或示例。我需要根据提供的引用信息来整理回答。首先,查看用户提供的引用内容,特别是引用3和引用4,里面提到了单机配置的具体步骤和参数设置。引用3详细说明了elasticsearch.yml中的关键配置项,比如cluster.name、node.name、path.data、path.logs、network.host和http.port。这些都是单机配置的核心部分。需要确保用户知道这些参数的作用,比如cluster.name保持默认或自定义,node.name设置为本地主机名,数据目录和日志目录的路径,以及绑定本地IP和端口。引用4提到了权限问题,因为Elasticsearch不能用root用户启动,所以需要创建elsearch用户和组,并更改目录权限。这点很重要,用户可能会遇到启动失败的情况,如果权限设置不正确的话。 接下来,我需要将这些信息结构化,分步骤说明配置过程。首先,找到配置文件的位置,通常在解压后的config目录或者/etc/elasticsearch/下。然后,编辑elasticsearch.yml,修改必要的参数,如cluster.name、node.name、network.host设为localhost,http.port保持9200。同时,注意数据存储路径和日志路径的配置,确保目录存在且有正确的权限。另外,用户可能关心内存配置,引用3中提到bootstrap.mlockall设置为true,但需要结合系统设置。可能需要提醒用户根据实际情况调整内存参数,如jvm.options中的Xms和Xmx。 还要注意权限设置,创建专用用户并授权,避免使用root运行。最后,启动服务并验证配置是否生效,可以通过curl检查节点信息。需要确保回答覆盖所有关键配置点,步骤清晰,并给出示例配置,方便用户参考。同时,生成的相关问题要围绕用户可能进一步的需求,比如性能优化、权限问题、配置文件参数详解等。</think>### Elasticsearch单机配置文件配置方法 #### 一、定位配置文件 Elasticsearch单机版的核心配置文件是$elasticsearch.yml$,一般位于以下路径: - 解压缩安装版:$elasticsearch-版本号/config/elasticsearch.yml$ - 包管理器安装版:$/etc/elasticsearch/elasticsearch.yml$[^3][^4] #### 二、关键配置参数 ```yaml # 集群标识(单机保持默认) cluster.name: my-es-single # 节点标识(推荐使用主机名) node.name: ${HOSTNAME} # 数据存储路径(需提前创建) path.data: /var/lib/elasticsearch # 日志存储路径 path.logs: /var/log/elasticsearch # 网络绑定(单机模式建议localhost) network.host: 127.0.0.1 # HTTP端口(默认9200) http.port: 9200 # 内存锁定(防止内存交换) bootstrap.memory_lock: true # 单节点模式配置 discovery.type: single-node ``` [^3][^4] #### 三、权限配置 1. 创建专用用户(必须步骤) ```bash groupadd elsearch useradd elsearch -g elsearch chown -R elsearch:elsearch /path/to/elasticsearch ``` 2. 设置最大内存映射数 ```bash echo "vm.max_map_count=262144" >> /etc/sysctl.conf sysctl -p ``` [^4] #### 四、验证配置 1. 启动服务 ```bash su elsearch ./bin/elasticsearch ``` 2. 检查节点状态 ```bash curl http://localhost:9200/_cat/nodes?v ``` ### 配置示例解析 ```yaml # 单机专用配置示例 cluster.name: production-single node.name: node-single01 path.data: /data/elasticsearch path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 discovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["node-single01"] xpack.security.enabled: false # 单机可关闭安全模块 ``` [^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值