当前位置:   article > 正文

Ubuntu 24.04 LTS安装elasticsearch-8.14.3+Kibana_elasticsearch8.14.3

elasticsearch8.14.3

1.安装Elasticsearch

1.1 下载Elasticsearch

  1. # 1. 更新包索引
  2. sudo apt update
  3. # 2. 升级已安装的软件包
  4. sudo apt upgrade -y
  5. # 3. 进入 /opt 目录
  6. cd /opt
  7. # 4. 下载Elasticsearch压缩包
  8. sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz
  9. # 5. 下载校验文件
  10. sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz.sha512
  11. # 6. 校验下载的文件
  12. sudo shasum -a 512 -c elasticsearch-8.14.3-linux-x86_64.tar.gz.sha512
  13. # 7. 解压缩下载的文件
  14. sudo tar -xzf elasticsearch-8.14.3-linux-x86_64.tar.gz
  15. # 8. 进入解压后的目录
  16. 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. # 1. 创建一个新的用户并设置密码
  2. adduser elasticuser

  1. # 2. 更改Elasticsearch目录的所有者
  2. chown -R elasticuser:elasticuser /opt/elasticsearch-8.14.3
  3. # 3. 切换到新用户并启动Elasticsearch
  4. su elasticuser
  5. # 4. 重新启动
  6. ./bin/elasticsearch

1.3  运行的结果

  1. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2. ✅ Elasticsearch security features have been automatically configured!
  3. ✅ Authentication is enabled and cluster connections are encrypted.
  4. ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
  5. SYV2_Rgz6LlSIQH7fkG5
  6. # 解释: 系统为 elastic 用户生成了一个随机密码。你可以使用这个密码进行登录和管理。如果需要重置密码,可以使用 `bin/elasticsearch-reset-password -u elastic` 命令。
  7. ℹ️ HTTP CA certificate SHA-256 fingerprint:
  8. 7a1ff37ac53755fa454be746a9bd1befba6ffebde3222acaf16120add82618da
  9. # 解释: 这是 HTTP CA 证书的 SHA-256 指纹,用于验证证书的真实性。你可以在需要时使用此指纹来验证证书。
  10. ℹ️ Configure Kibana to use this cluster:
  11. Run Kibana and click the configuration link in the terminal when Kibana starts.
  12. Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
  13. eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTkyLjE2OC4xNjMuMTI5OjkyMDAiXSwiZmdyIjoiN2ExZmYzN2FjNTM3NTVmYTQ1NGJlNzQ2YTliZDFiZWZiYTZmZmViZGUzMjIyYWNhZjE2MTIwYWRkODI2MThkYSIsImtleSI6IkxBVzNycEFCcjlmUFhPNjRyQ25hOjZWUWpnbVk1UkVxenkzcGt6X201TWcifQ==
  14. # 解释: 系统生成了一个注册令牌(enrollment token),用于在 Kibana 中配置和连接到 Elasticsearch 集群。令牌有效期为 30 分钟。你可以启动 Kibana,然后在浏览器中输入该令牌进行配置。
  15. ℹ️ Configure other nodes to join this cluster:
  16. On this node:
  17. ⁃ Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.
  18. # 解释: 使用命令 `bin/elasticsearch-create-enrollment-token -s node` 创建一个节点注册令牌。
  19. ⁃ Uncomment the transport.host setting at the end of config/elasticsearch.yml.
  20. # 解释: 在 `config/elasticsearch.yml` 文件中取消注释 `transport.host` 设置。
  21. ⁃ Restart Elasticsearch.
  22. # 解释: 重启 Elasticsearch 以应用更改。
  23. On other nodes:
  24. Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.
  25. # 解释: 在其他节点上,使用生成的注册令牌和命令 `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.远程访问的配置

  1. #编辑配置文件
  2. 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. # 1. 添加防火墙规则
  2. ufw allow 9200/tcp
  3. # 2. 重新加载防火墙
  4. ufw reload

3.验证远程访问地址,协议要HTTPS

curl -u elastic:SYV2_Rgz6LlSIQH7fkG5 -X GET "https://192.168.163.129:9200/" -k

Ubuntu下的验证: 

浏览器下的验证:

点击高级,继续访问,然后输入生成的用户名和密码即可。

最后验证的结果:

1.5  创建systemd服务(可选)

1.创建服务 

  1. # 创建Elasticsearch的systemd服务文件
  2. nano /etc/systemd/system/elasticsearch.service

 2. 添加以下内容到文件

  1. [Unit]
  2. # Unit节描述了服务的元数据和依赖关系
  3. Description=Elasticsearch
  4. # Description: 服务的描述信息,用于描述这个服务的用途
  5. Documentation=https://www.elastic.co
  6. # Documentation: 提供了一个指向相关文档的链接
  7. Wants=network-online.target
  8. # Wants: 指定服务的启动依赖目标,确保网络在线
  9. After=network-online.target
  10. # After: 确保服务在指定的目标(网络在线)之后启动
  11. [Service]
  12. # Service节定义了服务的行为和运行参数
  13. Environment=ES_HOME=/opt/elasticsearch-8.14.3
  14. # Environment: 设置Elasticsearch的主目录环境变量
  15. Environment=ES_PATH_CONF=/opt/elasticsearch-8.14.3/config
  16. # Environment: 设置Elasticsearch配置文件路径环境变量
  17. Environment=PID_DIR=/var/run/elasticsearch
  18. # Environment: 设置Elasticsearch的PID文件存放目录环境变量
  19. Environment=ES_SD_NOTIFY=true
  20. # Environment: 设置Elasticsearch服务通知设置
  21. WorkingDirectory=/opt/elasticsearch-8.14.3
  22. # WorkingDirectory: 设置服务的工作目录
  23. User=elasticuser
  24. # User: 指定以哪个用户身份运行服务,这里设置为elasticuser
  25. Group=elasticuser
  26. # Group: 指定以哪个用户组身份运行服务,这里设置为elasticuser
  27. ExecStart=/opt/elasticsearch-8.14.3/bin/elasticsearch
  28. # ExecStart: 指定启动服务的命令,这里是启动Elasticsearch
  29. StandardOutput=journal
  30. # StandardOutput: 指定标准输出的目标,这里设置为journal
  31. StandardError=inherit
  32. # StandardError: 指定标准错误输出的目标,这里设置为inherit,继承标准输出
  33. Restart=always
  34. # Restart: 指定服务的重启策略,这里设置为always,表示服务崩溃后总是重启
  35. LimitNOFILE=65535
  36. # LimitNOFILE: 设置文件描述符的限制,这里设置为65535
  37. [Install]
  38. # Install节定义了安装的相关设置
  39. WantedBy=multi-user.target
  40. # WantedBy: 指定服务在哪个目标下可用,这里设置为multi-user.target,表示服务可以在多用户系统下运行

3.重新加载 systemd 守护进程

systemctl daemon-reload

4.启动并启用 Elasticsearch 服务

  1. # 启动服务
  2. systemctl start elasticsearch
  3. # 设置自启
  4. systemctl enable elasticsearch

5.验证 Elasticsearch 运行状态

systemctl status elasticsearch

参考文档:

在 Linux 或 MacOS 上从存档安装 Elasticsearch

Linux环境下安装Elasticsearch,史上最详细的教程来啦~_linux elasticsearch-CSDN博客

2.安装Kibana

2.1 下载Kibanna

  1. # 1. 更新包索引
  2. apt update
  3. # 2. 升级已安装的软件包
  4. apt upgrade -y
  5. # 3. 进入 /opt 目录
  6. cd /opt
  7. # 4. 下载Kibana压缩包
  8. curl -O https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-x86_64.tar.gz
  9. # 5. 下载校验文件并验证压缩包
  10. curl https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c -
  11. # 6. 解压缩下载的文件
  12. tar -xzf kibana-8.14.3-linux-x86_64.tar.gz
  13. # 7. 进入解压后的目录
  14. cd kibana-8.14.3/
  15. # 8. 修改配置文件
  16. 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

  1. # 9. 创建用户
  2. adduser kibanauser
  3. # 10. 更改Kibana目录的所有者
  4. chown -R kibanauser:kibanauser /opt/kibana-8.14.3
  5. # 11. 切换用户
  6. su kibanauser
  7. # 12. 运行
  8. ./bin/kibana

2.2 登录Kibanna

生成新的注册令牌:

  1. # 执行指令
  2. /opt/elasticsearch-8.14.3/bin/elasticsearch-create-enrollment-token --scope kibana

 操作:先粘贴注册令牌,再点击配置Elastic

配置验证码,从Kibanna的启动界面寻找

然后进行验证码验证:

等待配置完成出现该页面,用户名密码同Elasticsearch访问的完全一样:

登录成功的页面:

2.3 默认分词器

  1.测试代码 

  1. #创建索引
  2. PUT /my-default-index
  3. {
  4. "mappings": {
  5. "properties": {
  6. "content": {
  7. "type": "text"
  8. }
  9. }
  10. }
  11. }
  12. #添加文档
  13. POST /my-default-index/_doc/1
  14. {
  15. "content": "我的世界我做主"
  16. }
  17. #测试分词
  18. POST /my-default-index/_analyze
  19. {
  20. "text": "我的世界我做主"
  21. }
  22. #执行搜索
  23. GET /my-default-index/_search
  24. {
  25. "query": {
  26. "match": {
  27. "content": "世界"
  28. }
  29. }
  30. }

2.测试分词结果

3.执行搜索结果

参考文档:

Kibanna安装

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/964004
推荐阅读
相关标签
  

闽ICP备14008679号