欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!

个人网站: https://www.exception.site/essay/elasticsearch-single-cluster-plugin-install

目录

  • 一、什么是 Elasticsearch
  • 二、Elasticsearch 下载&安装
  • 三、Elasticsearch 安装&查看插件
  • 四、Elasticsearch 本地集群搭建

一、什么是 Elasticsearch

Elasticsearch 是开源的分布式全文搜索引擎,它底层基于 Apache Lucene,具备高伸缩、高可靠、易管理等特点。提供搜索、分析、数据存储三大功能。特点包括分布式、RESTFul 接口、索引自动分片、副本机制、多数据源以及搜索负载等等。

根据 DB-Engines 的排名显示,Elasticsearch 是最受欢迎的企业搜索引擎,其次是Apache Solr,它也是基于Lucene。

今天,小哈就手摸手带着大家学会 Elasticsearch 单机、集群、插件安装步骤,附有丰富的图文哦~

二、Elasticsearch 下载&安装

2.1 安装 Java

在安装 Elasticsearch 之前,您需安装并配置好 JDK, 设置好环境变量 $JAVA_HOME

众所周知,Elasticsearch 版本很多,不同的版本对 Java 的依赖也有所差别:

  • Elasticsearch 5 需要 Java 8 以上版本;
  • Elasticsearch 6.5 开始支持 Java 11;
  • Elasticsearch 7.0 开始,内置了 Java 环境,所以说,安装 7.0+ 版本会方便很多。

2.2 下载 Elasticsearch

访问 Elasticsearch 官网 https://www.elastic.co/cn/downloads/elasticsearch 下载安装包:

笔者这里下载的是 MAC 系统 Elasticsearch V7.1.0 版本作为演示。

2.3 解压

下载成功后,解压到指定目录:

  1. tar -zxvf elasticsearch-7.1.0-darwin-x86_64.tar.gz

进入解压后的目录,结构如下:

2.4 Elasticsearch 目录、配置文件说明、注意点

这里大概解答下各个目录、配置文件的作用:

目录 配置文件 描述
bin 放置脚本文件,如启动脚本 elasticsearch, 插件安装脚本等。
config elasticserch.yml elasticsearch 配置文件,如集群配置、jvm 配置等。
jdk java 运行环境
data path.data 数据持久化文件
lib 依赖的相关类库
logs path.log 日志文件
modules 包含的所有 ES 模块
plugins 包含的所有已安装的插件

注意点:

  • 有些童鞋的机器内存可能不够,就需要修改 JVM 参数,配置文件路径为 config/jvm.options,ES V7.1 版本默认为 1g, 老版本为 2g, 你可以自行修改。
  • Xmx Xms 数值请设置相同;
  • Xmx 不要超过机器内存的 50%
  • 内存总量不要超过 30GB, 参见官方文档 https://www.elastic.co/cn/blog/a-heap-of-trouble

2.5 运行 Elasticsearch

执行启动命令:

  1. bin/elasticsearch

看到启动日志中有 started关键字,就表示启动成功了。

另外,我们还可以通过访问 Elasticsearch 9200端口来实际验证一下:

  1. curl localhost9200

返回了 Elasticsearch 相关元数据,如版本信息 7.1.0,就明确表示大工告成,可以好好地玩耍了。

之前,小哈还原创过一篇《Docker 快速安装&搭建 Elasticsearch 环境》,其中包含如何通过 Docker 来安装 Elasticsearch, 有兴趣的小伙伴可以看下。

2.6 Elasticsearch 关闭

通过如下命令,找出正在运行的 ES 进程 PID:

  1. ps -ef | grep elasticsearch

执行 kill 命令,即可关闭 Elasticsearch 进程:

  1. kill pid

三、Elasticsearch 安装&查看插件

3.1 查看已安装的插件

在 Elasticsearch 解压包的根目录下,通过如下命令,可以查看当前已安装的插件:

  1. bin/elasticsearch-plugin list

这里由于是第一次安装 Elasticsearch,还没有安装任何插件,所以显示的列表为空。

3.2 安装插件

安装插件命令格式如下:

  1. bin/elasticsearch-plugin install {插件名称}

我们选择国际化分词插件 analysis-icu, 尝试去安装它:

  1. bin/elasticsearch-plugin install analysis-icu

可以看到插件安装成功了。

细心的小伙伴可能看到,控制台日志中有警告⚠️信息,这个会有影响么?

答案是: 不影响

小哈特意去 Elasticsearch GitHub issues 看了一下:

接下来,再通过 bin/elasticsearch-plugin list命令就可以看到 analysis-icu插件已经显示在列表中了:

除了上面这种方式外,还可以通过如下接口来查看:

  1. GET /_cat/plugins

如图所示:

拓展:Elasticsearch 提供插件的机制,允许开发者对系统进行拓展。比如,通过插件的机制,来增加安全权限的管控,可参考开源的 ES 插件 Search Guard.

四、Elasticsearch 本地集群搭建

我们将演示,如何在本机上搭建一个多节点的 Elasticsearch 集群。

这个集群中会有 4 个节点,分别是 node0node1node2node3

启动命令如下:

  1. bin/elasticsearch -E node.name=node0 -E cluster.name=xiaoha-cluster -E path.data=node0_data -d
  2. bin/elasticsearch -E node.name=node1 -E cluster.name=xiaoha-cluster -E path.data=node1_data -d
  3. bin/elasticsearch -E node.name=node2 -E cluster.name=xiaoha-cluster -E path.data=node2_data -d
  4. bin/elasticsearch -E node.name=node3 -E cluster.name=xiaoha-cluster -E path.data=node3_data -d

小伙伴们可能会说:启动命令后面的参数都是啥意思?

看图:

启动成功后,我们可以通过 /_cat/nodes API 来查看集群节点信息:

  1. GET /_cat/nodes

注意: 执行命令后,不要立即验证节点是否启动成功,因为启动成功需要花费一些时长,稍等片刻,就能看到被成功启动的节点了。

接下来,通过 CURL 命令来查看一下节点信息:

  1. curl localhost:9200/_cat/nodes

可以看到,一共 4 个节点,是 OK 的,另外,我们也可以通过 HEAD 插件来查看:

至此,一个 4 节点的 Elasticsearch 集群的本地环境搭建完毕。

五、结语

本文中,小哈手摸手带着大家学会了 Elasticsearch 单机、集群、插件的安装,希望小伙伴们看完后,有所收获,下期见哦~

欢迎关注微信公众号: 小哈学Java

关注笔者的微信公众号: 小哈学Java, 每日第一时间推送干货文章, 另外, 笔者个人吐血整理了 100G 的学习资料, 关注回复「666」即可免费无套路领取哟~

原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装(图文教程)的更多相关文章

  1. 【原创】《从0开始学Elasticsearch》—集群健康和索引管理

    内容目录 1.搭建Kibana2.集群健康3.索引操作 1.搭建Kibana 正如<Kibana 用户手册>中所介绍,Kibana 是一款开源的数据分析和可视化平台,因此我们可以借助 Ki ...

  2. ELK之 elasticsearch ES集群 head安装

    最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止 ...

  3. elasticsearch + kibana + x-pack + logstash_集群部署安装

    elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...

  4. 【手摸手,带你搭建前后端分离商城系统】01 搭建基本代码框架、生成一个基本API

    [手摸手,带你搭建前后端分离商城系统]01 搭建基本代码框架.生成一个基本API 通过本教程的学习,将带你从零搭建一个商城系统. 当然,这个商城涵盖了很多流行的知识点和技术核心 我可以学习到什么? S ...

  5. 【手摸手,带你搭建前后端分离商城系统】02 VUE-CLI 脚手架生成基本项目,axios配置请求、解决跨域问题

    [手摸手,带你搭建前后端分离商城系统]02 VUE-CLI 脚手架生成基本项目,axios配置请求.解决跨域问题. 回顾一下上一节我们学习到的内容.已经将一个 usm_admin 后台用户 表的基本增 ...

  6. 【转】手摸手,带你用vue撸后台 系列二(登录权限篇)

    前言 拖更有点严重,过了半个月才写了第二篇教程.无奈自己是一个业务猿,每天被我司的产品虐的死去活来,之前又病了一下休息了几天,大家见谅. 进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常 ...

  7. 【转】手摸手,带你用vue撸后台 系列三(实战篇)

    前言 在前面两篇文章中已经把基础工作环境构建完成,也已经把后台核心的登录和权限完成了,现在手摸手,一起进入实操. Element 去年十月份开始用vue做管理后台的时候毫不犹豫的就选择了Elemen, ...

  8. 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)

    前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...

  9. 【转】手摸手,带你用vue撸后台 系列一

    前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录 ...

随机推荐

  1. java多线程中wait/notify/sleep/join/yield方法以及多线程的六种状态

    刚开始学线程的时候也是被这几个方法搞的云里雾里的,尤其是一开始看的毕老师的视频,老师一直在强调执行权和执行资格,看的有点懵逼,当然不是说毕老师讲的不好,就是自己有点没听明白,后来复习看了一些其他的博客 ...

  2. 201412-2 Z字形扫描(c语言)

    问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 ...

  3. vscode导入已存在的vue.js工程

    1.安装vue_cli 如果安装了npm,直接在命令行输入npm install -g vue-cli,安装在全局组件目录下 完成后,可以在命令测试下 2.导入工程 打开vscode-------&g ...

  4. 100天搞定机器学习|Day22 机器为什么能学习?

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  5. linux下实现并发逻辑

    ################shell 模拟实现并发跑数#################有时候我们知道一些程序是可以同时跑的,互不影响,为了提高效率不得不使用并发跑脚本 #1.思路一我们都知道在 ...

  6. mysql 输入show databases 没反应

    我是小白,大佬勿喷 *** mysql 输入show databases 没反应 一句话 不要忘记使用MySQL时在命令后加;哦 * * * 在Linux输入以下命令 mysql 终端显示以下文本 W ...

  7. 如何在onCreate中获取View的高度和宽度

    如何在onCreate中获取View的高度和宽度 原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&mid=2247483676&am ...

  8. 写论文的第四天 Spark安装 使用sparkshell

    Spark分布式安装 Spark安装注意:需要和本机的hadoop版本对应 前往spark选择自己相对应的版本下载之后进行解压 命令:tar –zxf spark-2.4.0-bin-hadoop2. ...

  9. CSS3的滤镜filter属性

    css3的滤镜filter属性,可以对网页中的图片进行类似Photoshop图片处理的效果,例如背景的毛玻璃效果.老照片(黑白照片).火焰效果等. 一.blur(px)高斯模糊 二.brightnes ...

  10. css3弹性盒子 flex布局

    CSS3 弹性盒 1.display:flex 说明: 设置为弹性盒(父元素添加) 2.flex-direction(主轴排列方式) 说明: 顺序指定了弹性子元素在父容器中的位置 row 默认在一行内 ...