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

docker安装elasticsearch8.5.0和kibana

服务器环境,centos7

一、安装elasticsearch

1. 创建一个es和kibana通用的网络

docker network create es-net

2. 拉取es镜像,这里选择8.5.0版本

docker pull  elasticsearch:8.5.0

3. 创建挂载目录,并授权

mkdir /usr/local/install/elasticsearch/data
chmod 777 /usr/local/install/elasticsearch/data/mkdir /usr/local/install/elasticsearch/plugins
chmod 777 /usr/local/install/elasticsearch/plugins/

4. 通过docker运行es

docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/install/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/install/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.5.0

5. es正常启动后,通过 docker ps 命令即可看到对应的容器正常启动运行。

注意,此时es默认是需要通过https  用户名密码登录访问的。所以必须通过https://IP:9200 访问。

6. 使用http访问,需要进入容器修改 elasticsearch.yml配置文件,

把其中 xpack.security.enabled: false   改为false即可。默认为true。

# 使用root用户进去才能改
docker exec -it  --user root es /bin/bash
cd config
vi elasticsearch.yml

7.  重启es (docker restart es),  浏览器直接访问 http://IP:9200,   结果如下即可。 

问题:

一、 第6点中需要进入容器修改配置文件,容器中没有vim命令,需要安装。

       有两点需要注意:

       1. 需要用root用户进入容器,不然会提示没有权限!

docker exec -it  --user root es /bin/bash

       提示没有权限如下图:

               

   2.  安装vim命令

apt-get update
apt-get install vim 

二、安装kibana

1.  拉取kibana镜像  

docker pull kibana:8.5.0

2. 通过docker运行kibana

docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
kibana:8.5.0

3. 访问kibana,   http://IP:5601, 成功如下

4. 测试es ,  进入Dev tools

三、安装分词器

1.  ES自带的标准分词器(standard)对中文分词不太友好。

GET /_analyze
{"analyzer" : "standard","text" : "分词器分词效果测试"
}

2、安装IK分词器

# 进入es容器
docker exec -it es /bin/bash
# 安装对应8.5.0版本的分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.5.0/elasticsearch-analysis-ik-8.5.0.zip
# 重启es容器使其生效
exit;
docker restart es

3.测试IK分词器的两种模式  ik_max_wordik_smart

GET /_analyze
{"analyzer" : "ik_max_word","text" : "分词器分词效果测试"
}GET /_analyze
{"analyzer" : "ik_smart","text" : "分词器分词效果测试"
}

ik_max_word 和 ik_smart 的区别
ik_max_word: 会将文本做最细粒度的拆分,会穷尽各种可能的组合,适合 Term Query。好处是搜索到的概率可能较高,缺点是分的词多了,占用内存空间会更多;
ik_smart: 会做最粗粒度的拆分,适合 Phrase 查询。好处是分的词少了,将来查询更多的数据效率会更高一点,缺点是搜索到的概率可能较低。
所以,在这两种方式的选择上,需要在内存占用、查询效率、搜索到的概率等方面进行考虑。

相关文章:

  • 记录每日LeetCode 763.划分字母区间 Java实现
  • 【华为OD题库-068】找出经过特定点的路径长度-java
  • html5各行各业官网模板源码下载(1)
  • 如何将 MySQL 数据库转换为 SQL Server
  • 分布式搜索引擎elasticsearch(二)
  • NGINX安装升级
  • 数据库基础语法
  • CSS 垂直水平居中总结(全)
  • 香港商标注册申请所需资料及办理流程
  • netty使用
  • 【Flink on k8s】- 4 - 在 Kubernetes 上运行容器
  • C#winform上下班打卡系统Demo
  • 鸿蒙系统开发手册 - HarmonyOS内核驱动层源码分析
  • 实现跨VLAN通信、以及RIP路由协议的配置
  • JAVA实现敏感词高亮或打码过滤:sensitive-word
  • conda常用的命令
  • CSS 专业技巧
  • flask接收请求并推入栈
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript异步流程控制的前世今生
  • JS变量作用域
  • Linux链接文件
  • Mysql5.6主从复制
  • Odoo domain写法及运用
  • vagrant 添加本地 box 安装 laravel homestead
  • yii2中session跨域名的问题
  • 对象引论
  • 构造函数(constructor)与原型链(prototype)关系
  • 配置 PM2 实现代码自动发布
  • 手写双向链表LinkedList的几个常用功能
  • 王永庆:技术创新改变教育未来
  • 详解NodeJs流之一
  • 智能合约开发环境搭建及Hello World合约
  • 自动记录MySQL慢查询快照脚本
  • ionic异常记录
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 仓管云——企业云erp功能有哪些?
  • #laravel 通过手动安装依赖PHPExcel#
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #每日一题合集#牛客JZ23-JZ33
  • $.each()与$(selector).each()
  • (09)Hive——CTE 公共表达式
  • (4) PIVOT 和 UPIVOT 的使用
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (ibm)Java 语言的 XPath API
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (算法)Travel Information Center
  • (转)Sublime Text3配置Lua运行环境
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .Net 代码性能 - (1)
  • .NET基础篇——反射的奥妙
  • .NET简谈设计模式之(单件模式)