点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
- 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
下载地址
你可以下载完再上传到服务器,也可以直接在服务器中使用wget下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
操作过程如下图所示:
解压配置
解压,并移动到之前的配置目录下:
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
末尾我们添加:
vm.max_map_count=655360
修改的结果如下图所示:
执行 sysctl -p,让配置生效:
sysctl -p
运行结果如下图所示:
继续修改:limits.conf,目的是修改Linux系统对文件描述符的限制级别:
vim /etc/security/limits.conf
我们需要在末尾添加如下的内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
截图如下所示:
启动服务
我们需要切换到刚才的用户上:
su es_server
接着执行启动命令:
/opt/servers/elasticsearch-7.3.0/bin/elasticsearch
启动结果如下图所示:
访问服务
启动成功,访问服务进行测试:
# 注意是HTTPS
http://h121.wzk.icu:9200
页面返回的结果为:
{
"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,确保分片在不同的物理节点上分布。