ES-环境安装(elasticsearch:7.17.9,kibana,elasticsearch-head)

ES 环境搭建

1 拉取镜像
常用三件套

docker pull  kibana:7.17.9
docker pull elasticsearch:7.17.9
docker pull mobz/elasticsearch-head:5

2 启动镜像
elasticsearch 安装
这里可以先不挂载文件启动一波,然后把容器里的文件拷贝出来

docker run -p 19200:9200 -p 19300:9300 --name elasticsearch \-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \
-e "ingest.geoip.downloader.enabled=false" \
-d elasticsearch:7.17.9
  • 拷贝文件到本地
docker cp elasticsearch:/usr/share/elasticsearch/config ./
docker cp elasticsearch:/usr/share/elasticsearch/logs ./
docker cp elasticsearch:/usr/share/elasticsearch/data ./
docker cp elasticsearch:/usr/share/elasticsearch/plugins ./

注意事项
这里一定要注意挂载的目录不能是root用户否者启动就会报权限错误

Could not rename log file 'logs/gc.log' to 'logs/gc.log.00' (Permission denied).
#又或者
Could not open log file 'logs/gc.log' 

这里新创建一个用户用来启动es

useradd elasticsearch #创建用户
chown elasticsearch  -R  es/* #改变文件所属用户
chgrp elasticsearch  -R  es/* #改变所有组
chmod -R 777  es #使得当前用户具有读写可执行这些文件的权限
  • 修改配置文件
#elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.max-age: 1728000
xpack.security.enabled : false

将之前的容器删除掉:

docker stop elasticsearch && docker rm elasticsearch
  • 启动es,基于上面我们拷贝出来的目录进行挂载
docker run -p 19200:9200 -p 19300:9300 --name elasticsearch \-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \
-e "ingest.geoip.downloader.enabled=false" \
-v /env/liyong/data/docker/es/plugins/:/usr/share/elasticsearch/plugins \
-v /env/liyong/data/docker/es/data/:/usr/share/elasticsearch/data \
-v /env/liyong/data/docker/es/logs/:/usr/share/elasticsearch/logs \
-v /env/liyong/data/docker/es/config/:/usr/share/elasticsearch/config \
-d elasticsearch:7.17.9

访问卡到这个界面表示安装成功:
在这里插入图片描述

这里在介绍一下如果报错了可以用docker logs命令查看日志,找到错误:

docker logs elasticsearch #查看日志
docker logs -f elasticsearch #实时监控日志 也就是 和 tail -f 的效果一样
#我们可以看到有很多可选参数帮我们定位日志
-t #日志前面可以看到时间戳
--since #查看看多久以后的日志
docker logs -t elasticsearch --since "2023-12-04" #查看12-04以后的日志
docker logs -t elasticsearch --since "1000m" #查看最近1000m钟的日志
docker logs -n "10" elasticsearch #从当前日志往回看10行

在这里插入图片描述
kibana安装

  • 配置修改
#kibana.yml
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ] #这里一定要注意因为是集群内部所以这里的端口9200 不要填19200 我一开始就填错了
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
  • 启动
docker run --name kibana --link=elasticsearch -p 5601:5601 \
-v /env/liyong/data/docker/kibana/config/:/usr/share/kibana/config \
-d kibana:7.17.9 #link 启动 这样会在kibana 的host文件写入elasticsearch 的ip映射从而可以直接内部通信

在这里插入图片描述

get _cat/health #查看健康状况 
get _cluster/health
get _cat/indices?v #查看索引的状态信息

elasticsearch-head安装

  • 修改文件
docker cp elasticsearch-head:/usr/src/app ./ #将文件拷贝出来

进⼊_site⽬录,修改vendor.js⽂件6886和7574⾏ application/x-wwwform-urlencoded 改成 application/json;charset=UTF-8

#定位直接切换vim模式
:6886 #可以定位到当前行
  • 启动
docker cp _site/ elasticsearch-head:/usr/src/app #改完以后复制到容器中
```bash
docker run -d --name=elasticsearch-head -p 19100:19100 \
mobz/elasticsearch-head:5

还有要注意的是,elasticsearch-head的端口默认是9200,如果需要修改

vim Gruntfile.js

在这里插入图片描述
在这里插入图片描述

  • 界面信息介绍
    在这里插入图片描述
    在这里插入图片描述

一些概念

master:主/候选节点
data:数据节点
data_hot:热节点
data_warm: 索引不再定期更新
data_code: 冷节点,只读
Ingest:预处理节点,作⽤类似于logstash中的Filter
ml: 机器学习节点
voting_only: 仅投票节点

⼀个索引包含⼀个或多个分⽚,在7.0之后默认⼀个主分⽚,副本(多少个0,多少个1,也就是副本可以在多个节点存在)可以在索引创建之后修改数量,但是主分⽚的数量(0,1,2)⼀旦确定不可修改
每个分⽚都是⼀个Lucene实例,有完整的创建索引和处理请求的能⼒ES会⾃动再nodes上做分⽚均衡
⼀个doc不可能同时存在于多个主分⽚中(因为存在了数据就重复了),但可以同时存在于多个副本中
每个主分⽚和其副本分⽚不能同时存在于同⼀个节点上(因为副本是为了保证高可用,如果在同一个节点则完全没有意义)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/258519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI】以大厂PaaS为例,看人工智能技术方案服务能力的方向(2/2)

目录 三、解决方案 3.1 人脸身份验证 3.2 图像审核(暴恐、色情等) 3.3 人脸会场签到 3.4 机器人视觉 3.5 视频审核 3.6 电商图文详情生成 3.7 智能客服 接上回: 【AI】以大厂PaaS为例,看人工智能技术方案服务能力的方向&…

SSL 协议

SSL 是用于安全传输数据的一种通信协议。它采用公钥加密技术、对称密钥加密技术等保护两个应用之间的信息传输的机密性和完整性。但是,SSL 也有一个不足,就是它本身不能保证传输信息的不可否认性。 SSL 协议包括服务器认证、客户认证、SSL 链路上的数据完…

MySQL - 表达式With as 语句的使用及练习

目录 8.1 WITH AS 的含义 8.2 WITH AS语法的基本结构如下: 8.3 练习题1 8.4 牛客练习题 8.1 WITH AS 的含义 WITH AS 语法是MySQL中的一种临时结果集,它可以在SELECT、INSERT、UPDATE或DELETE语句中使用。通过使用WITH AS语句,可以将一个查…

Python os模块及用法

os 模块代表了程序所在的操作系统,主要用于获取程序运行所在操作系统的相关信息。 在 Python 的交互式解释器中先导入 os 模块,然后输入 os.__all__ 命令(__all__ 变量代表了该模块开放的公开接口),即可看到该模块所包…

从浅入深掌握进阶结构体(C语言)

前言 这一期我们将继续讲解结构体的知识,还没有看过上一期的小伙伴一定要赶紧去学习哦。 上一期,冲鸭! 那么话不多说我们开始今天的学习吧! 文章目录 1,结构体的自引用2,匿名结构体3,位段4,结构体的传参5,尾声 1,结构体的自引用 …

Swift 如何实现自定义 Tab Bar

前言 每个 UI 设计师都喜欢美丽而有动画效果的 Tab Bar。然而,对于开发人员来说,实现这种设计可能是一场噩梦。当然,使用 Apple 的原生 Tab Bar 组件并专注于更有趣的事情,比如业务逻辑的实现,会更容易。但如果我们必…

IC入门必看| 数字IC前端设计学习路线与方法(内附学习视频)

众所周知,数字前端设计对于工程师的能力要求比较高,不仅有学历上的要求,还要求掌握很多的知识技能。 数字前端到底是什么? 集成电路设计(Integrated Circuit,简称IC)一般分为数字IC设计、模拟…

Python (四)读写word

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

根据java类名找出当前是哪个Excel中的sheet

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

svn使用步骤

服务器端主要用来创建仓库&#xff0c;然后供客户端去访问与下载。 客户端&#xff1a; 图形化界面的使用&#xff1a;这里使用的是tortoise工具 1.创建一个文件夹作为自己的本地仓库目录 2.鼠标右键文件夹&#xff0c;在菜单中点击SVN checkout 3.找个图 这一步骤相当于git中…

教育类直播介绍

教育类直播是一种在线教育形式&#xff0c;它允许学生和教师通过实时视频通话进行互动学习。这种学习方式可以为学生提供更灵活的学习时间和地点&#xff0c;同时也可以帮助教师更好地与学生进行互动和指导。 在教育类直播中&#xff0c;学生可以通过网络与教师和其他学生进行…

【STM32入门】3.OLED屏幕

1.OLED引脚 OLED屏幕的接线按图所示&#xff0c;本例中用的是4管脚OLED屏幕 2.驱动程序 配套的驱动程序是“OLED.c"&#xff0c;主要由以下函数构成&#xff1a;1、初始化&#xff1b;2、清屏&#xff1b;3、显示字符&#xff1b;4、显示字符串&#xff1b;5、显示数字…