1.安装Elasticsearch
1.1 下载Elasticsearch
# 1. 更新包索引
sudo apt update
# 2. 升级已安装的软件包
sudo apt upgrade -y
# 3. 进入 /opt 目录
cd /opt
# 4. 下载Elasticsearch压缩包
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz
# 5. 下载校验文件
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz.sha512
# 6. 校验下载的文件
sudo shasum -a 512 -c elasticsearch-8.14.3-linux-x86_64.tar.gz.sha512
# 7. 解压缩下载的文件
sudo tar -xzf elasticsearch-8.14.3-linux-x86_64.tar.gz
# 8. 进入解压后的目录
cd elasticsearch-8.14.3
1.2 运行时遇到错误
运行指令
./bin/elasticsearch
遇到错误
[2024-07-14T08:38:12,606][ERROR][o.e.b.Elasticsearch ] [liber-VMware-Virtual-Platform] fatal exception while booting Elasticsearchjava.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.server@8.14.3/org.elasticsearch.bootstrap.Elasticsearch.initializeNatives(Elasticsearch.java:286)
at org.elasticsearch.server@8.14.3/org.elasticsearch.bootstrap.Elasticsearch.initPhase2(Elasticsearch.java:169)
at org.elasticsearch.server@8.14.3/org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:74)See logs for more details.
ERROR: Elasticsearch did not exit normally - check the logs at /opt/elasticsearch-8.14.3/logs/elasticsearch.log
ERROR: Elasticsearch died while starting up, with exit code 1
root@liber-VMware-Virtual-Platform:/opt/elasticsearch-8.14.3#
解决方案
# 1. 创建一个新的用户并设置密码
adduser elasticuser
# 2. 更改Elasticsearch目录的所有者
chown -R elasticuser:elasticuser /opt/elasticsearch-8.14.3
# 3. 切换到新用户并启动Elasticsearch
su elasticuser
# 4. 重新启动
./bin/elasticsearch
1.3 运行的结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.
ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
SYV2_Rgz6LlSIQH7fkG5
# 解释: 系统为 elastic 用户生成了一个随机密码。你可以使用这个密码进行登录和管理。如果需要重置密码,可以使用 `bin/elasticsearch-reset-password -u elastic` 命令。
ℹ️ HTTP CA certificate SHA-256 fingerprint:
7a1ff37ac53755fa454be746a9bd1befba6ffebde3222acaf16120add82618da
# 解释: 这是 HTTP CA 证书的 SHA-256 指纹,用于验证证书的真实性。你可以在需要时使用此指纹来验证证书。
ℹ️ Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTkyLjE2OC4xNjMuMTI5OjkyMDAiXSwiZmdyIjoiN2ExZmYzN2FjNTM3NTVmYTQ1NGJlNzQ2YTliZDFiZWZiYTZmZmViZGUzMjIyYWNhZjE2MTIwYWRkODI2MThkYSIsImtleSI6IkxBVzNycEFCcjlmUFhPNjRyQ25hOjZWUWpnbVk1UkVxenkzcGt6X201TWcifQ==
# 解释: 系统生成了一个注册令牌(enrollment token),用于在 Kibana 中配置和连接到 Elasticsearch 集群。令牌有效期为 30 分钟。你可以启动 Kibana,然后在浏览器中输入该令牌进行配置。
ℹ️ Configure other nodes to join this cluster:
• On this node:
⁃ Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.
# 解释: 使用命令 `bin/elasticsearch-create-enrollment-token -s node` 创建一个节点注册令牌。
⁃ Uncomment the transport.host setting at the end of config/elasticsearch.yml.
# 解释: 在 `config/elasticsearch.yml` 文件中取消注释 `transport.host` 设置。
⁃ Restart Elasticsearch.
# 解释: 重启 Elasticsearch 以应用更改。
• On other nodes:
⁃ Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.
# 解释: 在其他节点上,使用生成的注册令牌和命令 `bin/elasticsearch --enrollment-token <token>` 启动 Elasticsearch,使其加入到集群中。
操作:复制同IP标签,进行访问验证,验证指令
curl -u elastic:SYV2_Rgz6LlSIQH7fkG5 -X GET "https://localhost:9200/" -k
注解:
-u elastic:SYV2_Rgz6LlSIQH7fkG5
:使用用户名elastic
和相应的密码进行基本身份验证。-X GET
:指定HTTP请求方法为GET。"https://localhost:9200/"
:目标URL,即Elasticsearch的本地地址。-k
:跳过SSL证书验证(因为我们使用的是自签名证书)
1.4 开启远程访问
1.远程访问的配置
#编辑配置文件
nano /opt/elasticsearch-8.14.3/config/elasticsearch.yml
# 取消注释并设置network.host为0.0.0.0以允许所有网络接口访问
network.host: 0.0.0.0# 确保http.port设置为默认的9200端口
http.port: 9200
操作:键盘:CTRL+X 保存Y确认,重新启动elasticsearch
2.防火墙的配置
如果你的Ubuntu服务器上启用了防火墙(UFW),需要允许外部访问Elasticsearch的默认端口(9200):
# 1. 添加防火墙规则
ufw allow 9200/tcp
# 2. 重新加载防火墙
ufw reload
3.验证远程访问地址,协议要HTTPS
curl -u elastic:SYV2_Rgz6LlSIQH7fkG5 -X GET "https://192.168.163.129:9200/" -k
Ubuntu下的验证:
浏览器下的验证:
点击高级,继续访问,然后输入生成的用户名和密码即可。
最后验证的结果:
1.5 创建systemd服务(可选)
1.创建服务
# 创建Elasticsearch的systemd服务文件
nano /etc/systemd/system/elasticsearch.service
2. 添加以下内容到文件
[Unit]
# Unit节描述了服务的元数据和依赖关系
Description=Elasticsearch
# Description: 服务的描述信息,用于描述这个服务的用途
Documentation=https://www.elastic.co
# Documentation: 提供了一个指向相关文档的链接
Wants=network-online.target
# Wants: 指定服务的启动依赖目标,确保网络在线
After=network-online.target
# After: 确保服务在指定的目标(网络在线)之后启动
[Service]
# Service节定义了服务的行为和运行参数
Environment=ES_HOME=/opt/elasticsearch-8.14.3
# Environment: 设置Elasticsearch的主目录环境变量
Environment=ES_PATH_CONF=/opt/elasticsearch-8.14.3/config
# Environment: 设置Elasticsearch配置文件路径环境变量
Environment=PID_DIR=/var/run/elasticsearch
# Environment: 设置Elasticsearch的PID文件存放目录环境变量
Environment=ES_SD_NOTIFY=true
# Environment: 设置Elasticsearch服务通知设置
WorkingDirectory=/opt/elasticsearch-8.14.3
# WorkingDirectory: 设置服务的工作目录
User=elasticuser
# User: 指定以哪个用户身份运行服务,这里设置为elasticuser
Group=elasticuser
# Group: 指定以哪个用户组身份运行服务,这里设置为elasticuser
ExecStart=/opt/elasticsearch-8.14.3/bin/elasticsearch
# ExecStart: 指定启动服务的命令,这里是启动Elasticsearch
StandardOutput=journal
# StandardOutput: 指定标准输出的目标,这里设置为journal
StandardError=inherit
# StandardError: 指定标准错误输出的目标,这里设置为inherit,继承标准输出
Restart=always
# Restart: 指定服务的重启策略,这里设置为always,表示服务崩溃后总是重启
LimitNOFILE=65535
# LimitNOFILE: 设置文件描述符的限制,这里设置为65535
[Install]
# Install节定义了安装的相关设置
WantedBy=multi-user.target
# WantedBy: 指定服务在哪个目标下可用,这里设置为multi-user.target,表示服务可以在多用户系统下运行
3.重新加载 systemd 守护进程
systemctl daemon-reload
4.启动并启用 Elasticsearch 服务
# 启动服务
systemctl start elasticsearch
# 设置自启
systemctl enable elasticsearch
5.验证 Elasticsearch 运行状态
systemctl status elasticsearch
参考文档:
在 Linux 或 MacOS 上从存档安装 Elasticsearch
Linux环境下安装Elasticsearch,史上最详细的教程来啦~_linux elasticsearch-CSDN博客
2.安装Kibana
2.1 下载Kibanna
# 1. 更新包索引
apt update
# 2. 升级已安装的软件包
apt upgrade -y
# 3. 进入 /opt 目录
cd /opt
# 4. 下载Kibana压缩包
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-x86_64.tar.gz
# 5. 下载校验文件并验证压缩包
curl https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c -
# 6. 解压缩下载的文件
tar -xzf kibana-8.14.3-linux-x86_64.tar.gz
# 7. 进入解压后的目录
cd kibana-8.14.3/
# 8. 修改配置文件
nano config/kibana.yml
配置文件内容:
# 设置 Kibana 服务的监听端口为 5601
server.port: 5601
# 设置 Kibana 服务的监听地址
server.host: "0.0.0.0"# 配置 Kibana 连接的 Elasticsearch 实例地址
elasticsearch.hosts: ["http://localhost:9200"]# 设置 Kibana 的界面语言为简体中文
i18n.locale: "zh-CN
# 9. 创建用户
adduser kibanauser
# 10. 更改Kibana目录的所有者
chown -R kibanauser:kibanauser /opt/kibana-8.14.3
# 11. 切换用户
su kibanauser
# 12. 运行
./bin/kibana
2.2 登录Kibanna
生成新的注册令牌:
# 执行指令
/opt/elasticsearch-8.14.3/bin/elasticsearch-create-enrollment-token --scope kibana
操作:先粘贴注册令牌,再点击配置Elastic
配置验证码,从Kibanna的启动界面寻找
然后进行验证码验证:
等待配置完成出现该页面,用户名密码同Elasticsearch访问的完全一样:
登录成功的页面:
2.3 默认分词器
1.测试代码
#创建索引
PUT /my-default-index
{
"mappings": {
"properties": {
"content": {
"type": "text"
}
}
}
}
#添加文档
POST /my-default-index/_doc/1
{
"content": "我的世界我做主"
}
#测试分词
POST /my-default-index/_analyze
{
"text": "我的世界我做主"
}
#执行搜索
GET /my-default-index/_search
{
"query": {
"match": {
"content": "世界"
}
}
}
2.测试分词结果
3.执行搜索结果
参考文档:
标签:LTS,opt,elastic,24.04,Kibana,Kibanna,elasticsearch,8.14,Elasticsearch From: https://blog.csdn.net/qq_71387716/article/details/140411530