(一)es 概述与安装
一、基本概念介绍
1. es 核心术语
- 核心概念
ES -> 数据库
索引index -> 表
文档 document -> 行(记录)
字段 fields -> 列
早期版本有类型Type(后期7.X以后为_doc)
Type -> 表的逻辑类型
映射mapping 相当于mysql的表结构
近实时NRT near real time (搜索1秒以内)
节点node 可以集群
shard replica 数据分片
- 倒排索引

根据分词得到的值去标记位置
2:2:<2,4> 代表 第一个2 代表文档id 第二个2带表出现的频率,尖括号中的代表位置,第二个词与第四个词。
二、es的安装
1. 下载
百度搜索 es 或者点击
2. 上传解压移动
- 上传到linux 中
- 解压
tar -zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz
- 移动到 usr/local下(这个根据个人习惯)
mv elasticsearch-7.4.2 /usr/local/
3. 配置
- 进入es目录
bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等
config:配置文件目录
JDK:java环境
lib:依赖的jar,类库
logs:日志文件
modules:es相关的模块
plugins:可以自己开发的插件
data:这个目录没有,自己新建一下,后面要用 -> mkdir data,这个作为索引目录
- 修改核心配置文件-elasticearch.yml
修改项目名 cluster.name: myestest、node.name: myestest
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: myestest
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: myestest
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
保存data地址 与log地址 /usr/local/elasticsearch-7.4.2/
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /usr/local/elasticsearch-7.4.2/data
#
# Path to log files:
#
path.logs: /usr/local/elasticsearch-7.4.2/logs
#
网络对外可访问 端口可改
network.host: 0.0.0.0
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
#
# For more information, consult the network module documentation.
#
集群节点 目前是单台,先配置一个 cluster.initial_master_nodes: ["myestest"]
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
- 根据自己机器配置修改JVM参数 config/jvm.options
-Xms1g
-Xmx1g
- 添加用户
- ES不允许使用root操作es,需要添加用户,操作如下:
useradd esuser # 新增用户
chown -R esuser:esuser /usr/local/elasticsearch-7.4.2 # 给用户赋权
su esuser # 切换当前用户
whoami # 查看当前用户
- 切换完进入bin目录下
./elasticsearch
- 报错1
future versions of Elasticsearch will require Java 11; your Java version from [/home/jdk/jdk1.8.0_191/jre] does not meet this requirement
这是因为es自带jdk 与我们安装的jdk不一致,环境变量冲突了,但是是向下兼容的,所以对于我现在安装的 es7.4版本是可以用jdk1.8的。所以可以不用管这个。
- 报错二

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2020-10-21T15:09:26,905][INFO ][o.e.n.Node ] [VM-0-9-centos] stopping ...
[2020-10-21T15:09:27,058][INFO ][o.e.n.Node ] [VM-0-9-centos] stopped
[2020-10-21T15:09:27,058][INFO ][o.e.n.Node ] [VM-0-9-centos] closing ...
[2020-10-21T15:09:27,092][INFO ][o.e.n.Node ] [VM-0-9-centos] closed
[2020-10-21T15:09:27,098][INFO ][o.e.x.m.p.NativeController] [VM-0-9-centos] Native controller process has stopped - no new native processes can be started
这个就需要增加额外的配置(切换用户到root下),修改 /etc/security/limits.conf
# 修改配置文件 limits.conf
vim /etc/security/limits.conf
# 增加如下配置
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
修改 sysctl.conf 配置文件
# 编辑配置
vim /etc/sysctl.conf
# 增加配置
vm.max_map_count=262145
# 增加完了刷新一下配置,使其生效。
sysctl -p
- 重启搞定访问 9200 端口搞定
# 前台启动 Ctrl+c就退出了
./elasticsearch
# 后台启动 关闭使用kill 杀进程的方式
./elasticsearch -d
- 杀进程
[esuser@VM-0-9-centos logs]$ jps
15304 Elasticsearch
15773 Jps
[esuser@VM-0-9-centos logs]$ kill -9 15304
4. 安装插件
- elasticsearch-head 可以去git官网,也可以百度云
链接: https://pan.baidu.com/s/1U6sKvxOG0BfmK5SMd8GY3w
提取码: 7vh5
- 若链接有跨域问题可以在yml配置文件中增加下面配置
# 开启跨域
http.cors.enabled: true
# 允许所有域名访问
http.cors.allow-origin: "*"
# 头部标识
http.cors.allow-headers: Authorization
- 下载后安装crt文件
将文件夹elasticsearch-head-master\crx中 es-head.crx文件拖到浏览器里就可以安装插件了。
若报错参考:https://www.cnblogs.com/wzx1blog/p/13066693.html
- 官方文档
https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html
(一)es 概述与安装的更多相关文章
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 1. OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...
- ES 入门之一 安装ElasticSearcha
安装ElasticSearcha 学习ES也有快一个月了,但是学习的时候一直没有总结.以前没有总结是因为感觉不会的很多,现在对ES有一点了解了.索性就从头从安装到使用ES做一个详细的总结,也分享给其他 ...
- C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...
- Flask 学习(一)概述及安装
Flask 概述及安装 Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 官方网址 ...
- 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用
一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...
- 【转】Struts1.x系列教程(4):标签库概述与安装
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...
- MongoDB笔记(一)MongoDB概述和安装
概述 关键词:关系数据库.非关系数据库 关系数据库: 关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据.目前主流的关系数据库有oracle.SQL.ac ...
- Nginx概述和安装(1)
一.Nginx概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 I ...
随机推荐
- 生成树-RSTP基础配置
实验内容: 一.实验拓扑: 二.实验编址: 三.实验步骤: 1. 基本IP配置 2.启动设备 3.测试连通性 4.配置RSTP基本功能: 华为交换机默认开启了MSTP生成树模式,所以我们修改生成树模式 ...
- 001 七层OSI参考模型
一.什么是七层OSI参考模型 OSI(Open System Interconnect),即开放式系统互连.是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考 ...
- stm32 connot enter debug mode
dap 可以发现设备,stlink jlink 均无法发现设备,但是都不能下载.connot enter debug mode ,发现是vdda 未连接
- 基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用
简介 众所周知,在Linux系统下的命令行调试界面,经常会遇到需要文本编辑的情况,而树莓派官方系统默认自带了Nano编辑器,Nano的操作门槛更低,但却不如Vim编辑器方便.Vim编辑器是由早期在Li ...
- C# 二维数组 [,]与[][] 的区别 及特性
arr[,] 用于声明等长的二维数组 Eg: //声明数组有3行 每行长度相等为2 var s = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 1, 4 } }; 获取 ...
- Quartz任务调度(3)存储与持久化操作配置详细解
内存存储RAMJobStore Quartz默认使用RAMJobStore,它的优点是速度.因为所有的 Scheduler 信息都保存在计算机内存中,访问这些数据随着电脑而变快.而无须访问数据库或IO ...
- 【nodejs】express框架+mysql后台数据查询
一 环境部署 1,首先安装nodejs,并配置好环境变量(看自己习惯), 2,安装Express npm install express -g //全局安装 npm install express-g ...
- wpf & javascript & web
最近有一个需求是,WPF里面要嵌入一个Vue前端框架,也就是把网页嵌入进WPF里面,找了好久发现用CefSharp还是比较不错的,但是有一点打包占空间太大 这是第一种解法: public partia ...
- 高德地图——searchNearBy()
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script ty ...
- vue element-ui 组件上传图片 以及对 图片的 宽高 和 大小 格式等 做出限制
vue 文件: 自行引用 elemen-ui <el-upload action=" 让后端给你上传地址 " ...