带你读《Elastic Stack 实战手册》之8:—— 3.4.1.1.安装Elasticsearch(本地及docker)(5)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之8:—— 3.4.1.1.安装Elasticsearch(本地及docker)(5)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署—— 3.4.1.1.安装Elasticsearch(本地及docker)(4) https://developer.aliyun.com/article/1231510


最简启动

 

docker-compose up --build(如果要后台运行可以加参数 -d,如果目录里有多个配置文件可以通过 -f 参数指定目标配置文件)

 

1、后台运行命令:docker-compose up -d --build

2、指定配置文件命令:docker-compose -f docker-compose.yml up -d --build

输出以下日志代表启动成功


[root@esteam7002 elasticsearch]# docker-compose up --build
Creating network "elasticsearch_default" with the default driver -> 初次启动创建专用网络
Creating volume "elasticsearch_data01" with local driver -> 初次启动创建专用存储
Creating es-node-01 ... done -> 创建ES节点
Attaching to es-node-01
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:28:05,581Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "version[7.10.1], pid[6], build[default/docker/1c34507e66d7db1211f66f3513706fdf548736aa/2020-12-05T01:00:33.671820Z], OS[Linux/3.10.0-1160.24.1.el7.x86_64/amd64], JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/15.0.1/15.0.1+9]" } -> 节点启动系统环境信息
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:28:05,584Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "JVM home [/usr/share/elasticsearch/jdk], using bundled JDK [true]" } -> 节点JVM使用信息
…… 中间省略
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:15,770Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "initialized" } -> 节点信息初始化
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:15,773Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "starting ..." } -> 节点启动开始
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:15,949Z", "level": "INFO", "component": "o.e.t.TransportService", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "publish_address {172.18.0.2:9300}, bound_addresses {[::]:9300}" } -> 节点集群内部数据传输接口开启
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:16,441Z", "level": "INFO", "component": "o.e.c.c.Coordinator", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "setting initial configuration to VotingConfiguration{s-6A5vqlQuKoZlyn-
TKdnA}" } -> 初始化投票配置
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:16,834Z", "level": "INFO", "component": "o.e.c.s.MasterService", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "elected-as-master ([1] nodes joined)[{es-node-01}{s-6A5vqlQuKoZlyn-TKdnA}{HD5TOEsDTUGWPFoR1pYUDg}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=1927176192, xpack.installed=true, transform.node=true, ml.max_open_jobs=20} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 1, version: 1, delta: master node changed {previous [], current [{es-node-01}{s-6A5vqlQuKoZlyn-TKdnA}{HD5TOEsDTUGWPFoR1pYUDg}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=1927176192, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}" } -> 同集群发现节点信息
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:17,047Z", "level": "INFO", "component": "o.e.c.c.CoordinationState", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "cluster UUID set to [QDGTOlDiTm-9JkJrpg9q2Q]" } -> 集群id初始化
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:17,241Z", "level": "INFO", "component": "o.e.c.s.ClusterApplierService", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "master node changed {previous [], current [{es-node-01}{s-6A5vqlQuKoZlyn-TKdnA}{HD5TOEsDTUGWPFoR1pYUDg}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=1927176192, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}, term: 1, version: 1, reason: Publication{term=1, version=1}" } -> 集群选主完成
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:17,315Z", "level": "INFO", "component": "o.e.h.AbstractHttpServerTransport", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "publish_address {172.18.0.2:9200}, bound_addresses {[::]:9200}", "cluster.uuid": "QDGTOlDiTm-9JkJrpg9q2Q", "node.id": "s-6A5vqlQuKoZlyn-TKdnA"  } -> 节点restful监听接口开启
es-node-01    | {"type": "server", "timestamp": "2021-04-19T13:29:17,316Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es-node-01", "message": "started", "cluster.uuid": "QDGTOlDiTm-9JkJrpg9q2Q", "node.id": "s-6A5vqlQuKoZlyn-TKdnA"  } -> 节点启动完成

ES 启动状态校验

 

同上


节点停机

 

1、docker-compose down(docker-compose -f docker-compose.yml down)

2、当出现以下日志表明节点停机成功


[root@esteam7002 elasticsearch]# docker-compose -f docker-compose.yml down
Stopping es-node-01 ... done
Removing es-node-01 ... done
Removing network elasticsearch_default

MacOS 环境

 

MacOS 系统其实是一个类 Unix 系统,所以大部分的命令、环境属性等都和 Unix 系统类似。

tar 包安装和上文提到的,在 Linux 系统中基于 tar 包安装的过程大致一样。

 

1、需要注意的是,MacOS 作为一个较为特殊的操作系统,也会有一个专门针对 MacOS 系统编译出来的安装包

2、路径上的主要区别为 Linux 系统的安装包被标记了 linux,MacOS 的安装包被标记了

darwin

3、https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-darwin-x86_64.tar.gz

 

brew 安装

 

通过命令 brew tap elastic/tap 将 Elastic 原厂的仓库地址加入 homebrew 的配置


brew tap elastic/tap
Updating Homebrew...
==> Tapping elastic/tap
Cloning into '/usr/local/Homebrew/Library/Taps/elastic/homebrew-tap'...
remote: Enumerating objects: 890, done.
remote: Counting objects: 100% (131/131), done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 890 (delta 80), reused 57 (delta 26), pack-reused 759
Receiving objects: 100% (890/890), 206.46 KiB | 310.00 KiB/s, done.
Resolving deltas: 100% (666/666), done.
Tapped 17 formulae (51 files, 327.7KB).
通过命令 brew install elastic/tap/elasticsearch-full 进行安装:
➜ ~ brew install elastic/tap/elasticsearch-full
==> Installing elasticsearch-full from elastic/tap
==> Downloading https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-darwin-x86_64.tar.gz?tap=elas
######################################################################## 100.0%
Warning: Tried to install empty array to /usr/local/etc/elasticsearch/jvm.options.d
==> codesign -f -s - /usr/local/Cellar/elasticsearch-full/7.12.1/libexec/modules/x-pack-ml/platform/darwin-x86_64/contr
==> find /usr/local/Cellar/elasticsearch-full/7.12.1/libexec/jdk.app/Contents/Home/bin -type f -exec codesign -f -s - {
==> Caveats
Data:    /usr/local/var/lib/elasticsearch/elasticsearch_chenchen/ -> 数据目录
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_chenchen.log -> 普通日志文件
Plugins: /usr/local/var/elasticsearch/plugins/ -> 插件目录
Config:  /usr/local/etc/elasticsearch/ -> 配置文件目录
To have launchd start elastic/tap/elasticsearch-full now and restart at login:
brew services start elastic/tap/elasticsearch-full
Or, if you don't want/need a background service you can just run:
elasticsearch
==> Summary
961 files, 503MB, built in 9 seconds


主要文件路径,也可以通过命令 brew info elasticsearch-full 查看(内容和安装日志类似)


➜ ~ brew info elasticsearch-full
elastic/tap/elasticsearch-full: stable 7.12.1
Distributed search & analytics engine
https://www.elastic.co/products/elasticsearch
Conflicts with:
elasticsearch
/usr/local/Cellar/elasticsearch-full/7.12.1 (960 files, 503MB) *
Built from source on 2021-05-14 at 23:45:38
From: https://github.com/elastic/homebrew-tap/blob/HEAD/Formula/elasticsearch-full.rb
==> Caveats
Data:    /usr/local/var/lib/elasticsearch/elasticsearch_chenchen/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_chenchen.log
Plugins: /usr/local/var/elasticsearch/plugins/
Config:  /usr/local/etc/elasticsearch/
To have launchd start elastic/tap/elasticsearch-full now and restart at login:
brew services start elastic/tap/elasticsearch-full
Or, if you don't want/need a background service you can just run:
elasticsearch


注意,通过常规方式安装 brew install elasticsearch 会安装 7.10.2,通过命令 brew info

elasticsearch 也可以得到相应的信息,但是这个版本的 ES 存在一些启动上的问题

 

所以还是建议通过原厂建议的 brew info elasticsearch-full 命令进行安装和测试,目前通过这个命令会安装 7.12 版本,和本文中其它的版本不太一致

 

这些路径可能会因为系统的不同而有些许不同,也可能会有 /Users/steven/working/sourcecode/homebrew/etc/elasticsearch/ 格式的情况



《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署—— 3.4.1.1.安装Elasticsearch(本地及docker)(6) https://developer.aliyun.com/article/1231508


 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
290 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
278 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
299 2
|
7月前
|
存储 安全 C++
Odoo 安装方式选择:源码安装 vs Docker
Odoo部署常采用源码编译或Docker容器化,但分别面临依赖复杂、版本风险和服务化难题,以及镜像臃肿和扩展受限的问题。Websoft9提出混合方案,融合两者优势:通过智能环境适配、三阶段部署流程(环境预检、混合模式选择、持久化配置)及声明式YAML配置,实现高效、灵活的双模运行时。此方案显著降低依赖冲突解决时间(从83分钟至0),生产环境构建耗时缩短至8分钟,并达100% CVE漏洞修复率,适合ERP定制开发与规模化部署的企业需求。
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
585 4
|
4月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
1534 0

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版