当前位置: 首页 > news >正文

谷粒商城实战笔记-103~104-全文检索-ElasticSearch-Docker安装ES和Kibana

文章目录

  • 一,103-全文检索-ElasticSearch-Docker安装ES
    • 1,下载镜像文件
    • 2,Elasticsearch安装
    • 3,验证
  • 二,104-全文检索-ElasticSearch-Docker安装Kibana
    • 1,下载镜像文件
    • 2,kibana的安装
    • 3,验证

一,103-全文检索-ElasticSearch-Docker安装ES

1,下载镜像文件

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.0
docker pull docker.elastic.co/kibana/kibana:7.13.0

2,Elasticsearch安装

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/ 保证权限
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d docker.elastic.co/elasticsearch/elasticsearch:7.13.0

以后再外面装好插件重启即可;
特别注意:
-e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导
致过大启动不了 ES

这段代码是一系列Linux命令和Docker命令的组合,用于设置并运行Elasticsearch服务。下面是对每条命令的详细解释:

  1. mkdir -p /mydata/elasticsearch/config

    • 这条命令创建一个名为config的目录在/mydata/elasticsearch/路径下。-p参数确保即使父目录不存在时,也会创建父目录。
  2. mkdir -p /mydata/elasticsearch/data

    • 类似于上一条命令,这条命令创建一个名为data的目录在/mydata/elasticsearch/路径下,用于存储Elasticsearch的数据。
  3. echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

    • 这条命令将字符串http.host: 0.0.0.0追加到elasticsearch.yml配置文件中。这表示Elasticsearch服务将监听所有网络接口上的HTTP请求。
  4. chmod -R 777 /mydata/elasticsearch/

    • 这条命令将/mydata/elasticsearch/目录及其所有子目录和文件的权限设置为777,即所有用户都可以读取、写入和执行。
  5. docker run ...

    • 这是一条Docker命令,用于运行一个名为elasticsearch的容器实例。

    • --name elasticsearch: 给容器指定一个名称elasticsearch

    • -p 9200:9200 -p 9300:9300: 将容器的9200和9300端口映射到宿主机的相应端口,9200是HTTP REST API端口,9300是节点间通信的端口。

    • -e "discovery.type=single-node": 设置环境变量,指定Elasticsearch运行在单节点模式,不加入集群。

    • -e ES_JAVA_OPTS="-Xms64m -Xmx512m": 设置Java虚拟机的初始和最大内存分配。

    • -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml: 将宿主机的配置文件挂载到容器内的相应位置。

    • -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data: 将宿主机的数据目录挂载到容器内,用于持久化存储Elasticsearch数据。

    • -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins: 将宿主机的插件目录挂载到容器内,用于存放Elasticsearch插件。

    • -d docker.elastic.co/elasticsearch/elasticsearch:7.13.0: 指定要运行的Docker镜像及其版本,这里是Elasticsearch的官方镜像,版本7.13.0,-d参数表示以守护进程模式运行。

整个脚本的目的是设置一个Elasticsearch服务,配置其监听所有网络接口,并且通过Docker容器化运行,同时确保数据和配置的持久化存储。

3,验证

在浏览器输入地址47.3.217.59:9200,有如下输出,说明安装成功。

在这里插入图片描述

二,104-全文检索-ElasticSearch-Docker安装Kibana

1,下载镜像文件

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.0
docker pull docker.elastic.co/kibana/kibana:7.13.0

2,kibana的安装

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.22.29.149:9200 -p 5601:5601  -d docker.elastic.co/kibana/kibana:7.13.0

这条Docker命令是用于运行Kibana服务的。下面是对命令的详细解释:

  • docker run: Docker的运行命令,用于创建并启动一个新的容器。

  • --name kibana: 指定容器的名称为kibana

  • -e ELASTICSEARCH_HOSTS=http://172.22.29.149:9200: 设置环境变量ELASTICSEARCH_HOSTS,指定Kibana连接的Elasticsearch服务器的地址和端口。这里指定的是http://172.22.29.149:9200,这是一个内网IP地址和Elasticsearch服务的默认端口9200。

  • -p 5601:5601: 将容器的5601端口映射到宿主机的5601端口,Kibana的Web界面默认运行在这个端口上。

  • -d: 以守护进程模式运行容器,即在后台运行。

  • docker.elastic.co/kibana/kibana:7.13.0: 指定要使用的Docker镜像及其版本,这里是Kibana的官方镜像,版本号为7.13.0。

这个命令的作用是启动一个Kibana容器实例,并配置它连接到指定的Elasticsearch服务器。用户可以通过访问宿主机的5601端口来访问Kibana的Web界面,进行数据的可视化和管理。如果因为网络原因无法解析提供的IP地址,可能需要检查网络连接或IP地址的合法性。如果用户需要进一步的帮助或者有其他问题,可以继续提问。

3,验证

在浏览器输入47.3.217.59:5601/app/home#/,有如下显示,说明kibana安装成功。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 什么是嵌入式
  • uniapp中实现语音识别(app+小程序)
  • C++解决:早餐组合
  • 抽象代数精解【4】
  • Web开发:用C#的逻辑理解VUE语法(VUE + Webapi小白开发笔记)
  • k8s安装ingress-nginx
  • [H贪心] lc100376. 新增道路查询后的最短距离 II(贪心+读题+代码实现+周赛409_3)
  • web3 solana
  • 机器学习练手(六):机器学习算法实践实战
  • 【深度学习】【框架】【基本结构】transformer
  • Python如何将Category类的数组categoryList,导出成JSON格式
  • Action部署在线上写文章
  • C#根据反射操作对象
  • 操作系统篇--八股文学习第十二天| 什么是死锁,如何避免死锁?,介绍一下几种典型的锁,讲一讲你理解的虚拟内存
  • Typescript配置文件(tsconfig.json)详解系列五:allowArbitraryExtensions
  • 《深入 React 技术栈》
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CSS中外联样式表代表的含义
  • E-HPC支持多队列管理和自动伸缩
  • Java到底能干嘛?
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Python十分钟制作属于你自己的个性logo
  • Redis 中的布隆过滤器
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue-router 实现分析
  • 第十八天-企业应用架构模式-基本模式
  • 精彩代码 vue.js
  • 前端_面试
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 算法-图和图算法
  • 通过git安装npm私有模块
  • 一些css基础学习笔记
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • No resource identifier found for attribute,RxJava之zip操作符
  • Python 之网络式编程
  • 湖北分布式智能数据采集方法有哪些?
  • ​【已解决】npm install​卡主不动的情况
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​如何在iOS手机上查看应用日志
  • ​用户画像从0到100的构建思路
  • # 飞书APP集成平台-数字化落地
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #职场发展#其他
  • (a /b)*c的值
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C语言)fread与fwrite详解
  • (多级缓存)缓存同步
  • (分布式缓存)Redis哨兵
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (每日一问)基础知识:堆与栈的区别
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)linux下的时间函数使用
  • (轉貼) UML中文FAQ (OO) (UML)