使用 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++设计模式行为模式———迭代器模式中介者模式
文章目录 一、引言二、中介者模式三、总结 一、引言 中介者模式是一种行为设计模式, 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。 中介者模式可以减少对象之间混乱无序的依赖关系&…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
