大数据-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,确保分片在不同的物理节点上分布。
相关推荐
像风一样自由202035 分钟前
FastMCP与FastAPI:构建自定义MCP服务器
服务器·microsoft·fastapi
小马爱打代码1 小时前
Kafka 命令行样例大全
kafka
xmyLydia1 小时前
Kafka + Elasticsearch 构建搜索型审计日志系统实战(含 Kibana 可视化)
elasticsearch·kafka
生命有所坚持而生存可以随遇而安1 小时前
https nginx 负载均衡配置
服务器·nginx·负载均衡
火龙谷1 小时前
【hadoop】HBase shell 操作
大数据·hadoop·hbase
随缘而动,随遇而安1 小时前
第五十二篇 浅谈ETL系统设计
大数据·数据仓库·数据分析·数据库开发·数据库架构
令狐少侠20111 小时前
python后端程序部署到服务器 Ubuntu并配合 Vue 前端页面运行
服务器·前端·python
猫头虎2 小时前
浅谈国产数据库多租户方案:提升云计算与SaaS的资源管理效率
大数据·数据库·数据仓库·sql·云计算·时序数据库·kingbasees
星云ai2 小时前
矩阵运营的限流问题本质上是平台与创作者之间的流量博弈
服务器·网络·php