Linux安装ElasticSearch

这篇具有很好参考价值的文章主要介绍了Linux安装ElasticSearch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux安装ElasticSearch



0. 写在前面

  • Linux版本:CentOS7.5
  • ES版本:ElasticSearch-7.8.0

1. 环境准备

  • 运行ElasticSearch,需要安装并配置JDK
    • 设置$JAVA_HOME
  • ElasticSearch各个版本对Java的依赖可参考官网:https://www.elastic.co/cn/support/matrix#matrix_jvm
    • ElasticSearch5.X需要Java8以上的版本
    • ElasticSearch从V6.5开始支持Java11
    • V7.0版本开始,内置了Java环境
  • ElasticSearch比较消耗内存,建议虚拟机4G或以上内存,jvm1g以上的内存分配

可以参考es(Windows环境下)文件elasticsearch-env.bat

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

2. ES安装

2.1ES解压

  • 安装包下载地址

https://www.elastic.co/downloads/past-releases/elasticsearch-7-8-0

2.2 新增普通用户

因为安全问题,Elasticsearch 不允许 root 用户直接运行, 所以要创建一个ES专属的普通用户es

[whybigdata@node02 ~]$ sudo useradd es
[whybigdata@node02 ~]$ sudo passwd es
更改用户 es 的密码 。
新的 密码:
passwd:所有的身份验证令牌已经成功更新。

2.3 给新创建的普通用户授权

[whybigdata@node02 ~]$ chown -R es:es /opt/module/es-7.8.0

2.4 给新创建的普通用户设置sudo权限

[whybigdata@node02 ~]$ vim /etc/sudoers
[whybigdata@node02 ~]$ vim /etc/sudoers

root ALL(ALL) ALL下面新增

es ALL(ALL) ALL

  • 或者:
# 使用root用户执行
visudo
# 在 root	ALL(ALL)	ALL下面新增
es	ALL(ALL)	ALL

2.5 前置准备

[whybigdata@node02 ~]$ vim /etc/security/limits.conf

在文件末尾中增加下面内容:每个进程可以打开的文件数的限制

es soft nofile 65536 
es hard nofile 65536
[whybigdata@node02 ~]$ vim /etc/security/limits.d/20-nproc.conf

在文件末尾中增加下面内容 :每个进程可以打开的文件数的限制;操作系统级别对每个用户创建的进程数的限制

es soft nofile 65536 
es hard nofile 65536

* hard nproc 4096

注:* 带表 Linux 所有用户名称

[whybigdata@node02 ~]$ sudo vim /etc/sysctl.conf

在文件中增加下面内容:一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536

vm.max_map_count=655360
  • 保存后执以下命令使配置生效
[whybigdata@node02 ~]$ sudo sysctl -p
vm.max_map_count = 262144
修改JVM配置
################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
-Xms1g
-Xmx1g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##

主要修改以下参数值

cluster.name: my-application

node.name: node-1

path.data: ./data

path.logs: ./logs

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

Note:cluster.initial_master_nodes必须配置(即使名字跟默认的一样,也要放开注释),否则启动失败,失败日志「elasticsearch.log」说如下:

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

启动es

[es@node02 es-7.8.0]$ bin/elasticsearch -d
future versions of Elasticsearch will require Java 11; your Java version from [/opt/module/jdk1.8.0_212/jre] does not meet this requirement
future versions of Elasticsearch will require Java 11; your Java version from [/opt/module/jdk1.8.0_212/jre] does not meet this requirement
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to No such file or directory

[es@node02 es-7.8.0]$ jps
76151 Jps
76110 Elasticsearch

[es@node02 es-7.8.0]$ ps -ef | grep es
root          1      0  0 14:45 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
dbus        592      1  0 14:45 ?        00:00:02 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root      68926   1742  0 19:29 pts/0    00:00:00 su - es
es        68943  68926  0 19:29 pts/0    00:00:00 -bash
es        76110      1 21 19:46 pts/0    00:00:40 /opt/module/jdk1.8.0_212/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,JRE -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=/tmp/elasticsearch-3279581942497379597 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -XX:MaxDirectMemorySize=536870912 -Des.path.home=/opt/module/es-7.8.0 -Des.path.conf=/opt/module/es-7.8.0/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /opt/module/es-7.8.0/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
es        76171  76110  0 19:46 pts/0    00:00:00 /opt/module/es-7.8.0/modules/x-pack-ml/platform/linux-x86_64/bin/controller
es        77441  68943  0 19:49 pts/0    00:00:00 ps -ef
es        77442  68943  0 19:49 pts/0    00:00:00 grep --color=auto es

启动成功,Web页面如下:

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

Note:注意启动ES不要使用root用户,否则会出现以下错误日志

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

3. Kibana安装

  • 下载地址:

https://www.elastic.co/downloads/past-releases/kibana-7-8-0

3.1 上传并解压tar文件

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

进入到config目录,修改kibana.yml文件

# 服务端口
server.port: 5601
# 运行服务的IP设置
server.host: "0.0.0.0"
# elasticsearch访问地址
elasticsearch.hosts: ["http://localhost:9200"]
# kibana汉化
i18n.locale: "zh-CN"

进入bin目录,后台启动kibana

nohup ./kibana & 

服务Web端:http://node02:5601/

4. ik分词器的安装

ES提供插件机制对系统进行扩展,下文在线安装以icu分词器的安装为例子,离线安装以ik分词器为例子:

4.1 为什么要安装其他分词器

ES默认的分词器为standard标准分词器,如下图的执行结果

  • 示例

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

  • 标准分词器执行结果

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

「中华人民共和国」这一整体被拆分为一个一个字,并不是很友好。下文会展示使用其他分词器在同一示例下的执行结果

4.2下载地址

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip

[es@node02 ~]$ cd /opt/module/es-7.8.0/plugins
[es@node02 plugins]$ mkdir ik-7.8.0
[es@node02 plugins]$ cd /opt/software/
[es@node02 software]$ ll
总用量 3192
-rw-rw-r-- 1 whybigdata whybigdata 3267201 119 10:54 elasticsearch-analysis-ik-7.8.0.tar.gz
[es@node02 software]$ tar -zxvf elasticsearch-analysis-ik-7.8.0.tar.gz -C /opt/module/es-7.8.0/plugins/ik-7.8.0/

启动es,报错信息如下:

[2023-01-19T11:05:00,534][ERROR][o.e.b.Bootstrap          ] [node-1] Exception
java.lang.IllegalStateException: Could not load plugin descriptor for plugin directory [ik-7.8.0]
.......
[2023-01-19T11:05:00,542][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Could not load plugin descriptor for plugin directory [ik-7.8.0]
....

在线安装

[es@node02 ~]$ /opt/module/es-7.8.0/bin/elasticsearch-plugin --help
future versions of Elasticsearch will require Java 11; your Java version from [/opt/module/jdk1.8.0_212/jre] does not meet this requirement
A tool for managing installed elasticsearch plugins

Commands
--------
list - Lists installed elasticsearch plugins
install - Install a plugin
remove - removes a plugin from Elasticsearch

Non-option arguments:
command

Option             Description
------             -----------
-E <KeyValuePair>  Configure a setting
-h, --help         Show help
-s, --silent       Show minimal output
-v, --verbose      Show verbose output
  • 查看已安装的插件
[es@node02 ~]$ cd /opt/module/es-7.8.0/
[es@node02 es-7.8.0]$ bin/elasticsearch-plugin list
  • 安装插件
[es@node02 es-7.8.0]$ bin/elasticsearch-plugin install analysis-icu
  • 删除插件
[es@node02 es-7.8.0]$ bin/elasticsearch-plugin remove analysis-icu

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

Note:安装和删除完插件之后,需要重启ES服务才能生效!

  • 示例:icu分词器

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

  • 执行结果

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

ik分词器不能在线安装,需要离线安装

离线安装

[es@node02 software]$ unzip elasticsearch-analysis-ik-7.8.0.zip -d /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/
Archive:  elasticsearch-analysis-ik-7.8.0.zip
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/elasticsearch-analysis-ik-7.8.0.jar
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/httpclient-4.5.2.jar
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/httpcore-4.4.4.jar
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/commons-logging-1.2.jar
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/commons-codec-1.9.jar
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/plugin-descriptor.properties
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/plugin-security.policy
   creating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/main.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/quantifier.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/extra_single_word_full.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/IKAnalyzer.cfg.xml
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/surname.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/suffix.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/stopword.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/extra_main.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/extra_stopword.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/preposition.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/extra_single_word_low_freq.dic
  inflating: /opt/module/es-7.8.0/plugins/analysis-ik-7.8.0/config/extra_single_word.dic

ik分词器有粒度之分

  • 粗粒度:ik_smart

示例

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

结果

{
  "tokens" : [
    {
      "token" : "中华人民共和国",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    }
  ]
}
  • 细粒度:ik_max_word

示例

linux elasticsearch 安装,大数据技术栈文档,elasticsearch,linux,大数据

结果

{
  "tokens" : [
    {
      "token" : "中华人民共和国",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "中华人民",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "中华",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 2
    },
    {
      "token" : "华人",
      "start_offset" : 1,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 3
    },
    {
      "token" : "人民共和国",
      "start_offset" : 2,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 4
    },
    {
      "token" : "人民",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 5
    },
    {
      "token" : "共和国",
      "start_offset" : 4,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 6
    },
    {
      "token" : "共和",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "CN_WORD",
      "position" : 7
    },
    {
      "token" : "国",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "CN_CHAR",
      "position" : 8
    }
  ]
}

创建索引时可以指定ik分词器作为默认分词器

PUT /es_db
{
 	"settings" : {
        "index" : {
            "analysis.analyzer.default.type": "ik_max_word"
        }
    }
}

结束!文章来源地址https://www.toymoban.com/news/detail-782856.html

到了这里,关于Linux安装ElasticSearch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot+Elasticsearch使用resthighlevelclient对象删除指定的文档数据

    使用客户端删除 在 Kibana 中,你可以使用 Dev Tools 或者 Console 来执行 Elasticsearch 查询和删除操作。 ​ 以下是一个使用 Dev Tools 执行删除文档的示例: ​ 1.打开 Kibana,转到左侧导航栏的 “Dev Tools” 或者 “Console”。 ​ 2.在 Dev Tools 或者 Console 中输入如下删除请求: 请替换 /

    2024年01月23日
    浏览(50)
  • Hbase--技术文档--单机docker基础安装(非高可用)

    配置Linux服务器华为云耀云服务器之docker安装,以及环境变量安装 java (虚拟机一样适用)_docker配置java环境变量_一单成的博客-CSDN博客 说明:         本文章安装方式为学习使用的单体hbase项目。主要是 学习!学习!         在docker中直接拉取镜像运行,将端口映射出来

    2024年02月11日
    浏览(35)
  • kubernetes--技术文档--可视化管理界面dashboard安装部署

            使用官方提供的可视化界面来完成。         Kubernetes Dashboard是Kubernetes集群的Web UI,用户可以通过Dashboard进行管理集群内所有资源对象,例如查看资源对象的运行情况,部署新的资源对象,伸缩Deployment中的Pod数量等等一系列操作。         需要:      

    2024年02月12日
    浏览(41)
  • 智能文档图像处理技术:解决大数据时代文档图像处理难题

    智能文档图像处理技术是指利用计算机视觉和人工智能等技术对文档图像进行处理和分析,实现自动化识别、提取、分类和管理的技术。随着人工智能时代的到来和各行业信息化进程的加速,越来越多的个人和企业用户开始借助智能文档图像处理技术来提高工作效率,降低人

    2024年02月09日
    浏览(49)
  • Mysql--技术文档--B+树-数据结构的认知

    之前的文章中写道了有关mysql底层索引,那么在数据量特别大的情况下。mysql采用了B+来管理索引。和存储的数据。 Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引_一单成的博客-CSDN博客 B树解读: Mysql--技术文档--B树-数据结构的认知_一单成的博客-CS

    2024年02月09日
    浏览(46)
  • logstack 日志技术栈-05-windows10 安装 Elasticsearch elasticsearch-8.11.1 实战笔记

    访问 Elasticsearch 下载页面 解压下载的压缩文件到你选择的目录。 进入 Elasticsearch 目录,运行 bin/elasticsearch.bat 启动 Elasticsearch。 elaasticsearch的默认访问路径是localhost:9200,我们打开浏览器直接访问即可。 如果访问不了也没关系,我们可以先修改配置文件之后再进行访问。 注意

    2024年01月21日
    浏览(51)
  • Linux Ubuntu man文档的图文安装教程

    当提及\\\"man文档\\\"时,通常是指Unix和类Unix系统中的 手册页(man page) ,因为Linux是在Unix的基础上发展而来的操作系统,所以我们的Linux也有man文档。下面我将详细介绍man文档的起源、作用以及在Ubuntu系统中如何安装man文档。 man文档最早出现在Unix操作系统中,它以\\\"man\\\"(代表手

    2024年02月11日
    浏览(41)
  • 最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)

      最近笔者学习Elasticsearch,官方最新稳定版为 Elasticsearch-8.4.3,想在云服务器上Centos7.9搭建。搭建之路坑多路少啊(指网上的博文教程五花八门,基本都是ES7版本居多,ES8有少数,各种配置参数一头雾水,细节不多说,照搬了踩坑跌得头破血流),对小菜的我来说,简直要

    2024年02月02日
    浏览(63)
  • 健身中心健身管理系统的设计与实现(源码+数据脚本+论文+技术文档)

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇健身中心健身管理系统的

    2024年02月04日
    浏览(63)
  • linux系统安装elasticsearch教程_linux 安装es

    下载elasticsearch,地址下载中心 - Elastic 中文社区,kibana也可以在这里下载 官网下载地址:Download Elasticsearch | Elastic 创建一个文件夹,上传到服务器,/home/aitpm/software_elasticsearch 解压到当前目录 tar -xvf  elasticsearch-7.9.3-linux-x86_64.tar.gz 2、更改文件夹所属者 因为elasticsearch  不能使

    2024年04月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包