Elasticearch 安装 基础介绍 (一)
文章目录
- 1 介绍
- 2 ELK安装
- 2.1 Elasticearch安装
- 2.1.1 windows 安装
- 2.1.2 linxu安装
- 2.2 可视化界面 elasticsearch-head
- 2.3 安装 Kibana
- 3 docker部署elk
- 3.1 基本配置
- 3.2 安装插件
- 4 ES核心概念
- 5 IK分词器插件
- 5.1 增加自己的配置
1 介绍
Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。
它用于全文搜索、结构或搜索、分析以及将这三者混合使用
搜索纠错、实时反馈
2 ELK安装
环境:
- JDK1.8 最低要求
- Java开发、ElasticSearch的版本和我们之后对应的Java的核心jar包。
官网:https://www.elastic.co/cn
下载:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-2
我们在windows下演示
ELK三剑客,解压即用:
- Nodejs
- python2
2.1 Elasticearch安装
2.1.1 windows 安装
bin 启动文件
config 配置文件log4j2 日志配置文件jvm.options java 虚拟机相关配置elasticsearch.yml elasticsearch配置文件 默认9200端口!有跨域问题
lib 相关jar包
logs 日志
modules 功能模块
plugubs 插件 ik分词
启动:
bin/elasticsearch.bat
访问测试
http://127.0.0.1:9200/
{"name" : "USERMIC-AQENDNF","cluster_name" : "elasticsearch","cluster_uuid" : "SgT0Xh5-QvCHBwjnrlMhOw","version" : {"number" : "7.6.2","build_flavor" : "default","build_type" : "zip","build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f","build_date" : "2020-03-26T06:34:37.794943Z","build_snapshot" : false,"lucene_version" : "8.4.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
2.1.2 linxu安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-linux-x86_64.tar.gz
2.2 可视化界面 elasticsearch-head
https://github.com/mobz/elasticsearch-head
1、配置elasticsearch
解决跨域问题:elasticsearch-7.6.2\config\elasticsearch.yml
文件尾部添加如下代码
http.cors.enabled: true
http.cors.allow-origin: "*"
2、启动elasticsearch-head
docker build -t elk-head .
2.3 安装 Kibana
官网:https://www.elastic.co/cn/kibana/
Kibana版本要和ES一致
1、启动
http://localhost:5601
2、汉化
国际化文件x-pack\plugins\translations\translations\zh-CN.json
修改配置:config/
kibana.yml
116行
i18n.locale: "zh-CN"
3 docker部署elk
docker命令:https://vitcloud.blog.csdn.net/article/details/122652560
下载:
https://github.com/deviantony/docker-elk/tree/release-7.x
http://localhost:9200/
http://localhost:5601/
3.1 基本配置
1. 启动
docker-compose up
默认用户名、密码
user
: elastic
password
: changeme
2 为内置用户初始化密码
docker-compose exec -T elasticsearch bin/elasticsearch-setup-passwords auto --batch
Changed password for user apm_system
PASSWORD apm_system = 40iHqszWXZuBHJUAO2rOChanged password for user kibana_system
PASSWORD kibana_system = Mld3fRmxEmJy5mLwhbc2Changed password for user kibana
PASSWORD kibana = Mld3fRmxEmJy5mLwhbc2Changed password for user logstash_system
PASSWORD logstash_system = FEwag4dLfVJS6cVVZemnChanged password for user beats_system
PASSWORD beats_system = S6L29ErIA3jigEQLTvnWChanged password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 7zWztQAFCoWytAA9VCDmChanged password for user elastic
PASSWORD elastic = EtWvHc8lGh05YS7vS1mq
3 取消设置引导密码(可选)
docker-compose.yml
ELASTIC_PASSWORD
4 替换密码
kibana/config/kibana.yml
elasticsearch.username: elastic
elasticsearch.password: EtWvHc8lGh05YS7vS1mq
logstash/config/logstash.yml
xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: EtWvHc8lGh05YS7vS1mq
logstash/pipeline/logstash.conf
output {elasticsearch {hosts => "elasticsearch:9200"user => "elastic"password => "EtWvHc8lGh05YS7vS1mq"ecs_compatibility => disabled}
}
重启服务
docker-compose restart kibana logstash
3.2 安装插件
1. 命令安装
在Dockerfile添加下面格式命令
RUN elasticsearch-plugin install analysis-icu
2. 手动安装
进入容器
docker exec -it e40bd5ee5f42 /bin/bash
宿主机解压好后,想容器复制插件
docker cp /usr/local/ik/ 容器名:/usr/share/elasticsearch/plugins
docker cp /usr/local/ik/ docker-elk_elasticsearch_1:/usr/share/elasticsearch/plugins
重启容器
docker restart 41e4c48f216c
4 ES核心概念
- 索引
- 字段类型(mapping)
- 文档
集群、节点、索引、类型、文档、分片、映射是什么?
elesticsearch是面向文档,关系行数据库和delecticsearch客观的对比
Relation DB | Elasticsearch |
---|---|
数据库 | 索引(indices) |
表(tables) | types(逐渐弃用) |
行(rows) | documents |
字段(columns) | fields |
物理设计:
eleasticsearch在后台把每个索引分成多个分片,每分分片可以在集群中的不同服务器间迁移
文档
elasticsearch是面向文档的,name就意味着索引和搜索数据的做小单位是文档,在elasticsearch中,文档有以下几个重要属性。
- 自我包含,一篇文档同时包含字段和对应的值,也就是同时包含key:value
- 可以使层次型的,一个文档中包含自文档,复杂的逻辑实体就是这么来的。
- 灵活的结构,文档不依赖预先定义的模式,我们指导关系型数据库中,要提前定义字段才能使用,在elasticsearch中,对于字段是非常灵活的,有时候,我们可以忽略该字段,或者动态的添加一个新的字段。
类型
映射类型
name: string test
birt: date
索引
就是数据库
一个集群至少有一个节点,而一个节点就是一个elasticsearch进程,节点可以有多个索引
如果创建索引,那么有5个分片(primary shard,又称主分片)构成的,每一个主分片会有一个副本(replic shard, 又称复制分片)
一个分片是一个Lucene索引
倒排索引
elesticsearch使用的是一种称为倒排索引的机构,采用Lucene倒排索作为底层。这种结构适用于快速的全文搜索,一个索引由文档中所有不重复的列表构成,对于每一个次,都有一个包含它的文档列表。
例如,现有两个文档,每个文档包含如下内容:
study every day, good good up to forever # 文档1
Tto forever, study erery day # 文档2
如果要搜索含有python标签的文章,那相对于查找的所有原始数据而言,查找倒排
5 IK分词器插件
什么事IK分词器?
分词:即把一段中文或者别的划分成一个个关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词。
IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少的切分,ik_max_word为最细力度划分。
1. 安装
注意版本
https://github.com/medcl/elasticsearch-analysis-ik
查看已加载的插件
elasticsearch-plugin.bat
elasticsearch-plugin list
# 最少切分
GET _analyze
{"analyzer": "ik_smart","text": "人民教育出版社"
}
# 最细力度划分:可能所有组合
GET _analyze
{"analyzer": "ik_max_word","text": "人民教育出版社"
}
5.1 增加自己的配置
elasticsearch-analysis-ik-7.17.0confi/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><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">my.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
my.dic
有勇气的牛排
重启
docker restart 41e4c48f216c
学习地址:狂神说
https://www.bilibili.com/video/BV17a4y1x7zq
Elasticearch 安装 基础介绍 (一)相关推荐
- Docker 基础介绍及配置安装 [一]
Docker 基础介绍及配置安装 [一] Docker 基础介绍及配置安装 [一] Docker 时间:2016年11月2日 Docker介绍 Docker是Docker.lnc公司开源的一个基于LX ...
- python安装目录结构_1.5 python安装目录介绍《Python基础开发入门到精通》
第一章 Python的概述与环境安装 本章所讲内容: 1.1 Python介绍 1.2 Python2与Python3的比较 1.3 Python3的安装 1.4 Python环境变量配置 1.5 P ...
- 【2022软件创新实验室暑假集训】Java环境安装与基础介绍
Java环境安装与基础介绍 文章目录 文章目录 Java环境安装与基础介绍 文章目录 Java 简介 主要特性 关于语言学习的选择 Python Java Go&Rust Java环境配置 J ...
- Linux nginx 基础介绍与安装版本选择
Linux nginx 基础介绍与安装版本选择 Nginx 版本类型 Nginx yum 安装 了解 Nginx 配置文件 Nginx 编译参数详解(源码编译安装时使用) Nginx 基本配置 创建N ...
- python介绍和用途-Python基础介绍(一)
Python基础介绍(一) 1. python是什么编程语言 编译型与解释型 编译器吧源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以极其语言来运行此程序,速度很快 ...
- python最基本的规则是什么_Python基础介绍(一)
Python基础介绍(一) 1. python是什么编程语言 编译型与解释型 编译器吧源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以极其语言来运行此程序,速度很快 ...
- 监控工具—Prometheus—基础介绍
原文作者:IT有意思 原文地址:Prometheus(普罗米修斯)--适合k8s和docker的监控系统 目录 1.介绍 2.监控原理 3.监控指标 4.系统架构 5.功能用途 6.面临挑战 1.介绍 ...
- Android系统基础介绍
Android系统基础介绍 Android系统发展史 Android系统从1.5版本迭代到现在10.0 需要注意的几个版本: 5.0 界面设计技术发生变革,采用全新的MaterialDesign界面, ...
- uniapp基础介绍
uni-app基础 uniapp基础介绍 一.uniapp项目的搭建 (1)下载开发工具HBuilderX (2)创建 uni-app 项目 (3)运行 uni-app (4)发布 uni-app 二 ...
最新文章
- 使用sudo进入root权限,以及防止root密码被恶意篡改
- Nature:原来记忆是这样形成的!科学家发现记忆形成新机制
- form表单提交踩坑记
- Java基础笔记12
- Ubuntu16.04安装ROS后运行gazebo报错 it says it‘s incompatible with that RT“‘ failed.
- 修饰符在python函数中的用法详细解释
- 挑战10个最难的Java面试题(附答案)【下】
- Linux的sys接口和proc接口创建
- TF-tf.keras.layers.MaxPool1D
- UVA - 10129 Play on Words(欧拉回路)
- su和sudo命令详解
- eclipse安装(中文)语言包插件
- 机器人系统反馈控制结构设计(现代控制理论5)
- 【大学总结】迟到但未缺席的大学总结
- P1757 通天之分组背包(动态规划 分组背包)
- matlab如何打开dcm_MATLAB绘图干货
- 微信小程序云开发-微信小程序账号申请及新手环境配置
- 「杂谈」什么是我心目中深度学习算法工程师的标准
- 局部二值模式LBP的详细理解
- awk——awk基础介绍