大数据-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,确保分片在不同的物理节点上分布。
相关推荐
远游客07132 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
Data跳动2 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1113 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq4 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq4 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈4 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
LIKEYYLL4 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3215 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3215 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse5 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos