热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux安装elasticsearch7.x

前言Elaticsearch,简称为ES,ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时地存储、检索数据;本身

前言

Elaticsearch,简称为ESES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时地存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别(大数据时代)的数据。ES由 Java 语言开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTFULL API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。据国际权威的数据库产品评测机构 DB Engines 的统计,在2016 年1月,ElasticSearch 已超过 Solr 等,成为排名第一的搜索引擎类应用。


1、ES 的下载安装(Linux 下安装)

1.1、下载ES

环境要求:JDK版本最低为1.8 并且系统中已经配置好 JAVA 环境

下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-1

1.2、安装ES

1.2.1、ES压缩包上传

我们将ES 的压缩包下载到本机电脑后,通过 XFTP 这个上传到服务器或者虚拟机指定文件夹位置:

接下来使用 XShell 工具连接到服务器或者虚拟机

1.2.2、ES压缩包解压

解压命令:tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz

解压后的文件夹修改下名字,方便输入:mv elasticsearch-7.6.1 elasticsearch7

1.2.3、ES目录介绍

bin:下面存放着Es启动文件 elasticsearch.bat/elasticsearch
config:配置目录
data:数据目录
jdk、lib:Java运行环境以及依赖包
logs:日志目录
modules、plugins:模块及插件目录,head插件可以存放在plugins目录下

1.3、ES相关配置

1.3.1、基础配置

ES 本身其实也相当于是一个数据库,为此,我们在 elasticsearch7 文件夹下自己建一个 data 文件夹,用于存放数据:mdkir data

进入 data 文件夹下,执行 pwd 命令拷贝下该文件夹的路径,下面配置要用到!

修改配置文件elasticsearch.yml,我们进入elasticsearch7 这个文件夹下的config 文件夹,编辑 elasticsearch.yml 文件:vim elasticsearch.yml

下面 wq 保存退出,回到elasticsearch7 文件夹下,进入 logs 文件夹,pwd 查看该文件夹路径,并复制!

如:/usr/local/src/software/elasticsearch7/logs,然后重新到 config 目录下编辑elasticsearch.yml 文件:

1.4、跨域配置

在config目录下的elasticsearch.yml文件末尾添加跨域允许:

# 跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

2、ES 的分词器插件


ES 自己默认带有分词器,但是支持的是英文分词,所以我们要安装一个可以对中文分词的插件


2.1、IK 分词器下载

然后我们就可以使用Xshell 对其进行操作:

2.2、IK 分词器压缩包解压到ES 插件文件夹下

首先我们进入 elasticsearch7 文件夹下的 plugins 文件夹下,新建一个 ik 文件夹,用于存放 IK 分词器插件:

然后我们在 software 文件夹下,将 IK 分词器的压缩包解压到 ik 文件中去,命令为:unzip elasticsearch-analysis-ik-7.6.1.zip -d /usr/local/src/software/elasticsearch7/plugins/ik,如果出现以下问题:

 

 

需要先下载 unzip 命令:yum install unzip zip,然后再执行解压命令:unzip elasticsearch-analysis-ik-7.6.1.zip -d /usr/local/src/software/elasticsearch7/plugins/ik

然后我们到 ik 目录下检查是否解压成功:

 

 

2.3、IK 分词器的配置文件

默认分词配置

进入ik 目录下的 config 目录:

进入查看下 extra_main.doc 配置文件:

可以看出,汉字相关的分词配置都是在配置文件中一个一个地枚举出来的!


3、ES 服务启动与关闭

进入bin 目录,执行命令:./elasticsearch 运行ES 服务!后台运行命令:./elasticsearch -d

关闭ES 服务:ps -ef|grep elastic 查看进程,并使用 kill -9 进程id 来结束进程!


可能出现问题一

在服务器上跑 ES 如果启动时出现以下错误:

这种情况说明,内存不够了,服务器(学生机1核2g)内存较小,不足以启动ES服务,因为ES 默认启动内存大小就要求2g!


解决方案一

可以修改 config 下的 jvm.options 配置文件,将运行大小 2g 修改为 1g(还是不行的话,再小设置到256m):


解决方案二

使用top命令查看占用内存多的进程将其结束:

踩坑,因为我这个学生机上有正在运行的 java 项目,包括 zookeeper 和 kafka等等服务,所以我换台学生机测试


可能出现问题二

如果出现下面这种问题:

说明不能以root 用户去启动 ES 服务!


解决方案


  • 新建一个用户elasticsearch,命令: adduser elasticsearch
  • 在software 目录下 赋予 elasticsearch7 这个文件夹的权限给 elasticsearch 用户,命令:chown -R elasticsearch elasticsearch7

 


  • su elasticsearch 命令,切换到 elasticsearch 用户,并重新到 bin 目录下执行 ES服务

可能出现问题三

ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案


  • 修改配置sysctl.conf vim /etc/sysctl.conf
  • 在最后一行添加下面配置: vm.max_map_count=655360
  • 保存后退出并执行命令: sysctl -p

然后,重新启动 elasticsearch,即可启动成功。


可能出现问题四

ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

解决方案

在elasticsearch的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:

 

 

3.1、阿里云开放安全组端口

 

 


4、测试访问ES服务

访问成功,说明ES启动成功了!

 


推荐阅读
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
author-avatar
喜生-Da
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有