赞
踩
- # 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
运行指令
./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
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ✅ 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.远程访问的配置
- #编辑配置文件
- 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.创建服务
- # 创建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博客
- # 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
生成新的注册令牌:
- # 执行指令
- /opt/elasticsearch-8.14.3/bin/elasticsearch-create-enrollment-token --scope kibana
操作:先粘贴注册令牌,再点击配置Elastic
配置验证码,从Kibanna的启动界面寻找
然后进行验证码验证:
等待配置完成出现该页面,用户名密码同Elasticsearch访问的完全一样:
登录成功的页面:
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.执行搜索结果
参考文档:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。