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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 淘东电商项目(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 镜像名
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
21天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
181 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
8天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
41 2
|
11天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
33 2
|
11天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
14天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
137 2
|
22天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
37 1
|
2天前
|
关系型数据库 MySQL API
|
18天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
47 5
|
4天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
28 1