Elasticsearch单机安装

下载

Past Releases of Elastic Stack Software | Elastichttps://www.elastic.co/downloads/past-releases找到需要下载的版本并上传到服务器

解压

配置

elasticsearch.yml

config目录下

# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: elasticsearch
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /opt/can/elasticsearch/data
#
# Path to log files:
#
path.logs: /opt/can/elasticsearch/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
#http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["node-1"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

开启密码

复制代码
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

日志和data数据存储路径

复制代码
path.logs: /opt/can/elasticsearch/logs
复制代码
path.data: /opt/can/elasticsearch/data

jvm.options

  1. 内存配置

    • 堆大小 :使用 -Xms-Xmx 设置堆的初始大小和最大大小。例如,-Xms8g -Xmx8g 表示将堆的初始大小和最大大小都设置为 8GB。通常建议将 -Xms-Xmx 设为相同的值,以避免 JVM 堆的动态调整给应用进程带来不稳定因素。同时,堆的大小不应超过物理内存的 50%,因为 Elasticsearch 还需要利用堆外内存来进行网络通信、依赖操作系统的文件系统缓存来有效访问文件等操作,JVM 本身也需要一些内存。
  2. 垃圾回收器配置

    • 选择垃圾回收器 :可以使用 -XX:+UseG1GC 等参数选择不同的垃圾回收器。G1 垃圾回收器是 Elasticsearch 默认使用的垃圾回收器,它适合处理大量短生命周期对象的环境,并且可以提供可预测的停顿时间。
    • 新生代和老年代比例 :对于 G1 垃圾回收器,可以通过 -XX:NewRatio=n 设置新生代和老年代的比例,默认值为 2。也可以使用 -XX:NewSize-XX:MaxNewSize 分别设置新生代的初始大小和最大大小,但这两个参数的优先级比 -XX:NewRatio 高,会覆盖其配置的值。
    • 并发标记周期-XX:ConcGCThreads=n 可以设置并发标记阶段的线程数,默认值为 CPU 核心数。增加该值可以提高并发标记的速度,但也会增加系统的开销。
    • 混合回收阈值-XX:InitiatingHeapOccupancyPercent=n 可以设置混合回收的阈值,当堆内存的使用率达到该值时,会触发混合回收。默认值为 45%。
  3. 直接内存配置

    • 直接内存大小-XX:MaxDirectMemorySize=n 可以设置 JVM 堆外内存的最大值。默认情况下,JVM 会在需要时动态分配堆外内存,但可能会导致系统出现 OOM 异常。通过设置这个参数,可以限制堆外内存的使用,避免因堆外内存不足而导致的问题。
  4. 其他配置

    • 预分配内存-XX:+AlwaysPreTouch 可以减少新生代晋升到老年代时的停顿。在 JVM 初始化时,它会预分配参数里指定的内存,使得启动后访问内存会更流畅,减少因页面分配导致的 GC 停顿时间。

    • 禁用交换-XX:+DisableExplicitGC 可以禁用显式的垃圾回收调用。在生产环境中,一般不需要手动触发垃圾回收,由 JVM 自动管理即可。

    • 线程栈大小-Xss 可以配置线程占用的栈内存大小,默认每条线程为 1M。如果应用程序中创建了大量的线程,可以适当调整该值。

    • 文件描述符限制 :在 Linux 系统中,需要在 /etc/security/limits.conf 文件中将 * soft nofile 65536* hard nofile 65536 修改为 655300 后执行 sysctl -p,以增大文件描述符的个数,否则启动时可能会报值太小的错误。

elasticsearch-env

bin目录下

创建用户(默认无法使用root用户启动)

sudo useradd es

/home 目录下为该用户创建一个主目录。

sudo useradd -m es

sudo groupadd es

sudo usermod -aG 组名 用户名

sudo usermod -aG es es

es文件夹授权给es

chown -R es:es es安装路径

chmod -R 777 es路径

切换用户

su es

运行

启动es

cd 到bin文件

./elasticsearch -d

设置密码

cd 到bin文件

./elasticsearch-setup-passwords  interactive

然后依次设置密码即可。

测试

在浏览器访问9200端口,如172.30.6.42:9200

输入密码即可

相关推荐
API_technology1 小时前
api开发及运用小红书笔记详情api如何获取笔记详情信息
大数据·开发语言·数据库·数据仓库·笔记·爬虫
霍格沃兹测试开发学社测试人社区7 小时前
三大智能体平台对比分析:FastGPT、Dify、Coze 哪个更适合你?
大数据·软件测试·数据库·人工智能·测试开发
PersistJiao7 小时前
数据仓库的复用性:设计和构建一个高复用性的数仓
大数据·数据仓库·spark
如一@深声科技8 小时前
AI数字人PPT课件视频——探索新一代教学视频生成工具
大数据·人工智能·ai·aigc·音视频·交互
镭速8 小时前
镭速大文件传输视频文件预览实现原理
大数据·运维·服务器
a_lllk10 小时前
使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
elk·elasticsearch·docker
路边草随风12 小时前
paimon使用腾讯云cosn作为仓库存储的使用方式
java·大数据·flink·云计算·腾讯云
ayt00713 小时前
【Flink系列】10. Flink SQL
大数据·sql·flink
codeBrute13 小时前
Flink的优化技巧
大数据
lovelin+v1750304096613 小时前
基于API接口的电商数据可视化探索与实践
大数据·人工智能·爬虫·python·数据分析