docker部署Elasticsearch和Kibana

1.Elasticsearch和Kibana介绍

1.1什么是Elasticsearch?

Elasticsearch 是一个开源的分布式搜索和分析引擎,用于处理大规模数据的实时搜索、分析和存储。它构建在Apache Lucene搜索引擎库的基础上,提供了一个RESTful API和易于使用的工具,使得在大数据量情况下进行搜索和分析变得高效和简单。

1.2为什么使用Elasticsearch?

Elasticsearch以其强大的搜索、分析和实时处理能力,以及开源、灵活和高可用性的特点,成为了处理大数据量和复杂数据分析的首选工具之一。

1.3Kibana的作用

Kibana 是一个开源的数据可视化工具,专为Elasticsearch设计,用于搜索、查看、分析和交互地操作存储在Elasticsearch索引中的数据。它提供了强大的图形化界面,使用户能够实时地对数据进行分析和理解,并通过各种可视化手段展示数据洞察。

2.使用docker部署Elasticsearc

2.1拉取Elasticsearc镜像

docker pull elasticsearch:7.12.1 #可将7.12.1版本号更改为自己需要的版本

2.2创建网络

创建网络,让es和kibana容器互联。

docker network create es-net

2.3创建单点es容器

docker run -d \
  --name es \
  --restart=always \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -e "discovery.type=single-node" \
  -v es-data:/root/elasticsearch/data \  #可以自己指定地址
  -v es-plugins:/root/elasticsearch/plugins \ #可以自己指定地址
  --privileged \
  --network es-net \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.12.1

2.3.1指令解析

docker run -d: 启动一个后台运行的容器。
--name es: 将容器命名为 es。
--restart=always: 如果容器停止,Docker 将自动重新启动容器。
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m": 设置 Elasticsearch 的 Java 虚拟机选项,这里设置初始堆内存 -Xms 为 512MB,最大堆内存 -Xmx 也为 512MB。
-e "discovery.type=single-node": 设置 Elasticsearch 的发现类型为单节点模式,适用于单个节点的配置。
-v es-data:/root/elasticsearch/data: 挂载名为 es-data 的 Docker 数据卷到容器内的 /root/elasticsearch/data 目录,用于持久化存储 Elasticsearch 的数据。es-data 可以在运行命令前使用 docker volume create es-data 创建。
-v es-plugins:/root/elasticsearch/plugins: 挂载名为 es-plugins 的 Docker 数据卷到容器内的 /root/elasticsearch/plugins 目录,用于安装和存储 Elasticsearch 的插件。
--privileged: 赋予容器特权,这在某些情况下可能是必需的,例如访问某些系统资源或者执行一些特权操作。
--network es-net: 将容器连接到名为 es-net 的 Docker 网络,这允许容器与同一网络中的其他容器进行通信。
-p 9200:9200: 将容器的 9200 端口映射到宿主机的 9200 端口,这是 Elasticsearch 的 HTTP REST API 默认端口。
-p 9300:9300: 将容器的 9300 端口映射到宿主机的 9300 端口,这是 Elasticsearch 的节点间通信端口。
elasticsearch:7.12.1: 指定要运行的 Docker 镜像,这里使用的是 Elasticsearch 版本 7.12.1。

2.4启动elasticsearch

docker start es

使用以下指令查看docker中是否存在es

docker ps

3.使用docker部署kibana

3.1 拉取kibana镜像

docker pull kibana:8.6.0 #可更改版本号

3.3 部署kibana,创建kibana容器

docker run -d \
--name kibana \
--restart=always \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

指令解析

-e ELASTICSEARCH_HOSTS=http://es:9200: 设置 Kibana 连接的 Elasticsearch 地址为 http://es:9200。这里的 es 是 Elasticsearch 容器的名称,Docker 会通过网络解析到实际的 IP 地址。
--network=es-net: 将容器连接到名为 es-net 的 Docker 网络,确保 Kibana 能够与 Elasticsearch 容器通信。
 

 3.4 测试Kibana是否安装成功

打开浏览器 访问虚拟机地址+端口号

http://192.168.xxx.xxx:5601

成功界面

docker部署Elasticsearch和Kibana_第1张图片

你可能感兴趣的:(docker,docker,elasticsearch,容器)