使用 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”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/14697.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Day14 - CV项目实战:SAR飞机检测识别

论文原文: ​​​​​​SAR-AIRcraft-1.0:高分辨率SAR飞机检测识别数据集 - 中国知网 第一排的7张图片,普通人肉眼很难看出对应的是第二排的飞机。 还有上图里标注的飞机,外行根本看不明白,为什么这些是,其他的不是。…

Threejs 材质贴图、光照和投影详解

1. 材质和贴图 材质(Material)定义了物体表面的外观,包括颜色、光泽度、透明度等。贴图(Textures)是应用于材质的图像,它们可以增加物体表面的细节和真实感。 1.1材质类型 MeshBasicMaterial&#xff1a…

笔记整理—linux驱动开发部分(11)中断上下文

触摸屏分为两种,一种为电阻式触摸屏,另一种为电容式触摸屏。电阻式触摸屏(x、x-、y、y-、AD)有两种接口,一种为SOC自带的接口(miscinput或platform),第二种为外部IC,通过…

网络编程示例之开发板测试

编译elf1_cmd_net程序 (一)设置交叉编译环境。 (二)查看elf1_cmd_net文件夹Makefile文件。查看当前编译规则,net_demo是编译整个工程,clean是清除工程。 (三)输入命令。 &#xff0…

【GD32】(一) 开发方式简介及标准库开发入门

文章目录 0 前言1 开发方式选择2 标准库模板的创建3 遇到的问题和解决方法 0 前言 因为项目关系,需要使用GD32。之前对此早有耳闻,知道这个是一个STM32的替代品,据说甚至可以直接烧录STM32的程序(一般是同型号)&#x…

Java NIO 核心知识总结

NIO 简介 在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。也就是说,当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需…

Spring如何解决循环依赖的问题

Spring 如何解决循环依赖的问题 Spring 是通过三级缓存来解决循环依赖问题,第一级缓存里面存储完整的Bean实例,这些实例是可以直接被使用的,第二级缓存存储的是实例化后但是还没有设置属性值的Bean实例,也就是Bean里面的 依赖注入…

深度图变换器的新突破:DeepGraph

人工智能咨询培训老师叶梓 转载标明出处 在图变换器领域,尽管其全局注意力机制在图结构数据处理上显示出了巨大潜力,但现有的图变换器模型却普遍较浅,通常不超过12层。这一现象引发了学者们对于“增加层数是否能进一步提升图变换器性能”的深…

单体架构 IM 系统之 Server 节点状态化分析

基于 http 短轮询模式的单体架构的 IM 系统见下图,即客户端通过 http 周期性地轮询访问 server 实现消息的即时通讯,也就是我们前面提到的 “信箱模型”。“信箱模型” 虽然实现非常容易,但是消息的实时性不高。 我们在上一篇文章&#xff08…

阿里云通义大模型团队开源Qwen2.5-Coder:AI编程新纪元

🚀 11月12日,阿里云通义大模型团队宣布开源通义千问代码模型全系列,共6款Qwen2.5-Coder模型。这些模型在同等尺寸下均取得了业界最佳效果,其中32B尺寸的旗舰代码模型在十余项基准评测中均取得开源最佳成绩,成为全球最强…

计算机网络(8)数据链路层之子层

上一篇已经讲到数据链路层可以分为两个子层,这次将重点讲解子层的作用和ppp协议 数据链路层的子层 数据链路层通常被分为两个子层: 逻辑链路控制子层(LLC,Logical Link Control): LLC子层负责在数据链路…

【操作系统】输入/输出(I/O)管理

王道笔记 一、I/O管理描述 1.1 I/O设备的概念和分类 1.1.1 什么是I/O设备 “I/O”就是“输入/输出”(Input/Output) I/O设备机会可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。下图就…

Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV买卖股票的最佳时机III309.买卖股票的最佳时机含冷冻期

Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV&&买卖股票的最佳时机III&&309.买卖股票的最佳时机含冷冻期 动态规划应该如何学习?-CSDN博客 本次题解参考自灵神的做法,大家也多多支持灵神的题解 买卖股票的最佳时机【…

Koa进阶:掌握中间件和参数校验的艺术

目录 一、首先下载依赖 二、在index.js中引入koa-parameter,一般挂载这个中间件时会放在注册请求体的后面 三、使用实例 四、如果跟我们所需求的参数不同,返回结果直接会返回422 koa-parameter一般是用来校验请求传过来的参数是否是自己所需要的的 G…

opencv(c++)----图像的读取以及显示

opencv(c)----图像的读取以及显示 imread: 作用:读取图像文件并将其加载到 Mat 对象中。参数: 第一个参数是文件路径,可以是相对路径或绝对路径。第二个参数是读取标志,比如 IMREAD_COLOR 表示以彩色模式读取图像。 返回值&#x…

git config是做什么的?

git config是做什么的? git config作用配置级别三种配置级别的介绍及使用,配置文件说明 使用说明git confi查看参数 默认/不使用这个参数 情况下 Git 使用哪个配置等级? 一些常见的行为查看配置信息设置配置信息删除配置信息 一些常用的配置信…

【计算机网络】【传输层】【习题】

计算机网络-传输层-习题 文章目录 10. 图 5-29 给出了 TCP 连接建立的三次握手与连接释放的四次握手过程。根据 TCP 协议的工作原理,请填写图 5-29 中 ①~⑧ 位置的序号值。答案技巧 注:本文基于《计算机网络》(第5版)吴功宜、吴英…

【二叉搜素树】——LeetCode二叉树问题集锦:6个实用题目和解题思路

文章目录 计算布尔二叉树的值求根节点到叶节点的数字之和二叉树剪枝验证二叉搜索树二叉搜索树中第K小的元素二叉树的所有路径 计算布尔二叉树的值 解题思路: 这是一个二叉树的布尔评估问题。树的每个节点包含一个值,其中叶子节点值为 0 或 1&#xff0…

2023年MathorCup数学建模A题量子计算机在信用评分卡组合优化中的应用解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 A题 量子计算机在信用评分卡组合优化中的应用 原题再现: 在银行信用卡或相关的贷款等业务中,对客户授信之前,需要先通过各种审核规则对客户的信用等级进行评定,通过评定后的客户才能…

嵌入式开发套件(golang版本)

1. watchdog(软件看门狗:守护升级) 2. gate(主程序) 3. web(api版本 升级包) OTA 升级流程 watchdog启动后检查守护进程gate是否正在运行,如果没有,api对比版本号&am…