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
成功界面