使用 start-local 脚本在本地运行 Elasticsearch
警告:请勿将这些说明用于生产部署
本页上的说明仅适用于本地开发。请勿将此配置用于生产部署,因为它不安全。请参阅部署选项以获取生产部署选项列表。
使用 start-local 脚本在 Docker 中快速设置 Elasticsearch 和 Kibana 以进行本地开发或测试。
此设置附带一个月的试用许可证,其中包括所有 Elastic 功能。试用期过后,许可证将恢复为免费和开放 - Basic。有关更多信息,请参阅 Elastic 订阅。
更多阅读:Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发
先决条件
- 如果你尚未安装 Docker,请下载并安装适用于你的操作系统的Docker Desktop。
- 如果你使用的是 Microsoft Windows,请安装适用于 Linux 的 Windows 子系统 (WSL)。
运行 start-local
start-local 脚本可以在地址进行下载 GitHub - elastic/start-local: Try Elasticsearch and Kibana locally。要在本地设置 Elasticsearch 和 Kibana,请运行 start-local 脚本。
curl -fsSL https://elastic.co/start-local | sh
此脚本创建一个 elastic-start-local 文件夹,其中包含:
- docker-compose.yml:Elasticsearch 和 Kibana 的 Docker Compose 配置
- .env:环境设置,包括 Elasticsearch 密码
- start.sh 和 stop.sh:用于启动和停止 Elasticsearch 和 Kibana 的脚本
- uninstall.sh:用于卸载 Elasticsearch 和 Kibana 的脚本
$ pwd
/Users/liuxg/data/start-local
$ curl -fsSL https://elastic.co/start-local | sh______ _ _ _ | ____| | | | (_) | |__ | | __ _ ___| |_ _ ___ | __| | |/ _` / __| __| |/ __|| |____| | (_| \__ \ |_| | (__ |______|_|\__,_|___/\__|_|\___|
-------------------------------------------------
🚀 Run Elasticsearch and Kibana for local testing
-------------------------------------------------ℹ️ Do not use this script in a production environment⌛️ Setting up Elasticsearch and Kibana v8.15.3...- Generated random passwords
- Created the elastic-start-local folder containing the files:- .env, with settings- docker-compose.yml, for Docker services- start/stop/uninstall commands
- Running docker compose up --wait[+] Running 24/24✔ kibana 13 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 62.0s ✔ 23987c61699b Pull complete 5.6s ✔ 8915ba981ca3 Pull complete 4.0s ✔ 4c8b24782cfe Pull complete 33.1s ✔ 807b2cadbcb1 Pull complete 5.3s ✔ aea2eb4e3b10 Pull complete 9.4s ✔ ab757075fe94 Pull complete 7.1s ✔ 4ca545ee6d5d Pull complete 8.5s ✔ 7e3665e2de31 Pull complete 9.8s ✔ c3055b6e09f0 Pull complete 10.9s ✔ ec8a64bd5a5f Pull complete 11.1s ✔ dfd6d27a36fe Pull complete 12.5s ✔ 17173b4bfc67 Pull complete 13.3s ✔ 2b1cd59a6503 Pull complete 14.1s ✔ kibana_settings 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 66.3s ✔ 4253e52d2237 Pull complete 16.8s ✔ e436db77a937 Pull complete 15.4s ✔ 0f431d485a97 Pull complete 57.7s ✔ 8673bfa492b1 Pull complete 18.4s ✔ fab125f6f236 Pull complete 19.8s ✔ 43ad26ccf7ea Pull complete 21.8s ✔ fb6208a6757b Pull complete 23.1s ✔ 500133bff266 Pull complete 24.9s ✔ elasticsearch Pulled 66.3s
[+] Building 0.0s (0/0) docker:desktop-linux
[+] Running 6/6✔ Network elastic-start-local_default Created 0.0s ✔ Volume "elastic-start-local_dev-elasticsearch" Created 0.0s ✔ Volume "elastic-start-local_dev-kibana" Cre... 0.0s ✔ Container es-local-dev Healthy 2.1s ✔ Container kibana_settings Exited 0.1s ✔ Container kibana-local-dev Healthy 0.0s 🎉 Congrats, Elasticsearch and Kibana are installed and running in Docker!🌐 Open your browser at http://localhost:5601Username: elasticPassword: wuRd1MYj🔌 Elasticsearch API endpoint: http://localhost:9200
🔑 API key: MDBQWUpKTUJDMldQM2xRTVlqM1A6N2FyUE9WRVpSSFc4d25QNWZTYThMQQ==Learn more at https://github.com/elastic/start-local
我们首先查看一下生成的文件:
$ pwd
/Users/liuxg/data/start-local
$ ls
elastic-start-local
它创建了一个叫做 elastic-start-local 的目录。我们进入该目录进行查看:
$ cd elastic-start-local/
$ ls -al
total 40
drwxr-xr-x 7 liuxg staff 224 Nov 13 17:24 .
drwxr-xr-x 3 liuxg staff 96 Nov 13 17:24 ..
-rw-r--r-- 1 liuxg staff 419 Nov 13 17:26 .env
-rw-r--r-- 1 liuxg staff 2434 Nov 13 17:24 docker-compose.yml
-rwxr-xr-x 1 liuxg staff 1450 Nov 13 17:24 start.sh
-rwxr-xr-x 1 liuxg staff 189 Nov 13 17:24 stop.sh
-rwxr-xr-x 1 liuxg staff 1099 Nov 13 17:24 uninstall.sh
从上面,我们可以看到所生成的文件。我们来查看一下 .env 的文件:
.env
ES_LOCAL_VERSION=8.15.3
ES_LOCAL_CONTAINER_NAME=es-local-dev
ES_LOCAL_PASSWORD=wuRd1MYj
ES_LOCAL_URL=http://localhost:9200
ES_LOCAL_PORT=9200
ES_LOCAL_HEAP_INIT=128m
ES_LOCAL_HEAP_MAX=2g
KIBANA_LOCAL_CONTAINER_NAME=kibana-local-dev
KIBANA_LOCAL_PORT=5601
KIBANA_LOCAL_PASSWORD=N6IOHrSA
KIBANA_ENCRYPTION_KEY=V2Q2IKYiH5YgXgeXuokzBuuZ1wuB7ygE
ES_LOCAL_API_KEY=MDBQWUpKTUJDMldQM2xRTVlqM1A6N2FyUE9WRVpSSFc4d25QNWZTYThMQQ==
从上面的配置中,我们可以看出来,修改 ES_LOCAL_VERSION 可以改变 Elasticsearch 及 Kibana 的版本。在上面,我们也可以看到它配置的密码 ES_LOCAL_PASSWORD。
我们使用如下的命令来进行查看:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4b50f85bddd3 docker.elastic.co/kibana/kibana:8.15.3 "/bin/tini -- /usr/l…" 7 minutes ago Up 7 minutes (healthy) 127.0.0.1:5601->5601/tcp kibana-local-dev
a89056d65008 docker.elastic.co/elasticsearch/elasticsearch:8.15.3 "/bin/tini -- /usr/l…" 7 minutes ago Up 7 minutes (healthy) 127.0.0.1:9200->9200/tcp, 9300/tcp es-local-dev
我们可以看到有两个容器正在运行中。
我们在浏览器中打开 http://localhost:9200:
我们也可以使用如下的命令来进行查看:
$ curl -u elastic:wuRd1MYj http://localhost:9200
{"name" : "a89056d65008","cluster_name" : "docker-cluster","cluster_uuid" : "T4kEFaxvTkC8R9j4wW4A3w","version" : {"number" : "8.15.3","build_flavor" : "default","build_type" : "docker","build_hash" : "f97532e680b555c3a05e73a74c28afb666923018","build_date" : "2024-10-09T22:08:00.328917561Z","build_snapshot" : false,"lucene_version" : "9.11.1","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}
我们也可以在浏览器中打入地址 http://localhost:5601:
我们成功地进入到 Kibana 的界面了。
警告:HTTPS 已禁用,并且对 Elasticsearch 使用基本身份验证。此配置仅用于本地测试。出于安全考虑,Elasticsearch 和 Kibana 只能通过 localhost 访问。
API keys
生成 Elasticsearch 的 API 密钥并将其作为 ES_LOCAL_API_KEY 存储在 .env 文件中。使用此密钥通过 Elastic SDK 或 REST API 连接到 Elasticsearch。
在 elastic-start-local 文件夹中使用 curl 检查与 Elasticsearch 的连接:
source .env
curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}"
$ source .env
$ curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}"
{"name" : "a89056d65008","cluster_name" : "docker-cluster","cluster_uuid" : "T4kEFaxvTkC8R9j4wW4A3w","version" : {"number" : "8.15.3","build_flavor" : "default","build_type" : "docker","build_hash" : "f97532e680b555c3a05e73a74c28afb666923018","build_date" : "2024-10-09T22:08:00.328917561Z","build_snapshot" : false,"lucene_version" : "9.11.1","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}
启动及停止服务
你可以使用 elastic-start-local 文件夹中提供的 start 和 stop 命令。
要停止 Elasticsearch 和 Kibana Docker 服务,请使用 stop 命令:
cd elastic-start-local
./stop.sh
$ pwd
/Users/liuxg/data/start-local/elastic-start-local
$ ls
docker-compose.yml start.sh stop.sh uninstall.sh
$ ./stop.sh
[+] Stopping 3/3✔ Container kibana-local-dev Stopped 0.2s ✔ Container kibana_settings Stopped 0.0s ✔ Container es-local-dev Stopped 2.6s
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
要启动 Elasticsearch 和 Kibana Docker 服务,请使用 start 命令:
cd elastic-start-local
./start.sh
$ pwd
/Users/liuxg/data/start-local/elastic-start-local
$ ls
docker-compose.yml start.sh stop.sh uninstall.sh
$ ./start.sh
[+] Building 0.0s (0/0) docker:desktop-linux
[+] Running 3/3✔ Container es-local-dev Healthy 0.0s ✔ Container kibana_settings Exited 0.0s ✔ Container kibana-local-dev Healthy 0.0s
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4b50f85bddd3 docker.elastic.co/kibana/kibana:8.15.3 "/bin/tini -- /usr/l…" 19 minutes ago Up 23 seconds (healthy) 127.0.0.1:5601->5601/tcp kibana-local-dev
a89056d65008 docker.elastic.co/elasticsearch/elasticsearch:8.15.3 "/bin/tini -- /usr/l…" 19 minutes ago Up 34 seconds (healthy) 127.0.0.1:9200->9200/tcp, 9300/tcp es-local-dev
从上面,我们可以看到容器已经被成功运行。
如果你需要配置 HTTPS,你需要阅读文章 “如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch”。
相关文章:

使用 start-local 脚本在本地运行 Elasticsearch
警告:请勿将这些说明用于生产部署 本页上的说明仅适用于本地开发。请勿将此配置用于生产部署,因为它不安全。请参阅部署选项以获取生产部署选项列表。 使用 start-local 脚本在 Docker 中快速设置 Elasticsearch 和 Kibana 以进行本地开发或测试。 此设…...

计算机网络:概述知识点及习题练习
网课资源: 湖科大教书匠 1、因特网 网络之间需要路由器进行互联,互联网是网络的网络,因特网是最大的互联网,连接到网络的设备称为主机,一般不叫路由器为主机。 因特网发展:ARPNET->三级结构因特网&am…...

python蓝桥杯刷题2
1.最短路 题解:这个采用暴力枚举,自己数一下就好了 2.门牌制作 题解:门牌号从1到2020,使用for循环遍历一遍,因为range函数无法调用最后一个数字,所以设置成1到2021即可,然后每一次for循环&…...

在openi平台 基于华为顶级深度计算平台 openmind 动手实践
大家可能一直疑问,到底大模型在哪里有用。 本人从事的大模型有几个方向的业务。 基于生成式语言模型的海事航行警告结构化解析。 基于生成式语言模型的航空航行警告结构化解析。 基于生成式生物序列(蛋白质、有机物、rna、dna、mrna)的多模态…...

KF UKF
我需要Kalman 现在,主要是用来处理检测问题情况里的漏检,因为模拟了一段2D, (x,y)的数据,为了看效果,画的线尽量简单一点: import numpy as np import matplotlib.pyplo…...

中伟视界:AI智能分析算法如何针对非煤矿山的特定需求,提供定制化的安全生产解决方案
非煤矿山智能化改造,除了政策文件,上级监管单位需要安装的AI智能分析算法功能之外的,矿方真正关心的,能解决矿方安全生产隐患的AI智能分析算法功能有哪些呢? 经过与矿方的现场交流沟通,收集第一现场人员对安…...

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失
Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失 Addressable Play Mode Script加载模式 选择 Use Existiing Build 1.Unity 切换到 PC 平台,执行 Addressable Build 运行,加载 bundle 内的预制体 显示正常 2.Unit…...

Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 优化场景定义
Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 & 优化场景定义 前言一、功能文件路径的配置1.1 全局设置功能文件路径1.2. 在场景中覆盖路径 二、避免重复输入功能文件名2.1 使用方法2.2 functools.partial 的背景 三、应用场景总…...

rust逆向初探
rust 逆向葵花宝典 rust逆向技巧 rust逆向三板斧: [!NOTE] 快速定位关键函数 (真正的main函数):观察输出、输入,字符串搜索,断点等方法。定位关键 加密区 :根据输入的flag,打硬件断点,快速捕获…...
【Linux】apt 关闭 ssl 认证
【注意】apt 关闭 ssl 认证可能会引起软件安装风险,请尽量避免关闭。 执行以下命令可以实现全局关闭 sll 验证。 echo Acquire::https::Verify-Peer "false"; >> /etc/apt/apt.conf.d/99disable-signature-verificationecho Acquire::https::Verif…...
【算法】P5018 对称二叉树
题目 P5018 对称二叉树 https://www.luogu.com.cn/problem/P5018 代码 思路:领接表存储二叉树,unordered_map存储各个节点对应的值。dfs遍历一下各个子树的大小个数,再写个递归判断是否是对称二叉树,如果是就更新全局答案。 #…...

Unifying Top-down and Bottom-up Scanpath Prediction Using Transformers
Abstract 大多数视觉注意力模型旨在预测自上而下或自下而上的控制,这些控制通过不同的视觉搜索和自由观看任务进行研究。本文提出了人类注意力变换器(Human Attention Transformer,HAT),这是一个能够预测两种形式注意力…...

JavaSE(十四)——文件操作和IO
文章目录 文件操作和IO文件相关概念Java操作文件文件系统操作文件内容操作字节流FileOutputStreamFileInputStream代码演示 字符流FileWriterFileReader代码演示 缓冲流转换流 案例练习 文件操作和IO 文件相关概念 文件 通常指的是包含用户数据的文件,如文本文件、…...
【视觉SLAM】4b-特征点法估计相机运动之PnP 3D-2D
文章目录 0. 前言1. PnP求解1.1 直接线性变换DLT1.2 P3P1.3 光束平差法BA2. 实现0. 前言 透视n点(Perspective-n-Point,PnP)问题是计算机视觉领域的经典问题,用于求解3D-2D的点运动。换句话说,当知道 N N N个世界坐标系中3D空间点的坐标以及它们在图像上的投影点像素坐标…...
android 性能分析工具(04)Asan 内存检测工具
1 Asan工具简介 1.1 Asan工具历史背景 AddressSanitizer(ASan)最初由Google开发,并作为LLVM项目的一部分。ASan的设计目的是帮助开发者检测并修复内存错误,如堆栈和全局缓冲区溢出、使用已释放的内存等,这些问题可能…...
html中select标签的选项携带多个值
搜索参考资料:SELECT标签中的选项可以携带多个值吗? 【摘抄】: 它可能有一个select选项中的多个值,如下所示。 <select id"ddlEmployee" class"form-control"> <option value"">-- S…...
Lambda表达式如何进行调试
一、概述 Java8提供了lambda表达式,方便我们对数据集合进行操作,我们使用lambda表达式的时候,是不是有这样的疑问,如何对执行过程中的中间数据进行调试呢? 二、例子 在下面的例子中,我们实现随机最多生成…...

C++ —— 剑斩旧我 破茧成蝶—C++11
江河入海,知识涌动,这是我参与江海计划的第2篇。 目录 1. C11的发展历史 2. 列表初始化 2.1 C98传统的{} 2.2 C11中的{} 2.3 C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期…...

HTML5好看的音乐播放器多种风格(附源码)
文章目录 1.设计来源1.1 音乐播放器风格1效果1.2 音乐播放器风格2效果1.3 音乐播放器风格3效果1.4 音乐播放器风格4效果1.5 音乐播放器风格5效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者&…...

C++设计模式行为模式———迭代器模式中介者模式
文章目录 一、引言二、中介者模式三、总结 一、引言 中介者模式是一种行为设计模式, 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。 中介者模式可以减少对象之间混乱无序的依赖关系&…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...