Elasticsearch单节点安装手册

Elasticsearch单节点安装手册

以下是一份 Elasticsearch 单节点搭建手册,适用于 Linux 系统(如 CentOS/Ubuntu),供学习和测试环境使用。


Elasticsearch 单节点搭建手册

1. 系统要求
  • 操作系统:Linux(CentOS 7+/Ubuntu 18.04+)
  • 内存:至少 2GB(建议 4GB+)
  • Java 版本:JDK 11 或 17(Elasticsearch 7.x/8.x 要求)
  • 磁盘空间:10GB+(根据数据量调整)

2. 安装步骤
2.1 安装 Java
bash 复制代码
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk

# CentOS/RHEL
sudo yum install java-11-openjdk-devel

# 验证安装
java -version  # 输出应显示 Java 11
2.2 下载并安装 Elasticsearch
bash 复制代码
# 下载 Elasticsearch 8.x(最新稳定版)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-linux-x86_64.tar.gz

# 解压并移动到安装目录
tar -zxvf elasticsearch-8.13.4-linux-x86_64.tar.gz
sudo mv elasticsearch-8.13.4 /usr/local/elasticsearch

# 创建专用用户(Elasticsearch 不允许用 root 运行)
sudo useradd elasticsearch
sudo chown -R elasticsearch:elasticsearch /usr/local/elasticsearch
2.3 配置 Elasticsearch
bash 复制代码
# 编辑配置文件
sudo vim /usr/local/elasticsearch/config/elasticsearch.yml
yaml 复制代码
# 以下为关键配置项:
cluster.name: my-es-cluster  # 集群名称(单节点也需配置)
node.name: node-1            # 节点名称
network.host: 0.0.0.0        # 允许外部访问(生产环境谨慎设置!)
http.port: 9200              # 服务端口
discovery.type: single-node   # 单节点模式(无需发现其他节点)
2.4 调整系统参数
bash 复制代码
# 修改最大虚拟内存(防止启动时报错)
sudo sysctl -w vm.max_map_count=262144
# 永久生效
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf

# 修改文件句柄限制
echo "elasticsearch - nofile 65535" | sudo tee -a /etc/security/limits.conf
2.5 启动 Elasticsearch
bash 复制代码
# 切换用户并启动
sudo su - elasticsearch
cd /usr/local/elasticsearch
./bin/elasticsearch  # 前台启动(测试用)

# 后台启动(生产建议)
./bin/elasticsearch -d -p pid
2.6 验证安装
bash 复制代码
# 检查服务状态
curl http://localhost:9200

成功响应示例:

json 复制代码
{
  "name" : "node-1",
  "cluster_name" : "my-es-cluster",
  "version" : {
    "number" : "8.13.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "xxxxxxxx",
    "build_date" : "2024-05-01",
    "lucene_version" : "9.10.0"
  }
}

3. 安全配置(可选)

Elasticsearch 8.x 默认启用安全功能,首次启动时会生成密码。
获取初始密码

bash 复制代码
# 查看初始密码(在日志中)
grep "Password for the elastic user" /usr/local/elasticsearch/logs/*.log

使用密码访问

bash 复制代码
curl -u elastic:你的密码 http://localhost:9200

4. 常见问题
4.1 启动时报错:内存不足
log 复制代码
ERROR: [1] bootstrap checks failed. You must address the points described...

解决方案

修改 JVM 堆内存(默认 1GB),编辑 config/jvm.options​:

bash 复制代码
-Xms1g  # 最小堆内存
-Xmx1g  # 最大堆内存(建议不超过物理内存的50%)
4.2 无法远程访问

检查防火墙是否放行端口:

bash 复制代码
# CentOS 7+
sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --reload

5. 生产环境建议
  1. 集群模式:部署 3 个节点(1 主 + 2 数据)以实现高可用。

  2. 持久化存储 :挂载独立磁盘存储数据(路径:path.data​)。

  3. 安全加固

    • 配置 HTTPS 加密传输。
    • 使用角色权限控制(RBAC)。
  4. 监控告警:集成 Kibana 或 Prometheus 监控集群健康状态。


6. 卸载 Elasticsearch
bash 复制代码
sudo pkill -F /usr/local/elasticsearch/pid
sudo rm -rf /usr/local/elasticsearch
sudo userdel elasticsearch

附录:Kibana 安装(可选)

用于可视化管理和数据分析:

bash 复制代码
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.13.4-linux-x86_64.tar.gz
tar -zxvf kibana-8.13.4-linux-x86_64.tar.gz
sudo mv kibana-8.13.4 /usr/local/kibana

# 配置 Kibana
sudo vim /usr/local/kibana/config/kibana.yml
# 修改以下配置:
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

# 启动 Kibana
sudo /usr/local/kibana/bin/kibana --allow-root

访问 http://服务器IP:5601​ 进入 Kibana 界面。


通过以上步骤,你可以快速搭建一个 Elasticsearch 单节点环境,用于学习或开发测试。生产环境请参考官方文档进行优化和安全加固。

相关推荐
MarkHD3 小时前
第十八天 - ELK日志体系集成 - 自定义Logstash插件 - 练习:分布式日志分析平台
分布式·elk
小黑蛋学java3 小时前
Elasticsearch 学习规划
elk
小黑蛋学java3 天前
Elasticsearch中的基本全文搜索和过滤
elk
小黑蛋学java4 天前
Elasticearch数据流向
elk
butiehua02026 天前
PHP 项目搭建 ELK 日志监控体系完整指南
elk
Long_poem11 天前
【自学笔记】ELK基础知识点总览-持续更新
笔记·elk·jenkins
奔跑吧邓邓子14 天前
【商城实战(97)】ELK日志管理系统的全面应用
elk·日志管理系统·商城实战
yunqi121516 天前
【监控系列】ELK
elk
北枫寒夜16 天前
简单ELK框架搭建
elk