单节点elasticsearch安装笔记

一、安装包下载

https://github.com/elastic/elasticsearch/releases

二、安装

解压

bash 复制代码
tar elasticsearch-7.17.7-linux-x86_64.tar.gz
mv elasticsearch-7.17.7 /opt/elasticsearch

编辑配置文件

bash 复制代码
cd /opt/elasticsearch/
vim bin/elasticsearch-env
在配置文件最前面加入
ES_JAVA_HOME="/opt/elasticsearch/jdk"

主配置文件内容

yaml 复制代码
# cat config/elasticsearch.yml
# ======================== Elasticsearch Configuration =========================

# ---------------------------------- Cluster -----------------------------------
cluster.name: es-single-cluster

# ------------------------------------ Node ------------------------------------
node.name: es-node-01
node.roles: [ master, data, ingest ]

# ----------------------------------- Paths ------------------------------------
path.data: /app/elasticsearch/data
path.logs: /app/elasticsearch/logs

# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: true
# 允许物理内存检查
bootstrap.system_call_filter: true

# ---------------------------------- Network -----------------------------------
# 绑定所有网络接口,允许远程访问
network.host: 0.0.0.0
# 外界访问的 HTTP 端口
http.port: 9200
# 节点间通信的内部端口
transport.port: 9300

# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["127.0.0.1"]

cluster.initial_master_nodes: ["es-node-01"]

# --------------------------------- Security -------------------------------下面这部分先注释,最后解开---
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /opt/elasticsearch/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /opt/elasticsearch/config/elastic-certificates.p12

# ---------------------------------- Various -----------------------------------
action.destructive_requires_name: true
ingest.geoip.downloader.enabled: false
bash 复制代码
vim config/jvm.options
加入以下内容,大小根据内存调整
-Xms16g
-Xmx16g

新建service文件

bash 复制代码
vim /usr/lib/systemd/system/elasticsearch.service
内容如下
Description=Elasticsearch
Documentation=https://www.elastic.co
After=network.target network-online.target
Wants=network-online.target

[Service]
# 改为 simple 模式,让 systemd 更好地追踪和守护 Java 主进程
Type=simple
User=elasticsearch
Group=elasticsearch

ExecStart=/opt/elasticsearch/bin/elasticsearch

# 停止超时时间,ES在关闭时需要刷盘和迁移分片
TimeoutStopSec=0

# 内存与文件资源限制优化(满足 ES 生产环境引导检查)
LimitNOFILE=65535
LimitNPROC=4096
LimitMEMLOCK=infinity
LimitAS=infinity
LimitFSIZE=infinity

Restart=on-failure

# 确保 JVM 内存映射区域不会被内核异常限制
VM_MAX_MAP_COUNT=262144

# 垃圾回收和退出状态码兼容
SuccessExitStatus=143

# 关闭安全沙箱的本地临时目录隔离(防止某些特定插件或导出因找不到 /tmp 报错)
PrivateTmp=true

[Install]
WantedBy=multi-user.target
bash 复制代码
systemctl   daemon-reload

创建用和目录

bash 复制代码
useradd elasticsearch 
mkdir -p /app/elasticsearch/data
mkdir -p /app/elasticsearch/logs
chown elasticsearch:elasticsearch /app/elasticsearch -R
chown elasticsearch:elasticsearch /opt/elasticsearch -R

接下来的配置切换到elasticsearch来操作

bash 复制代码
su - elasticsearch
cd /opt/elasticsearch
./bin/elasticsearch-certutil ca  # 一路回车
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #一路回车
mv elastic-certificates.p12 config/
bin/elasticsearch  #看看是否有报错,没有报错则正常

切换回root用户

bash 复制代码
vim /etc/security/limits.conf
加入以下内容
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
bash 复制代码
vim /etc/sysctl.conf
加入以下内容
vm.max_map_count=262144
bash 复制代码
vim /etc/sysctl.conf
加入以下内容
sysctl -p
bash 复制代码
systemctl start elasticsearch
systemctl status elasticsearch

切换回elasticsearch用户

bash 复制代码
su - elasticsearch
./bin/elasticsearch-setup-passwords interactive #然后输入每个用户的密码

切换回root用户,解开主配置文件的注释

复制代码
systemctl   stop elasticsearch
systemctl   start elasticsearch

测试

复制代码
curl -uelastic:elastic http://192.168.192.33:9200/_cluster/health?pretty
{
  "cluster_name" : "es-single-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 3,
  "active_shards" : 3,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}
相关推荐
天国梦28 分钟前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能
Elasticsearch34 分钟前
将 Embedding 模型加载到 Elasticsearch 中
elasticsearch
瓦学妹4 小时前
什么是网络索引?它是如何工作的?
大数据·网络·python·网络爬虫
天天爱吃肉82184 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
EAIReport5 小时前
工业电气自动化数据治理破局:多Agent大模型赋能全景智能决策
大数据·运维·自动化
一名普通的电源工程师7 小时前
E0512XT-1WR3 适配优选 钡特电源 DF1-05D12XT|1W 隔离5V转±12V模块电源选型参数技术解析
大数据·网络·人工智能
SelectDB7 小时前
Apache Doris 2026 Roadmap:AI 时代数据基础设施如何选型?Doris 给出了三层架构答案
大数据
Think_Higher7 小时前
CID行业趋势周报|7.27—8.02:大盘表现、重点赛道与投测建议
大数据·人工智能
林澈在路上7 小时前
2026 主流 AI 写歌 APP 全面测评|零基础原创歌曲工具选购指南
大数据·人工智能·aigc·音视频·音频
2501_946736168 小时前
在线考试平台如何选型?从功能、优势与应用场景角度详解
大数据·人工智能·算法