下载 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地址都可以访问