【mac】docker安装单节点elastcsearch
前言
本文通过实操记录macbook M1pro上安装elasticsearch和kibana7.9.0的详细过程
安装elasticsearch
1、拉取dicker镜像
docker pull elasticsearch:7.9.1
镜像拉取完成
2、创建网络
构建elasticsearch和kinbana的局域网,方便后续操作
docker network create itmentu-net
3、启动容器
docker run -d --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" -v /Users/tomcat/data/elasticsearch/logs:/usr/share/elasticsearch/logs -v /Users/tomcat/data/elasticsearch/data:/usr/share/elasticsearch/data -v /Users/tomcat/data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /Users/tomcat/data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --network itmentu-net elasticsearch:7.9.0
以上参数介绍如下:
-d 后台运行
-name 给容器起个名称
-p 本机与容器映射的端口
-e 指定运行时参数,此处指定jvm堆内存大小
-v 挂载路径
--network itmentu-net 指定网络配置
[!WARNING]
如果你是mac电脑,并且安装了docker desktop,挂载目录需要通过一下docker desktop中的设置页面查看,需要挂载下图共享目录
3、访问elasticsearch
curl "http://localhost:9200"
以上,成功部署单节点elasticsearch
[!WARNING]
如果出现
curl: (56) Recv failure: Connection reset by peer
,查看elasticsearch.yml的内容是不是为空;出现curl: (7) Failed to connect to localhost port 9200 after 0 ms: Couldn't connect to server
,大概率是elasticsearch.yml的配置文件有问题,将下面的内容复制到elasticsearch.yml即可
# 设置支持Elasticsearch-Head
http.cors.enabled: true
http.cors.allow-origin: "*"
# 设置集群Master配置信息
cluster.name: myEsCluster
# 节点的名字,一般为Master或者Slave
# node.name: master
# 节点是否为Master,设置为true的话,说明此节点为Master节点
# node.master: true
# 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
network.host: 0.0.0.0
# 设置对外服务的Http端口,默认为 9200,可以修改默认设置
# http.port: 9200
# 设置节点间交互的TCP端口,默认是9300
# transport.tcp.port: 9300
# 手动指定可以成为Master的所有节点的Name或者IP,这些配置将会在第一次选举中进行计算
# cluster.initial_master_nodes: ["master"]
安装kibnan
1、拉取镜像
docker pull docker.elastic.co/kibana/kibana:7.9.0
拉取elasticsearch官网的镜像,docker官网仓库没有arm64的镜像包
2、启动临时容器【防止挂载文件无法生成】
docker run -d --platform=linux/amd64 --name kibana -p 5601:5601 --network itmentu-net docker.elastic.co/kibana/kibana:7.9.0
--platform=linux/amd64
参数作用指定构建linux/amd64的容器,由于该版本没有完美兼容macbook的kibana,但是elasticsearch的版本又需要同版本的kibana
[!TIP]
解决方法:
1、通过以上方式,过程较为简单,但不保证性能,对于我来说,不追求性能
2、更换elasticsearch和kibana的版本
3、不使用docker搭建kibana,去官网下载arm64镜像包,自己进行配置
4、其他方式,由于技术菜,也不想寻找了…
3、生成配置文件到本地
mkdir -p /Users/tomcat/data/kibana/config
docker cp 78fedafc62f6:/usr/share/kibana/config /Users/tomcat/data/kibana/
修改配置文件
vim /Users/tomcat/data/kibana/config/kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0"
server.name: kibana
elasticsearch.hosts: [ "http://elasticsearch:9200" ] # 记得修改ip
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
4、生成新的容器
docker stop kibana
docker rm kibana
docker run -d --platform=linux/amd64 --name kibana -v /Users/tomcat/data/kibana/config:/usr/share/kibana/config -p 5601:5601 --network itmentu-net docker.elastic.co/kibana/kibana:7.9.0
5、访问kibana页面
如果访问不了,大概率是elastcsearch和kibana的通信之间有问题,可以参考本文kibana配置文件
至此,kibana安装完成
总结
安装过程中还是踩坑不少。另外,elasticsearch支持集群搭建、身份认证等功能,由于目前使用不上,就不进一步探究了
参考文档:
标签:Users,--,kibana,mac,elasticsearch,docker,data From: https://blog.csdn.net/2301_77968493/article/details/144318647