淘东电商项目(38) -Docker下安装ES&Kibana(一次填完所有的坑)

简介: 淘东电商项目(38) -Docker下安装ES&Kibana(一次填完所有的坑)

引言

本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

接下来准备讲解商品搜索,商品搜索用到了ES,所以本文先讲解在Docker下搭建ES与ES的可视化工具Kibana。ELK(Elastic+Logstash+Kibana)在之前《分布式专栏》已经讲过,不过环境是在Linux下搭建的,有兴趣的同学可以阅读:

本文目录结构:

l____引言

l____ 1.docker下安装ElasticSearch

l________ 1.1解决跨域问题

l________ 1.2安装IK分词器

l____ 2.docker下安装Kibana

l____ 总结

注意:

1. 虚拟机内存建议在3.5G以上,测试前先关闭虚拟机防火墙!

2. Elasticsearch版本号、Kibana版本号以及IK分词器版本号必须一致!

PS:跑起ES和ElasticSearch占内存3.4G,如下:

1.docker下安装ElasticSearch

Docker的安装教程在本文就不再讲解了,可以参考我之前写的博客《Docker专栏》。下面来讲解在docker下安装ES。

1.调高JVM线程数限制数量(一定要先设置!)

vim /etc/sysctl.conf
# 添加这个
vm.max_map_count=262144 
# 保存后执行这个命令
sysctl -p

2.下载ES镜像

docker pull elasticsearch

如果报错如下,参考我的博客解决:https://yanglinwei.blog.csdn.net/article/details/105043400

3.查看镜像(注意下一步脚本用到版本号):

4.启动ES

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.6.1

5.浏览器访问:http://你的ip:9200/,可以看到访问成功。

1.1 解决跨域

1.修改配置,解决跨域访问问题

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml

在elasticsearch.yml的文件末尾加上:

http.cors.enabled: true
http.cors.allow-origin: "*"

2.保存退出后,重启容器:

exit
docker restart elasticsearch

1.2 安装IK分词器

elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。ik分词器地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

1.进入容器

docker exec -it elasticsearch /bin/bash

2.下载安装ik分词器

cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
exit
docker restart elasticsearch

3.重启ES

exit
docker restart elasticsearch

2.docker下安装Kibana

1.docker 拉取kibana镜像:

docker pull kibana:7.6.1

2.启动kibana

docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.6.1

3.启动耐心等候几分钟,浏览器输入:http://yourip:5601/app/kibana,可以看到Kibana成功启动。

总结

本文主要讲解在Docker下安装ES和Kibana,里面有很多的坑,需要慢慢填。

最后附上几个常用的docker的命令:

查看容器日志:

  • docker logs -f 容器名

进入容器:

  • docker exec -it 容器名 /bin/bash

重命名容器:

  • docker rename 容器名 新容器名

删除容器:

  • docker rm 容器名

删除镜像:

  • docker rmi 镜像名
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
9月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1538 3
docker 安装 Postgres 17.6
|
8月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
872 6
|
8月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
698 2
|
9月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
796 115
|
9月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建

热门文章

最新文章