下载安装、了解核心配置文件

下载 Elasticsearch

访问 Elasticsearch 官网 https://www.elastic.co/cn/downloads/elasticsearch

下载后直接解压。打开bin → 双击 elasticsearch.bat 即可运行  访问:localhost:9200    

集群健康查询  localhost:9200/_cluster/health

 Kibana    访问:localhost:5601

 

 核心配置文件:

 config/elasticsearch.yml:该文件是Elasticsearch的核心配置文件,里面涉及到集群名称、节点名称、日志存放路径、数据存放路径、所使用的IP地址和端口号、master节点、是否允许跨域访问等 

# ======================== Elasticsearch Configuration =========================

# 注:Elasticsearch使用很多合理的默认配置,该配置文件只列出了集群及当前节点配置需要调整的参数

# 更多的配置选项参看:

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

# ------------------------ Cluster(集群) -------------------------
cluster.name: my-application   #集群名称配置,默认是elasticsearch
# -------------------------- Node(节点) --------------------------
 node.name: node-1    #配置节点名称,默认为随机名称
 node.rack: r1    #当前节点的自定属性
# ------------------------- Paths(路径) -------------------------- 
 path.data: /path/to/data  #指定es的数据存储目录,默认为$es_home/data目录 
 path.logs: /path/to/logs   #指定es的日志存储目录,默认为$es_home/logs目录 

# ------------------------- Memory(内存) -------------------------
 锁定物理内存地址,防止es的内存被交换出去,避免使用swap交换分区,因为当系统进行内存交换的时候,
 es的性能表现会很差。当network.host配置为非127.0.0.1时,需要在Linux的/etc/security/limits.conf增加允许应用对内存锁定的配置:
# * soft memlock unlimited
# * hard memlock unlimited
 bootstrap.memory_lock: true  #确保ES_HEAP_SIZE参数设置为系统可用内存的一半左右,且执行ES进程的用户具有使用这些内存的权限
# ------------------------ Network(网络) -------------------------
 network.host: 192.168.0.1  #为es设置绑定的ip,默认是127.0.0.1,设置为0.0.0.0允许绑定到该服务器的所有IP地址都可以访问
 http.port: 9200    #为es设置监听端口,默认是9200,transport.tcp.port的值为http.port加上100
# ------------------------ Discovery(发现) ------------------------
# 初使服务器列表,当此节点时启动时会执行发现动作,如需要配置端口,则需要配置transport.tcp.port的值
# 默认列表为 ["127.0.0.1", "[::1]"]
 discovery.seed_hosts: ["host1", "host2"]

# 用于在集群启动时,选择master节点的节点,该值在network.host的值不为127.0.0.1时,且只有一个节点时,其值必须要填写:
 cluster.initial_master_nodes: ["node-1", "node-2"]
# ------------------------ Gateway(网关) -------------------------
# 设置集群中需要指定个节点启动后,才进行数据恢复处理,其默认值是1
 gateway.recover_after_nodes: 3

# ------------------------ Various -------------------------
# 设置是否允许删除多个索引库,默认true表示必须需要显式指定索引库名称
 action.destructive_requires_name: true

 

 config/jvm.options:配置Elasticsearch使用的JVM参数,如堆的大小、单个线程的大小、所使用的垃圾收集的方式、是否开启JMX、GC日志的收集等

## JVM配置

## 重要: JVM堆大小
## 为了使Elasticsearch避免频繁的发生Full GC,最大堆和最小堆的值,
## 要设置为一样,如下设置为4G。Xms表示初始化堆的大小,Xms表示最大的大小
  -Xms4g  -Xmx4g

## 更多参看:https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

# 堆的默认值为1G
  -Xms1g  -Xmx1g

## 以下是JVM垃圾回收相关的设置,建意不懂JVM垃圾回收的人员不要随意修改配置
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly

## 垃圾回收G1GC策略的配置,仅在JDK10及以上的版本支持
# 使用G1GC策略,将以下行的注释去掉
# 10-:-XX:-UseConcMarkSweepGC
# 10-:-XX:-UseCMSInitiatingOccupancyOnly
# 10-:-XX:+UseG1GC
# 10-:-XX:InitiatingHeapOccupancyPercent=75

# 显式设置每个线程堆栈的大小
-Xss1m

## heap dumps
# 当Java堆分配失败时,在当前工作目录中创建JVM的堆转储
-XX:+HeapDumpOnOutOfMemoryError

# 为堆转储指定备用路径,并确保该目录是存在的并且有足够的空间
-XX:HeapDumpPath=data

# 为JVM致命错误日志指定备用路径
-XX:ErrorFile=logs/hs_err_pid%p.log

 

# 为es设置绑定的ip,默认是127.0.0.1,设置为0.0.0.0允许绑定到该服务器的所有IP地址都可以访问