1、Docker账号
可以申请一个自己的
Docker
账号
2、M1
芯片 Mac安装Docker
进入官网下载M1
芯片的 桌面版Docker
2.1、配置Docker,镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:hub-mirror.c.163.com。
在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
// 仅供参考
{
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
},
"features": {
"buildkit": true
},
"experimental": true,
"registry-mirrors": [
"https://0wg8f6sb.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
3、安装镜像
3.1、Docker官网查找并安装支持M1
的 ElasticSearch
镜像
因为我是M1芯片的Mac,其他架构的请忽略,无脑安装即可!
下载安装Docker后,修改内存,不然elasticsearch
会自动退出,当然也可以不调,下面👇有说明原因和解决方法!
注意:
ElasticSearch
是使用Java编写的,默认启动占用2G的内存空间
,所以注意在启动时,如果仅测试使用,可以指定参数限制分配的内存,-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
拷贝完镜像后安装即可,安装成功如下图:
安装&启动 ElasticSearch 7.16.2
1. 搜索(M1芯片兼容性问题,注意查看)
docker search elasticsearch
或者在官网搜索
2. 从官网搜索拷贝的下载命令
docker pull elasticsearch
下载指定版本 7.16.2
docker pull elasticsearch:7.16.2
3. 启动ElasticSearch,最后一个参数:e082d8ac7e5e(是上面截图中的image id)
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 e082d8ac7e5e
# 启动命令,参数简单说明
# -d:后台运行
# -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
4. 查看启动的容器
docker ps
首次启动👁验证失败,排查日志
1、查看所有的容器: docker ps -a
2、根据 ElasticSearch的容器ID
查看此容器日志:docker logs 35771ffd2bf8
...... 省略一万字,❌错误原因在最后,自行翻译,大概意思有几个默认设置没有配置,需要至少配置一个!!! ......
{"type": "server", "timestamp": "2021-12-22T17:36:39,210Z", "level": "INFO", "component": "o.e.b.BootstrapChecks", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "bound or publishing to a non-loopback address, enforcing bootstrap checks" }
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
{"type": "server", "timestamp": "2021-12-22T17:36:39,226Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "stopping ..." }
{"type": "server", "timestamp": "2021-12-22T17:36:39,236Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "stopped" }
{"type": "server", "timestamp": "2021-12-22T17:36:39,236Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "closing ..." }
{"type": "server", "timestamp": "2021-12-22T17:36:39,243Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "closed" }
{"type": "server", "timestamp": "2021-12-22T17:36:39,245Z", "level": "INFO", "component": "o.e.x.m.p.NativeController", "cluster.name": "docker-cluster", "node.name": "35771ffd2bf8", "message": "Native controller process has stopped - no new native processes can be started" }
3、删除一个容器(docker rm 容器id): docker rm 35771ffd2bf8
4、修改启动命令,添加缺失参数: "discovery.type=single-node"
# 说明:如果您在本地运行 Elasticsearch(单个节点)或仅在云上使用单个节点,则只需在启动时加上
# "discovery.type=single-node" 即可,以避免生产检查,命令如下
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 --name ES01 e082d8ac7e5e
5、运行上述修改后的命令启动成功!
启动成功后,验证-浏览器输入:http://10.211.55.5:9200/\ 显示如下即为成功
其他:安装Kibana
、配置elasticsearch的ik分词器
等这里就不赘述,可自行查阅资料学习
后续待补充…
最后喜欢的小伙伴,记得关注收藏哦!😏🍭😘
————————————————
版权声明:本文为CSDN博主「Mr_温少」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/qq_28867949…