Ubuntu 24.04 LTS安装elasticsearch-8.14.3+Kibana

news2024/9/21 6:05:26

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.执行搜索结果

参考文档:

Kibanna安装

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1990701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产化飞腾D2000独显可插拔式OPS电脑主板,应用于信创教育、信创会议、信创办公等领域

国产化飞腾D2000 主板规格书 产品概述 XM-F611是我司自主研发设计的一款独显可插拔式OPS电脑主板&#xff0c;符合Intel OPS(Open Pluggable Specification)标准规范。采用飞腾腾锐D2000八核处理器加国产独立显卡&#xff0c;搭配国产银河麒麟或统信操作系统&#xff0c;能够…

sparkhive--练习2

需求&#xff1a; 在hive中创建对应表&#xff0c;并且导入数据&#xff0c;使用spark完成对应的查询 stu_name course score 张三 语文 98 张三 数学 95 张三 英语 89 李四 语文 97 李四 数学…

【天数计算】输入某年某月某日,判断这一天是这一年的第几天

要求&#xff1a;输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff0c;使用C语言实现 #include<stdio.h>int dayYear(int year,int month,int day){int days_in_month[] {0,31,28,31,30,31,30,31,31,30,31,30,31};int i,days0;for(i1;i<month;i){da…

分类预测|基于粒子群优化核极限学习机的Adaboost集成模型数据分类预测Matlab程序 PSO-KELM-Adaboost

分类预测|基于粒子群优化核极限学习机的Adaboost集成模型数据分类预测Matlab程序 PSO-KELM-Adaboost 文章目录 前言分类预测|基于粒子群优化核极限学习机的Adaboost集成模型数据分类预测Matlab程序 PSO-KELM-Adaboost 一、PSO-KELM-Adaboost模型1. 核化极限学习机 (KELM)2. 粒子…

5G边缘计算网关应用

在信息技术浪潮的推动下&#xff0c;5G网络与边缘计算的结合正快速地推动着人们步入一个前所未有的智能生活新纪元。5G边缘计算网关作为两者融合的重要枢纽&#xff0c;其应用领域的拓展和优势表现越来越受到企业和行业的重视。      5G边缘计算网关的技术背景   5G网络为…

WEB应用(十三)---RCE

什么是RCE&#xff1f; Remote Command/Code Execute&#xff0c;远程命令或代码执行。通过构造特殊的字符串&#xff0c;将数据提交至Web应用程序&#xff0c;并利用该方式执行外部程序或系统命令实施攻击&#xff0c;类似于SQL注入。 Web应用程序使用了一些可以执行系统命令或…

多变量时间序列生成模型GAN介绍与实现

目录 1. 模型介绍2. 问题提出3. 模型具体实现3.1 数据预处理3.2 生成对抗网络&#xff08;GAN&#xff09;结构3.3 模式崩溃解决3.4 合成数据验证 4. 代码实现参考文献 1. 模型介绍 在大数据时代&#xff0c;生成逼真的时间序列数据对于负载平衡、负载预测和智能资源配置等方面…

openwrt 性能工具perf和cpu占用查看工具sysstat编译及使用

代码使用的lean源码&#xff0c;只需要用make menuconfig打开perf对应的编译选项即可 1.第一步选择Global build settings 2.第二步选择Kernel build options 3.第三步选择Enable kernel cgroups 4.第四步选择Enable perf_event per-cpu per-container group (cgroup) monitor…

计算机网络-CSP初赛知识点整理

历年真题 [2016-NOIP-普及-第3题] 以下不属于无线通信技术的是( ) A. 蓝牙 B. Wifi C. GPRS D. 以太网 [2015-NOIP-普及-第10题] FTP 可以用于( )。 A. 远程传输文件 B. 发送电子邮件 C. 浏览网页 D. 网上聊天 [2019-CSP-J-第1题] 中国的国家顶级域名是( ). A. .cn B. .ch C.…

国内自闭症学校指南:了解孩子的康复需求和解决方案

在国内&#xff0c;自闭症儿童的数量逐年增加&#xff0c;为他们提供专业的教育和康复支持变得至关重要。对于家长来说&#xff0c;选择一所合适的自闭症学校是帮助孩子走向康复的关键一步。在众多的选择中&#xff0c;星贝育园以其独特的优势和全面的服务脱颖而出。 当孩子被诊…

android系统中data下的xml乱码无法查看问题剖析及解决方法

背景&#xff1a; Android12高版本以后系统生成的很多data路径下的xml都变成了二进制类型&#xff0c;根本没办法看xml的内容具体如下&#xff1a; 比如想要看当前系统的widget的相关数据 ./system/users/0/appwidgets.xml 以前老版本都是可以直接看的&#xff0c;这些syste…

Cxx primer-chap13-Copy Control

copy控制涉及类的五个成员函数&#xff1a;&#xff0c;这五个成员函数被显式或隐式的被调用&#xff0c;各司其职&#xff1a;我们必须根据类的实际情况来确定是否需要显式定义这些成员函数&#xff1a;什么是拷贝构造函数呢&#xff1f;简单讲就是该函数的第一个形参是refere…

malloc函数与free函数

目录 开头1.怎样把数组初始化时的项数变成变量?malloc函数free函数 2.malloc函数与free函数的实际运用CC6 牛牛的排序随机乱码打印随机数组打印 结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们来学一下如何把数组初始化时的项数变成变量的一些知识。 1.怎…

【书生大模型实战营第三期 | 入门岛第3关-Git 基础知识】

学习Git版本控制系统心得体会 摘要 通过参与InternLM Git教程&#xff0c;我对Git这一开源的分布式版本控制系统有了更深入的理解和实践。Git以其高效的团队协作能力、详尽的代码历史记录以及灵活的分支管理功能&#xff0c;成为软件开发中不可或缺的工具。 文章大纲 Git简介…

自查出癌症后 凯特王妃的生活观发生了变化 王室的粉丝们也应该会很少见到她

凯特米德尔顿今年的健康问题令人意外,这也改变了王室的面貌。这位威尔士王妃每次露面都引来巨大关注,因此王室不得不发挥创意,将更多精力放在威廉王子、索菲、爱丁堡公爵夫人,甚至查理三世国王的社交日程上。王室粉丝们可能期待着凯特恢复健康,恢复正常日程,但内部人士称…

unity 粒子系统学习

差不多了解了基本的ui面板&#xff0c;学一下粒子系统 取消轮廓线 这样粒子biubiu的时候就没有橙黄色的轮廓线了

lvs的dr模式实现

目录 一、实验环境准备 1、五台红帽9系统的主机 2、关闭所有的防火墙以及关闭selinux 二、在lvs中配置 1、在lvs中安装lvs软件并设置开机启动 2、在lvs中打开内核路由功能&#xff0c;并把它写入/etc/sysctl.conf文件中 3、webserver1和webserver2下载httpd 4、在lvs主机…

【Redis进阶】Redis单线程模型和多线程模型

目录 单线程 为什么Redis是单线程 处文件事件理器的结构 文件处理器的工作流程 总结 文件事件处理器 连接应答处理器 命令请求处理器 命令回复处理器 多线程 为什么引入多线程 多线程架构 多线程执行流程 关于Redis的问题 Redis为什么采用单线程模型 Redis为什…

【STM32】USART串口和I2C通信

个人主页~ USART串口和I2C通信 USART串口一、串口1、简介2、电路要求3、参数及时序 二、USART外设1、USART结构2、波特率发生器 三、数据包1、HEX数据包HEX数据包接收 2、文本数据包文本数据包接收 I2C通信一、简介二、通信协议1、硬件电路2、I2C时序基本单元 三、I2C外设1、简…

Chapter 29 类型注解

欢迎大家订阅【Python从入门到精通】专栏&#xff0c;一起探索Python的无限可能&#xff01; 文章目录 前言一、变量的类型注解二、函数的类型注解三、Union类型注解 前言 类型注解为我们提供了一种清晰的方式来描述变量和函数的预期类型&#xff0c;使得代码的意图更加明确。…