当前位置: 首页 > 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 查询。好处是分的词少了,将来查询更多的数据效率会更高一点,缺点是搜索到的概率可能较低。
所以,在这两种方式的选择上,需要在内存占用、查询效率、搜索到的概率等方面进行考虑。

http://www.lryc.cn/news/254678.html

相关文章:

  • 如何使用内网穿透工具实现公网访问GeoServe Web管理界面
  • koa2项目中封装log4js日志输出
  • C# WPF上位机开发(抽奖软件)
  • 搭建部署Hadoop2.x和3.x的区别
  • Java爬虫攻略:应对JavaScript登录表单
  • 基于单片机的电子密码锁设计
  • ChatGPT学习笔记
  • One-to-Few Label Assignment for End-to-End Dense Detection阅读笔记
  • Ubuntu22.04 使用Docker部署Neo4j出错 Exited(70)
  • 【数据分析 | Numpy】Numpy模块系列指南(一),从设计架构说起
  • 多人聊天室
  • 智慧园区可视化综合管理平台建设方案,智能化、数字化才是关键
  • kepler.gl部署在线说明文档
  • Java程序员,你掌握了多线程吗?
  • Android 11.0 长按按键切换SIM卡默认移动数据
  • Kafka集群调优+能力探底
  • netcore swagger 错误 Failed to load API definition
  • UDP Socket API 的讲解,以及回显服务器客户端的实现
  • 数据结构与算法-D7栈实现及应用
  • 蓝桥杯真题:分巧克力(二分法)-Java版
  • c++面试题
  • 高精度加法,减法,乘法,除法(上)(C语言)
  • C++新经典模板与泛型编程:SFINAE特性的信息萃取
  • java单人聊天
  • nodejs环境安装
  • R语言进行正态分布检验
  • 什么是SPA(Single Page Application)?它的优点和缺点是什么?
  • 由于找不到xinput1_3.dll,无法继续执行代码的多种解决方法指南,xinput1_3.dll文件修复
  • Vue---Echarts
  • uni-app实现返回刷新上一页