【ElasticSearch8.X】学习笔记(一)

一、8.x与7.x的对比

  1. 减少内存堆使用,完全支持 ARM 架构,引入全新的方式以使用更少的存储空间,从而让每个节点托管更多的数据
  2. Elasticsearch8.x需要jdk17
  3. 降低查询开销,在大规模部署中成效尤为明显
  4. 首次启动 Elasticsearch8.x时,会自动进行安全配置
  5. 在 Elasticsearch 8.0 中做了一些改变来保护系统索引不被直接访问
  6. keywordmatch_only_texttext字段节省存储空间
  7. 加快geo_pointgeo_shape范围字段索引速度
  8. ...

二、安装elk8.x

2.1、下载

官网
本文使用

2.2、集群规划

masterslave1slave2
ip192.168.3.34192.168.3.35192.168.3.36

2.3、安装

将下载好的压缩包上传到服务器中
解压

tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz

2.4、配置环境

创建用户 elk默认禁止root用户启动

# 新增 es 用户
useradd es
# 修改文件拥有者
chown -R es:es /usr/soft/elasticsearch8

# 创建数据文件目录
mkdir /usr/soft/elasticsearch8/data
# 创建证书目录
mkdir /usr/soft/elasticsearch8/config/certs

在第一台服务器节点 master 设置集群多节点通信密钥

# 切换用户
su es
cd /usr/soft/elasticsearch8

# 签发 ca 证书,过程中需按两次回车键
bin/elasticsearch-certutil ca
# 用 ca 证书签发节点证书,过程中需按三次回车键
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 将生成的证书文件移动到 config/certs 目录中
mv elastic-stack-ca.p12 elastic-certificates.p12 config/certs

在第一台服务器节点 master 设置集群多节点 HTTP 证书

# 签发 Https 证书
bin/elasticsearch-certutil http
# 以下是每次要求输入时,需要输入的内容
n #是否认证
y #是否已有证书
certs/elastic-stack-ca.p12 #证书目录
回车 #输入证书密码(如果没有设置就回车)
5y #证书有效时间5年
n #每个结点都生成证书吗

master #结点的主机名称
slave1 #结点的主机名称
slave2 #结点的主机名称
回车 #退出输入
y #确定

192.168.3.34 #结点的ip
192.168.3.35 #结点的ip
192.168.3.36 #结点的ip
回车 #退出输入
y #确定

n #是否修改证书配置
回车 #输入密码
回车 #生成位置(回车默认)

解压刚刚生成的 zip 包

unzip elasticsearch-ssl-http.zip

将解压后的证书文件移动到 config/certs 目录中

mv elasticsearch/http.p12 kibana/elasticsearch-ca.pem config/certs

2.5、修改配置文件

config/elasticsearch.yml

# 设置 ES 集群名称
cluster.name: es-cluster 
# 设置集群中当前节点名称
node.name: master
# 设置数据,日志文件路径
path.data: /usr/soft/elasticsearch8/data
path.logs: /usr/soft/elasticsearch8/logs
# 设置网络访问节点
network.host: master
# 设置网络访问端口
http.port: 9200
# 初始节点
discovery.seed_hosts: ["master"]
# 安全认证
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
 enabled: true
 keystore.path: /usr/soft/elasticsearch8/config/certs/http.p12
 truststore.path: /usr/soft/elasticsearch8/config/certs/http.p12
xpack.security.transport.ssl:
 enabled: true
 verification_mode: certificate
 keystore.path: /usr/soft/elasticsearch8/config/certs/elastic-certificates.p12
 truststore.path: /usr/soft/elasticsearch8/config/certs/elastic-certificates.p12
# 此处需注意,为上面配置的节点名称
cluster.initial_master_nodes: ["master"]
http.host: [_local_, _site_]
ingest.geoip.downloader.enabled: false
xpack.security.http.ssl.client_authentication: none

2.6、启动

# 启动 ES 软件
bin/elasticsearch

第一次成功启动后,会显示密码,请记住,在访问时需要。只有第一次才有哟!
在这里插入图片描述
因为配置了安全协议,所以使用 https 协议进行访问,但由于证书是自己生成的,并不可靠,所以会有安全提示。访问:https://192.168.3.34:9200/

2.5、安装其他结点

操作和上面一样
证书直接拷贝
config/elasticsearch.yml修改:node.namenetwork.host
全部启动后:在这里插入图片描述

三、Kibana 安装

3.1、下载

Elasticsearch 下载的版本是 8.1.0,这里我们选择同样的 8.1.0 版
下载地址

将下载的压缩包上传到服务器
解压缩

tar -zxvf kibana-8.1.0-linux-x86_64.tar.gz

3.2、配置环境

给 Kibana 生成证书文件

# 在 ES 服务器中生成证书,输入回车即可
cd /usr/soft/elasticsearch8
bin/elasticsearch-certutil csr -name kibana -dns master
# 解压文件
unzip csr-bundle.zip
# 将解压后的文件移动到 kibana 的 config 目录中
cd kibana/
mv kibana.csr kibana.key /usr/soft/kibana-8.1.0/config/
# 生成 crt 文件
cd /usr/soft/kibana-8.1.0/config
openssl x509 -req -in kibana.csr -signkey kibana.key -out kibana.crt

创建“ kibana_system ”用户

cd /usr/soft/elasticsearch8
bin\elasticsearch-reset-password -u kibana_system
y

在这里插入图片描述

3.2、修改配置文件

/usr/soft/kibana-8.1.0/config

# 服务端口
server.port: 5601
# 服务主机名
server.host: "master"
# 国际化 - 中文
i18n.locale: "zh-CN"
# ES 服务主机地址
elasticsearch.hosts: ["https://master:9200"]
# 访问 ES 服务的账号密码
elasticsearch.username: "kibana_system"
elasticsearch.password: "uwFAc4V9vl9WZVeACrYg"
elasticsearch.ssl.verificationMode: none
elasticsearch.ssl.certificateAuthorities: [ "/usr/soft/elasticsearch8/config/certs/elasticsearch-ca.pem" ]
server.ssl.enabled: true
server.ssl.certificate: /usr/soft/kibana-8.1.0/config/kibana.crt
server.ssl.key: /usr/soft/kibana-8.1.0/config/kibana.key

修改软件目录拥有者
如果使用elastic用户会报错

# 切换目录
cd /usr/soft/kibana-8.1.0
chown -R es:es /usr/soft/kibana-8.1.0/

3.4、启动

# 切换用户
su es
# 启动软件
bin/kibana
# 也可以后台启动
nohup /usr/soft/kibana-8.1.0/bin/kibana >kibana.log 2>&1 &

访问https://192.168.3.34:5601/(使用elastic用户登录)
在这里插入图片描述

### Elasticsearch 8.x 版本学习笔记 #### 关键特性概述 Elasticsearch款分布式搜索引擎,支持实时搜索、多租户等功能。其核心优势在于能够快速处理大量数据并提供高效的全文检索能力[^1]。 #### 安装与启动 对于初次使用者来说,可以从官方网站下载适合的操作系统版本进行安装。完成安装后通过命令行工具执行 `bin/elasticsearch` 启动服务实例。为了确保集群稳定运行,建议按照官方文档中的最佳实践来调整JVM参数其他环境变量设置[^2]。 #### 创建索引及Mapping定义 创建个新的索引时可以通过API指定名称以及配置文件路径: ```json PUT /my-index-000001 { "settings": { "index.number_of_shards": 3, "index.number_of_replicas": 2 }, "mappings": { "_source": { "enabled": true }, "properties": { "name": {"type": "keyword"}, "description": {"type": "text"} } } } ``` 此段代码展示了如何设定shard数量副本数,并为特定字段指定了相应的类型——例如这里设置了`name`作为关键字型(`keyword`)而`description`则被设成文本型(`text`)[^3]。 #### 动态模板应用 当面对未知结构的数据源时,动态模板允许自动识别新加入字段的性质从而为其分配最恰当的数据表示形式。这极大地方便了灵活应对各种业务场景下的需求变化。 ```json PUT _template/my_template_1 { "index_patterns": ["te*", "bar*"], "priority": 1, "version": 5, "settings": {}, "aliases": {}, "mappings": { "dynamic_templates": [ { "strings_as_keywords": { "match_mapping_type": "string", "mapping": { "type": "keyword" } } } ] } } ``` 这段JSON片段说明了个简单的动态模板案例,其中任何匹配模式下新增加字符串类型的字段都将默认转换成关键词类型存储。 #### 正排索引 vs 倒排索引 正排索引指的是基于唯标识符查找对应记录的方式;相反地,倒排索引则是依据某些特征值反向定位到拥有这些特性的所有条目集合之中。这种机制使得即使是在海量数据库里也能迅速实现精准查询操作[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值