淘东电商项目(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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
134 78
|
20天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
154 64
|
9天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
51 14
|
6天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
38 7
|
30天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
213 77
|
11天前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
84 35
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
10天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
16天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
44 4
|
1月前
|
数据建模 应用服务中间件 nginx
docker替换宿主与容器的映射端口和文件路径
通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
108 3

热门文章

最新文章

下一篇
开通oss服务