当前位置: 首页 > article >正文

Elasticsearch单机安装

下载

Past Releases of Elastic Stack Software | Elasticicon-default.png?t=O83Ahttps://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

输入密码即可


http://www.kler.cn/a/507900.html

相关文章:

  • 春秋杯-WEB
  • 51c大模型~合集106
  • 关于 Cursor 的一些学习记录
  • Conda的一些常用命令
  • 【Block总结】掩码窗口自注意力 (M-WSA)
  • Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件
  • 重新审视端到端传输协议:从观念到原则
  • Python 字符串分割时 spilt 和 re 效率对比
  • 2021年前端部署的灵魂拷问
  • 快速入门:如何注册并使用GPT
  • 【数据分享】1929-2024年全球站点的逐年平均气温数据(Shp\Excel\无需转发)
  • 每日一题洛谷P1427 小鱼的数字游戏c++
  • cursor重构谷粒商城02——30分钟构建图书管理系统【cursor使用教程番外篇】
  • 第二天 了解HarmonyOS文档,关注分布式架构和微内核设计
  • LabVIEW 程序中的 R6025 错误
  • Java刷题 leetcode
  • Linux——文件系统
  • C++ QT中Q_Q和Q_D是什么?怎么使用?本质是什么?C++仿写
  • ChatGPT的新任务调度功能是 2025 年 AI 的一个良好开端
  • GraphRAG如何使用ollama提供的llm model 和Embedding model服务构建本地知识库
  • 深度学习 Pytorch 张量(Tensor)的创建和常用方法
  • ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT
  • adb 常用命令总结
  • 小程序适配底部安全距离
  • 静态综合路由实验
  • b站视频(网页加客户端)+本地视频 生成回链