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 运行时碰到错误
运行指令
碰到错误
[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 保卫历程
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.实行搜索效果
参考文档:
Kibanna安装
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |