点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
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的内容:
https://www.elastic.co/cn/downloads/elasticsearch • 1
下载地址
你可以下载完再上传到服务器,也可以直接在服务器中使用wget下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar
操作过程如下图所示:
解压配置
解压,并移动到之前的配置目录下:
cd /opt/software/ tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz mv elasticsearch-7.3.0 ../servers/
对应的截图如下图所示:
修改配置
服务配置
修改ES的配置,来设置单机启动的模式,否则无法正常的启动:
vim /opt/servers/elasticsearch-7.3.0/config/elasticsearch.yml
- 单机安装请取消注释:node.name: node-1,否则无法正常启动
- 修改网络和端口,取消注释Master节点,单机只保留一个node
对应的内容如下:
# ------------------------------------ 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 内存设置:
vim /opt/servers/elasticsearch-7.3.0/config/jvm.options
我们需要根据实际的情况进行修改,默认都是1G,单机1G内存,启动会占用700M+,安装Kibana之后,基本就无法运行了,内存超出物理内存,也会无法启动。
所以一般的配置都要在2G所有:
-Xms2g -Xmx2g
对应的截图如下图所示:
配置用户
我们需要添加ES用户,如果使用root用户,ES是默认不能启动的:
useradd es_server passwd es_server
输入密码,对应的截图如下图所示:
目录权限
chown -R es_server /opt/servers/elasticsearch-7.3.0
配置完的路径如下图所示:
系统设置
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除Linux当中打开的最大数目限制,不然ES启动就会报错。
我们需要 sysctl.conf:
vim /etc/sysctl.conf • 1
末尾我们添加:
vm.max_map_count=655360
修改的结果如下图所示:
执行 sysctl -p,让配置生效:
sysctl -p • 1
运行结果如下图所示:
继续修改:limits.conf,目的是修改Linux系统对文件描述符的限制级别:
vim /etc/security/limits.conf • 1
我们需要在末尾添加如下的内容:
* soft nofile 65536 * hard nofile 65536 * soft nproc 4096 * hard nproc 4096
截图如下所示:
启动服务
我们需要切换到刚才的用户上:
su es_server • 1
接着执行启动命令:
/opt/servers/elasticsearch-7.3.0/bin/elasticsearch
启动结果如下图所示:
访问服务
启动成功,访问服务进行测试:
# 注意是HTTPS http://h121.wzk.icu:9200 • 1 • 2
页面返回的结果为:
{ "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,确保分片在不同的物理节点上分布。