大数据-168 Elasticsearch 单机云服务器部署运行 详细流程

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(正在更新...)

章节内容

上节我们完成了如下的内容:

  • ELK 技术栈的介绍
  • Elasticsearch 详细介绍

ES单机部署

Single-Node Mode,就是单机部署。

Elasticsearch是一个分布式全文搜索引擎,支持单节点模式(Single-Node Model)和集群模式(Cluster Model)部署,一般来说,小公司的业务场景往往使用Single-Node Mode部署即可。

为了学习测试,先部署简单的模式,再后续搭建分布式的模式。

官方网站

可以在如下的地址中,获取最新的ES的内容:

shell 复制代码
https://www.elastic.co/cn/downloads/elasticsearch

下载地址

你可以下载完再上传到服务器,也可以直接在服务器中使用wget下载:

shell 复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz

操作过程如下图所示:

解压配置

解压,并移动到之前的配置目录下:

shell 复制代码
cd /opt/software/
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz
mv elasticsearch-7.3.0 ../servers/

对应的截图如下图所示:

修改配置

服务配置

修改ES的配置,来设置单机启动的模式,否则无法正常的启动:

shell 复制代码
vim /opt/servers/elasticsearch-7.3.0/config/elasticsearch.yml
  • 单机安装请取消注释:node.name: node-1,否则无法正常启动
  • 修改网络和端口,取消注释Master节点,单机只保留一个node

对应的内容如下:

shell 复制代码
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1

对应的截图如下所示:

还有内容是:

JVM配置

继续修改,jvm.options 内存设置:

shell 复制代码
vim /opt/servers/elasticsearch-7.3.0/config/jvm.options

我们需要根据实际的情况进行修改,默认都是1G,单机1G内存,启动会占用700M+,安装Kibana之后,基本就无法运行了,内存超出物理内存,也会无法启动。

所以一般的配置都要在2G所有:

shell 复制代码
-Xms2g
-Xmx2g

对应的截图如下图所示:

配置用户

我们需要添加ES用户,如果使用root用户,ES是默认不能启动的:

shell 复制代码
useradd es_server
passwd es_server

输入密码,对应的截图如下图所示:

目录权限

shell 复制代码
chown -R es_server /opt/servers/elasticsearch-7.3.0

配置完的路径如下图所示:

系统设置

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除Linux当中打开的最大数目限制,不然ES启动就会报错。

我们需要 sysctl.conf:

shell 复制代码
vim /etc/sysctl.conf

末尾我们添加:

shell 复制代码
vm.max_map_count=655360

修改的结果如下图所示:

执行 sysctl -p,让配置生效:

shell 复制代码
sysctl -p

运行结果如下图所示:

继续修改:limits.conf,目的是修改Linux系统对文件描述符的限制级别:

shell 复制代码
vim /etc/security/limits.conf

我们需要在末尾添加如下的内容:

shell 复制代码
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

截图如下所示:

启动服务

我们需要切换到刚才的用户上:

shell 复制代码
su es_server

接着执行启动命令:

shell 复制代码
/opt/servers/elasticsearch-7.3.0/bin/elasticsearch

启动结果如下图所示:

访问服务

启动成功,访问服务进行测试:

shell 复制代码
# 注意是HTTPS
http://h121.wzk.icu:9200

页面返回的结果为:

json 复制代码
{
  "name": "node-1",
  "cluster_name": "elasticsearch",
  "cluster_uuid": "zv9WF53-RfKO1xNaIxt3uA",
  "version": {
    "number": "8.15.0",
    "build_flavor": "default",
    "build_type": "tar",
    "build_hash": "1a77947f34deddb41af25e6f0ddb8e830159c179",
    "build_date": "2024-08-05T10:05:34.233336849Z",
    "build_snapshot": false,
    "lucene_version": "9.11.1",
    "minimum_wire_compatibility_version": "7.17.0",
    "minimum_index_compatibility_version": "7.0.0"
  },
  "tagline": "You Know, for Search"
}

截图如下所示:

访问页面也可以:

部署与配置

集群规划

  • 设置主节点、数据节点、协调节点等不同角色的节点。
  • 设置合理的分片和副本数,确保性能与容错能力。

安全性

  • 使用 X-Pack 进行用户认证和角色管理。
  • 配置 TLS/SSL 加密通信,保障数据传输安全。

性能优化

  • 合理设置 index.refresh_interval 以减少开销。
  • 使用 index.max_result_window 调整查询结果数量限制。
  • 启用 shard allocation awareness,确保分片在不同的物理节点上分布。
相关推荐
.Hypocritical.34 分钟前
SpringBoot+Vue 前后端分离项目部署到云服务器
服务器·vue.js·spring boot
m0_7156744335 分钟前
金融数据流转监测排行:从看见到拦截的距离
大数据·网络·安全·网络安全·金融
一次旅行1 小时前
2026.10.12 AI产业深度解读|大模型上下文大幅扩容;出版AI校对事故;算力底层软件成收购热点
大数据·人工智能
品牌测评1 小时前
白帽GEO优化服务商选型指南:2026年合规AI搜索获客全解析
大数据·人工智能
玫瑰互动GEO1 小时前
豆包GEM优化占位工程化:铺信源/做结构化/借第三方,三动作接住AI提问|开发者读法
大数据·人工智能·ai·gem·豆包·gem优化·cpcq
此生决int2 小时前
Linux系列(06)——进程概念(上)
linux·运维·服务器
chunyublog2 小时前
Spark 词频统计练习
大数据·分布式·spark
用户3610588626122 小时前
Flink Time 之企业级 WaterMark 案例分析:从四大场景到调优体系与事故排查
大数据·flink
房开民2 小时前
通俗总结 Octree(八叉树)
java·服务器·数据库
Allen_LVyingbo2 小时前
生命过程的分子语言:AI 解析范式与场景应用全景研究(下)
大数据·人工智能·知识图谱·健康医疗·数据库开发·数据库架构