基于 Docker 搭建 Elasticsearch + Kibana 环境

一、Elasticsearch

1. 下载镜像

elasticsearch镜像不支持latest标签,必须指定版本号

bash 复制代码
% docker pull elasticsearch:8.17.2

2. 启动容器

参考官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html

bash 复制代码
% docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.17.2

3. 无法启动

bash 复制代码
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x0000ffff7413ff68, pid=26, tid=27
#
# JRE version:  (22.0.2+9) (build )
# Java VM: OpenJDK 64-Bit Server VM (22.0.2+9-70, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j  java.lang.System.registerNatives()V+0 java.base@22.0.2
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid26.log
[0.013s][warning][os] Loading hsdis library failed
#
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
/usr/share/elasticsearch/bin/elasticsearch-env: line 83:    26 Aborted                 "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker

4. 解决方法

参考 https://github.com/elastic/elasticsearch/issues/118583#issuecomment-2567270484

bash 复制代码
% docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "_JAVA_OPTIONS=-XX:UseSVE=0" elasticsearch:8.17.2

二、Kibana

1. 下载镜像

bash 复制代码
% docker pull kibana:8.17.2

2. 启动容器

bash 复制代码
% docker run -p 5601:5601 kibana:8.17.2

三、访问网页

1. 浏览器访问

localhost:5601

2. 生成 Enrollment token

bash 复制代码
% docker exec -it container_name /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Picked up _JAVA_OPTIONS: -XX:UseSVE=0
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTcyLjE3LjAuNTo5MjAwIl0sImZnciI6IjhhYTdjZDdjNDg5NjgyYzlhMjU4ZmFkNjk0MzIzYWI2ZjRiNDUwZWRjMGE1ZGM0NjAwMGViNGZhYmMyZmM4ZTkiLCJrZXkiOiItc0tlLXBRQnVwZjNRa2kxWHlwLTpfNGo3VDhvLVI2ZUhrdlJzMjBPUGhBIn0=

3. 生成密码

bash 复制代码
% docker exec -it container_name /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Picked up _JAVA_OPTIONS: -XX:UseSVE=0
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: _4Pfdz8+3wOXaXx2ULor
相关推荐
IT成长日记3 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子3 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
FrankYoou7 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
永洪科技7 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
隆里卡那唔7 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样7 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
weixin_307779137 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
大只鹅8 小时前
解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
spring boot·后端·elasticsearch
上海锝秉工控10 小时前
防爆拉线位移传感器:工业安全的“隐形守护者”
大数据·人工智能·安全
cv高级工程师YKY10 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv