大数据-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,确保分片在不同的物理节点上分布。
相关推荐
爱写代码的小朋友31 分钟前
华三交换机配置常用命令
运维·服务器·网络
wangjun51591 小时前
jenkins 参数化发布到服务器 publish over ssh、label、Parameterized publishing
服务器·ssh·jenkins
愿你天黑有灯下雨有伞1 小时前
Docker 安装 Elasticsearch 教程
运维·elasticsearch·docker
愚润求学1 小时前
【Linux】Linux权限
linux·服务器·语法
低头不见1 小时前
一个服务器算分布式吗,分布式需要几个服务器
运维·服务器·分布式
麻芝汤圆1 小时前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce
赋创小助手1 小时前
Gartner预计2025年AI支出达6440亿美元:数据中心与服务器市场的关键驱动与挑战
运维·服务器·人工智能·科技·架构
树莓集团2 小时前
树莓集团海南落子:自贸港布局的底层逻辑
大数据
LuckyRich12 小时前
【boost搜索引擎】下
开发语言·c++·搜索引擎
不剪发的Tony老师2 小时前
Hue:一个大数据查询工具
大数据