Ubuntu2204安装和配置elasticsearch

此文档用来记录自己在Ubuntu2204系统上安装es的过程,方便下次安装查阅
[英文水平高的参考官方安装指南即可](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)

一、安装es

准备工作

  1. 根据自己操作系统的版本查看适配的es版本
    support matrix
    我选择的是8.17.0版本。
    注意:es从7.0版本开始有内置的JVM,无特殊需求一般不用额外安装JAVA.
    es是资源密集型应用程序。生产环境中,建议在专用主机上运行Elasticsearch,或者将其作为主要服务运行。您可以在Elasticsearch旁边运行Metricbeat以获取集群统计信息,但资源消耗较大的kibana和Logstash应该部署在其他主机上。
  2. docker已安装

安装和运行

如果目前登录的用户是root用户的话请换成另一个用户进行操作,因为ES官方不允许使用root用户进行操作(在进行启动时会报错,提示不允许root用户进行运行)

官方给出的安装方式有: 用于本地开发和测试的快速安装、直接运行编译好的tar压缩包进行安装、deb包安装、docker上安装。
我选择在docker上面部署安装。

单节点集群

  1. 新建一个docker network
    docker network create elastic
    elastic是你自己取的名字
    这一步的目的是可以让其它的 Elastic Stack 组件(如kibana)访问 Elasticsearch
  2. 拉取镜像
    docker pull docker.elastic.co/elasticsearch/elasticsearch:8.17.0
    如果在虚拟机或者网络受限的情况下,拉取镜像可能很慢。需要配置docker国内镜像源、镜像加速器。我通过/etc/docker/daemon.json配置了阿里加速器和国内镜像源。
{
  "registry-mirrors": ["https://<你的专有地址>.mirror.aliyuncs.com",
  "https://docker.m.daocloud.io"
  ]
}

呃,貌似快了一点。或者通过一个网速快的电脑下载好镜像再用docker加载进去吧
3. 开启一个elasticsearch节点容器
运行命令如下,

docker run -d --name es01 -p 9200:9200 -p 9300:9300 -v /home/znn/es/data:/usr/share/elasticsearch/data --net elastic  elasticsearch:8.17.0

a. 在Ubutu虚拟机下操作,我的容器刚启动就退出
ERROR: Elasticsearch died while starting up, with exit code 78

通过命令docker logs 容器name可以查看具体的报错信息,

显示vm.max_map_count为65536太低建议设置为262144

首先查看系统vm.max_map_count的值

sudo sysctl -n vm.max_map_count

返回结果为65536
然后在/etc/sysctl.conf文件末尾增加一行配置vm.max_map_count的值

重启电脑/虚拟机或者终端运行下列命令使配置生效
sudo sysctl -p
b. 解决完上面的问题使用docker再次启动elastic容器又报错

错误指出,elasticsearch试图获取/usr/share/elasticsearch/data的节点锁但失败了,可能的原因有,
(1)文件权限问题
需要确保/usr/share/elasticsearch/下面的data,config, plugin目录的权限至少是750,我的默认为775,排除这个原因.
(2)多个节点使用相同的数据路径
因为我只有一个节点,所以不认为是这个原因引起的.
(3) 文件不存在
/usr/share/elasticsearch/data/node.lock可能不存在,因为我的容器启动失败就无法进去查看node.lock文件是否存在,不认为是这个原因.

后来仔细想了一下,我启动容器的命令是挂载了本地目录的[-v /home/znn/es/data:/usr/share/elasticsearch/data],而我又以不同的节点名多次启动,所以原因就是多个节点使用相同的数据路径。
找到原因后,我删除了本地目录/home/znn/es/data,新建了一个数据目录/home/znn/docker/es/data并修改此目录的访问权限为777,再次启动容器,成功!!
4. 进入容器

docker exec -it es01 /bin/bash

重置elastic用户的密码

./usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

为kibana重新生成证书

./usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
  1. 验证elasticsearch运行成功
    在浏览器输入https://localhost:9200回车,输入用户名和密码后返回JSON格式的信息,如下

多节点集群

配置

二、安装es的可视化工具kibana

安装和运行

docker pull docker.elastic.co/kibana/kibana:8.17.0
docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.17.0

在终端会返回一个URL(https://0.0.0.0:5601),用浏览器打开此链接后,粘贴为kibana生成的证书后通过elastic用户名和密码登录进去。

配置

三、安装分词器

posted @   白龙马123  阅读(159)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示