使用 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.rhkb.cn/news/470609.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】TCP原理

tcp协议段格式 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;4 位 TCP 报头长度: 表示该 TCP 头部有多少个 32 位 bit(有多少个 4 字节); 所以TCP 头部最大长度是 15 * 4 6016 位校验和: 发送端填充, CRC 校验. 接收端校验不通过, 则认为数据有问题. 此处的检验和不光…

阿里巴巴通义灵码推出Lingma SWE-GPT:开源模型的性能新标杆

阿里巴巴通义灵码团队最近开源了一款名为Lingma SWE-GPT的自动化软件改进模型。这一模型在软件工程领域的应用中表现出色,首次在SWE-bench基准测试中达到了30.20%的解决率,这一成绩比Llama 3.1 405B高出22.76%,标志着开源模型在这一领域的重大…

MySQL Workbench导入数据比mysql命令行慢

1.数据量 包含2812979条数据的csv文件 2.myql命令行用LOAD DATA INFILE命令导入 耗时1分钟13秒 3.用MySQL Workbench导入 从第一天晚上22点到次日下午16点才导入了45万条数据 4.原因 MySQL Workbench导入csv数据是使用自带的python和一系列的python代码,而mys…

Redis高可用-主从复制

这里写目录标题 Redis主从复制主从复制过程环境搭建从节点配置常见问题主从模式缺点 Redis主从复制 虽然 Redis 可以实现单机的数据持久化,但无论是 RDB 也好或者 AOF 也好,都解决不了单点宕机问题,即一旦 redis 服务器本身出现系统故障、硬…

VMware虚拟机安装Win7专业版保姆级教程(附镜像包)

一、Win7镜像下载: 链接:https://pan.baidu.com/s/1tvN9hXCVngUzpIC6b2OGrA 提取码:a66H 此镜像为Win7专业版(收藏级镜像 已自用几年),官方纯净系统没有附带任何其他第三方软件。 二、配置虚拟机 1.创建新的虚拟机。 这里我们以最新的VMware…

【C++】C++11特性(上)

✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:C 个人主页:Celias blog~ 目录 一、列表初始化 二、std::initializer_list 三、右值引用和移…

jmeter常用配置元件介绍总结之定时器

系列文章目录 安装jmeter jmeter常用配置元件介绍总结之定时器 5.定时器5.1.固定定时器5.2.统一随机定时器5.3.Precise Throughput Timer5.4.Constant Throughput Timer5.5.Synchronizing Timer5.6.泊松随机定时器5.7.高斯随机定时器 5.定时器 5.1.固定定时器 固定定时器Cons…

【含开题报告+文档+PPT+源码】基于Spring Boot智能综合交通出行管理平台的设计与实现

开题报告 随着城市规模的不断扩大和交通拥堵问题的日益严重,综合交通出行管理平台的研究与实现显得尤为重要。现代城市居民对于出行的需求越来越多样化,对于交通信息的获取和处理能力也提出了更高的要求。传统的交通管理方式已经难以满足这些需求&#…

并发基础:(淘宝笔试题)三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC....”的字符串【举一反三】

🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷于探索一些框架源码和算法技巧奥秘,还乐于分享这些宝贵的知识和经验。 💡 无论你是刚刚踏…

万字长文解读深度学习——ViT、ViLT、DiT

文章目录 🌺深度学习面试八股汇总🌺ViT1. ViT的基本概念2. ViT的结构与工作流程1. 图像分块(Image Patch Tokenization)2. 位置编码(Positional Encoding)3. Transformer 编码器(Transformer En…

嵌入式硬件杂谈(一)-推挽 开漏 高阻态 上拉电阻

引言:对于嵌入式硬件这个庞大的知识体系而言,太多离散的知识点很容易疏漏,因此对于这些容易忘记甚至不明白的知识点做成一个梳理,供大家参考以及学习,本文主要针对推挽、开漏、高阻态、上拉电阻这些知识点的学习。 目…

使用jmeter查询项目数据库信息,保存至本地txt或excel文件1108

知识点1:使用jmeter把项目数据库的数据导出,并使用jmeter导出数据库的数据 步骤1:使用jmeter把项目数据库的数据导出 (1)测试计划-添加- 线程组setUp线程组 setUp线程组:添加-配置元件-JDBC Connection …

Flink_DataStreamAPI_输出算子Sink

Flink_DataStreamAPI_输出算子Sink 1连接到外部系统2输出到文件3输出到Kafka4输出到MySQL(JDBC)5自定义Sink输出 Flink作为数据处理框架,最终还是要把计算处理的结果写入外部存储,为外部应用提供支持。 1连接到外部系统 Flink的D…

01-Ajax入门与axios使用、URL知识

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

HarmonyOS Next星河版笔记--界面开发(4)

布局 1.1.线性布局 线性布局通过线性容器column和row创建 column容器:子元素垂直方向排列row容器:子元素水平方向排列 1.1.1.排布主方向上的对齐方式(主轴) 属性:.justifyContent(枚举FlexAlign&#…

webpack loader全解析,从入门到精通(10)

webpack 的核心功能是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定的文件中。更多复杂的功能需要借助 webpack loaders 和 plugins 来完成。 1. 什么是 Loader Loader 本质上是一个函数,它的作用是将某个源码字符串转换成…

如何用WordPress和Shopify提升SEO表现?

选择合适的建站程序对于SEO优化非常重要。目前,WordPress和Shopify是两种备受推崇的建站平台,各有优势。 WordPress最大的优点是灵活性。它支持大量SEO插件,帮助你调整元标签、生成站点地图、优化内容结构等。这些功能让你能够轻松地提升网站…

ArcGIS Pro属性表乱码与字段名3个汉字解决方案大总结

01 背景 我们之前在使用ArcGIS出现导出Excel中文乱码及shp添加字段3个字被截断的情况,我们有以下应对策略: 推荐阅读:ArcGIS导出Excel中文乱码及shp添加字段3个字被截断? 那如果我们使用ArGIS Pro出现上述问题,该如何…

24/11/13 算法笔记<强化学习> DQN算法

DQN算法的主要特点包括: 神经网络代替Q表:在传统的Q学习中,需要维护一个Q表来存储每个状态-动作对的Q值。而在DQN中,使用神经网络来近似这些Q值,这使得算法能够处理具有大量状态和动作的问题。 经验回放(E…

Blender进阶:图像纹理节点和映射节点

13 图像纹理节点 13.1 图像纹理节点 图像纹理节点,用于加载一张贴图 加载图片后,可以从图片上取得一个像素点。 输入:一个坐标矢量 输出:该坐标的像素颜色 演示:使用合并xyz节点来指定坐标。。 13.2 多种贴图 一…