ELK入门(一)-Elasticsearch(docker版)

Elasticsearch

Elasticsearch安装(docker)

下载Elasticsearch
查询镜像
[root@localhost elk]# docker search elasticsearch
NAME                                     DESCRIPTION                                       STARS     OFFICIAL   AUTOMATED
elasticsearch                            Elasticsearch is a powerful open source sear…    6126      [OK]       
kibana                                   Kibana gives shape to any kind of data — str…   2629      [OK]       
bitnami/elasticsearch                    Bitnami Docker Image for Elasticsearch            67                   [OK]
bitnami/elasticsearch-exporter           Bitnami Elasticsearch Exporter Docker Image       7                    [OK]
rancher/elasticsearch-conf                                                                 2                    
拉取镜像

docker pull elasticsearch:版本号

image-20230622225933747·

[root@localhost elk]# docker image ls
REPOSITORY           TAG       IMAGE ID       CREATED         SIZE
elasticsearch        7.17.7    ec0817395263   9 months ago    619MB
nginx                latest    605c77e624dd   19 months ago   141MB
redis                latest    7614ae9453d1   19 months ago   113MB
mysql                latest    3218b38490ce   19 months ago   516MB
rabbitmq             latest    d445c0adc9a5   19 months ago   220MB
canal/canal-server   latest    0c7f1d62a7d8   2 years ago     874MB
挂载配置
创建挂载文件夹
[root@localhost elasticsearch]# mkdir -p elasticsearch/data
[root@localhost elasticsearch]# mkdir -p elasticsearch/config
[root@localhost elasticsearch]# mkdir -p elasticsearch/plugins
修改文件夹权限
[root@localhost elk]#chmod 777 elasticsearch/**
elasticsearch.yml

在config文件夹下创建elasticsearch.yml文件,并修改其为可读写执行权限。

[root@localhost config]# touch elasticsearch.yml
[root@localhost config]# chmod 777 elasticsearch.yml 
[root@localhost config]# tree
.
└── elastisearch.yml[root@localhost config]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 623 18:22 elastisearch.yml

修改elasticsearch.yml的内容

xpack.security.enabled: 配置es的安全,但是只免费使用1个月。本机使用不设置安全模块。

http:host: 0.0.0.0cors:enabled: trueallow-origin: "*"
xpack:security:enabled: false
linux环境配置
调整max_map_count

max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,默认值是65536。

查询max_map_count值
 sysctl -a|grep vm.max_map_count
修改max_map_count值
 sysctl -w vm.max_map_count=262144

测试是否修改

image-20230629151143142
创建运行容器
  • 9200作为Http协议,主要用于外部通讯。一般都是给工具连接ElasticSearch使用的,java连接ES也需要这个端口。
  • 9300是一个自定义的二进制协议,用于集群中各节点之间的通信。用于诸如集群变更、主节点选举、节点加入/离开、分片分配等事项。
  • ES_JAVA_OPTS指定容器内的JVM内存配置,建议大于512M。
docker run  -itd \
--name es \
--privileged \
--network wn_docker_net \
--ip 172.18.12.70 \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1g -Xmx1g" \
-v /usr/local/softwares/elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/softwares/elk/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/software/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.7
修改ES内存大小
进入容器
[root@localhost config]# docker exec -it es bash
进入config文件夹
image-20230623193626510

image-20230623193729179

修改jvm.options默认内存大小
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# echo "-Xms4g"  >> jvm.options
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# echo "-Xmx4g"  >> jvm.options
退出、重启容器
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# exit                         
exit
[root@localhost config]# docker restart es 
开放9200,9300端口
[root@localhost config]# firewall-cmd --zone=public --add-port=9200/tcp --permanent
success
[root@localhost config]# firewall-cmd --zone=public --add-port=9300/tcp --permanent
success
[root@localhost config]# firewall-cmd --reload 
success
浏览器测试

image-20230729220630026

安装ik分词器

下载分词器

最好下载和elasticSearch一致的分词器,如果没有则保证大版本一致,例如:7.17.X

Releases · medcl/elasticsearch-analysis-ik · GitHub

image-20230624205127343 image-20230624205354726
上传分词器

上传分词器到: /usr/local/software/elasticsearch-analysis-ik

[root@localhost software]# mkdir elasticsearch-analysis-ik
拷贝分词器到es容器的plugins/ik中

在容器plugins文件下创建 ik文件夹

tips:v7,.17.7版本一定要解压在plugins**/ik**文件夹下否则报找不到错误。

容器中位置: /usr/share/elasticsearch/plugins/ik

[root@localhost elasticsearch-analysis-ik]# docker cp elasticsearch-analysis-ik-7.17.7.zip es:/usr/share/elasticsearch/plugins/ik
解压分词器
root@6fa12b7a6ddb:/usr/share/elasticsearch/plugins/ik# unzip elasticsearch-analysis-ik-7.17.7.zip

删除elasticsearch-analysis-ik-7.17.7.zip

root@6fa12b7a6ddb:/usr/share/elasticsearch/plugins/ik# rm -rf elasticsearch-analysis-ik-7.17.7.zip
image-20230629162724933
重启docker
root@6fa12b7a6ddb:/usr/share/elasticsearch/plugins# exit
exit
[root@localhost elasticsearch-analysis-ik]# docker restart es 
使用kibana测试分词器

image-20230624215557035

自定义分词器
分词器的文件结构

在Ik文件夹下的config中存储分词器的字典和配置文件

image-20230629163322984

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict"></entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>       

打开一个分词内容ext_stopwords

image-20230629164136117

添加自定义分词器
新建分词器文件

新建自定义分词器文件,后缀为.dic

touch extra_my_ik.dic
编辑文件

编辑文件,使用utf-8编码

image-20230629164415653
修改配置文件

修改IKAnalyzer.cfg.xml 文件,添加自定义的分词器

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--添加自定义的词库extr_my_ik.dic --><entry key="ext_dict">extra_my_ik.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
测试分词

使用kibana测试

image-20230629171330048

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 索引原理以及 SQL 优化

索引 索引&#xff1a;一种有序的存储结构&#xff0c;按照单个或者多个列的值进行排序。索引的目的&#xff1a;提升搜索效率。索引分类&#xff1a; 数据结构 B 树索引&#xff08;映射的是磁盘数据&#xff09;hash 索引&#xff08;快速锁定内存数据&#xff09;全文索引 …

【Java EE初阶二十一】http的简单理解(二)

2. 深入学习http 2.5 关于referer Referer 描述了当前页面是从哪个页面跳转来的&#xff0c;如果是直接在地址栏输入 url(或者点击收藏夹中的按钮) 都是没有 Referer。如下图所示&#xff1a; HTTP 最大的问题在于"明文传输”,明文传输就容易被第三方获取并篡改. …

Android反编译工具及使用说明

文章目录 一、反编译常用的工具二、反编译工具的下载安装及使用1. Apktool下载使用 2. dex2jar下载使用 3. jd-gui下载使用 一、反编译常用的工具 Apktool 获取apk里的资源文件、配置文件、清单文件、lib文件夹下的so包等等dex2jar 将apk反编译成java源码&#xff0c;及dex文件…

Stable Diffusion 绘画入门教程(webui)-ControlNet(姿态预处理器openpose)

本片文章接着上篇文章ControlNet介绍他的控制类型&#xff0c;本篇介绍的预处理器为openpose 预处理器&#xff1a;openpose 模型&#xff1a;control_v11p_sd15_openpose 没下载模型的看上篇文章去下载一下哦&#xff0c;不然用不了 文章目录 一、干什么用的二、详细用法1、选…

Django使用Celery异步

安装包 pip install celerypip install eventlet 1.在项目文件的根目录下创建目录结果 2. 在main.py文件中 # !/usr/bin/env python # -*-coding:utf-8 -*-""" # Author &#xff1a;skyTree # version &#xff1a;python 3.11 # Description&#…

Git合并固定分支的某一部分至当前分支

在 Git 中&#xff0c;通常使用 git merge 命令来将一个分支的更改合并到另一个分支。如果你只想合并某个分支的一部分代码&#xff0c;可以使用以下两种方法&#xff1a; 1.批量文件合并 1.1.创建并切换到一个新的临时分支 首先&#xff0c;从要合并的源分支&#xff08;即要…

前端基础自学整理|HTML + JavaScript + DOM事件

目录 一、HTML 1、Html标签 2、Html元素 3、基本的HTML标签 二、CSS 样式 层叠样式表 三、JavaScript 使用示例 四、HTML DOM 通过可编程的对象模型&#xff0c;javaScript可以&#xff1a; window document 1、查找HTML元素 2、操作HTML元素 获取元素的属性 四…

Qt应用-天气预报实例

本文讲解Qt实现天气预报实例。 实现的功能 网络实时获取和显示6天的天气参数并绘制温度趋势曲线; 测试当前网络连接情况; 获得当前的IP地址的行政位置信息; 设计界面如下: 创建保存天气数据的类 #ifndef WEATHERDATA_H #define WEATHERDATA_H #include <QString>…

【C++】1006 - 打印星号三角形 1007 - 统计大写英文字母的个数 1008 - 字符图形9-数字正三角

文章目录 问题一&#xff1a;1006 - 打印星号三角形题目描述&#xff1a;输入&#xff1a;输出&#xff1a;样例&#xff1a;1.分析问题2.定义变量3.输入数据4.数据计算5.输出结果 问题二&#xff1a;1007 - 统计大写英文字母的个数题目描述&#xff1a;输入&#xff1a;输出&a…

解决弹性布局父元素设置高自动换行,子元素均分高度问题(align-content: flex-start)

案例&#xff1a; <view class"abc"><view class"abc-item" v-for"(item,index) in 8" :key"index">看我</view> </view> <style lang"less">.abc{height: 100px;display: flex;flex-wrap: …

【深入理解设计模式】 工厂设计模式

工厂设计模式 工厂设计模式是一种创建型设计模式&#xff0c;它提供了一种在不指定具体类的情况下创建对象的接口。在工厂设计模式中&#xff0c;我们定义一个创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂设计模式的目…

centos 9 编译安装 LAMP wordpress

[rootlocalhost ~]# ll 总用量 655760 -rw-------. 1 root root 1040 2月 17 16:57 anaconda-ks.cfg drwxr-xr-x. 29 501 games 4096 2月 21 11:00 apr-1.7.4 -rw-r--r--. 1 root root 1122147 2月 21 10:57 apr-1.7.4.tar.gz drwxr-xr-x. 21 501 games …

四、分类算法 - 随机森林

目录 1、集成学习方法 2、随机森林 3、随机森林原理 4、API 5、总结 sklearn转换器和估算器KNN算法模型选择和调优朴素贝叶斯算法决策树随机森林 1、集成学习方法 2、随机森林 3、随机森林原理 4、API 5、总结

【Python】2019年蓝桥杯省赛真题——完全二叉树的权值

蓝桥杯 2019 省 A&B&#xff1a;完全二叉树的权值 题目描述 给定一棵包含 N N N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 A 1 , A 2 , ⋯ A N A_1,A_2, \cdots A_N A1​,A2​,⋯AN​&#xff0c;如下图所…

《咸鱼之王》简单拆解图(持续更新)

文章目录 一、 介绍二、 角色设定阿咸咸将 三、游戏拆解 一、 介绍 《咸鱼之王》是一款由阿咸工作室开发的手机游戏&#xff0c;战斗方式为回合制卡牌对战&#xff0c;同时玩家点击屏幕可以为阵容提供助攻。该游戏于2021年3月4日公测。 在游戏中&#xff0c;玩家将化身主角阿…

Spring学习笔记(三)--Spring中的Bean的管理

一、什么是Bean Bean是注册到Spring容器中的Java类&#xff0c;控制反转和依赖注入都是通过Bean实现的&#xff0c;任何一个Java类都可以是一个Bean。Bean由Spring进行管理&#xff0c;可以通过xml文件对bean进行配置和管理。 二、BeanFactory接口和ApplicationContext接口&a…

重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题

重新安装VSCode后&#xff0c;按住Ctrl&#xff08;or Command&#xff09; 点击鼠标左键不跳转问题 原因&#xff1a;重新安装一般是因为相应编程语言的插件被删除了或还没有下载。 本次是由于Python相关的插件被删除了&#xff0c;因此导致Python无法跳转。 解决办法 在vs…

船运物流管理系统|基于springboot船运物流管理系统设计与实现(源码+数据库+文档)

船运物流管理系统目录 目录 基于springboot船运物流管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员登录 2、货运单管理 3、公告管理 4、公告类型管理 5、新闻管理 6、新闻类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 …

ElasticSearch语法

Elasticsearch 概念 入门学习: Index索引>MySQL 里的表(table)建表、增删改查(查询需要花费的学习时间最多)用客户端去调用 ElasticSearch(3 种)语法:SQL、代码的方法(4 种语法) ES 相比于 MySQL&#xff0c;能够自动帮我们做分词&#xff0c;能够非常高效、灵活地查询内…

【算法 - 动态规划】最长回文子序列

上篇文章中&#xff0c;我们学习一个新的模型&#xff1a; 样本对应模型&#xff0c;该模型的套路就是&#xff1a;以结尾位置为出发点&#xff0c;思考两个样本的结尾都会产生哪些可能性 。 而前篇文章中的 纸牌博弈问题 属于 [L , R]上范围尝试模型。该模型给定一个范围&…