大数据-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,确保分片在不同的物理节点上分布。
相关推荐
斯普信专业组8 分钟前
Kafka集群数据迁移方案
分布式·kafka·数据迁移
九河云9 分钟前
AWS域名注册服务详解
服务器·云计算·aws
涛思数据(TDengine)10 分钟前
TDengine 数据订阅 vs. InfluxDB 数据订阅:谁更胜一筹?
大数据·时序数据库·tdengine
MXsoft61838 分钟前
监控易监测对象及指标之:Canal中间件监控
大数据·数据库
库克库伯电气1 小时前
变压器没有做电容补偿还能带同样的负荷吗
运维·服务器·单片机·嵌入式硬件·物联网
Xzzzz9112 小时前
华为配置 之 GVRP协议
服务器·网络·华为
一條狗2 小时前
隨便 20241028 ISR 和 OSR 在 Kafka 中的详细解析
分布式·kafka
昨天今天明天好多天2 小时前
【Linux】Kafka部署
linux·运维·kafka
梅秃头2 小时前
CentOS 8修改Linux配置文件指定属性的值
linux·运维·服务器
sdau_blue2 小时前
pycharm远程服务器Linux下解决cannot connect to X server问题
linux·运维·服务器