ElasticSearch学习笔记Ⅰ - 安装

本文详细记录了ElasticSearch的安装过程,包括版本选择、单实例安装、Head插件安装以及分布式安装。在安装过程中,作者遇到了权限、跨域等问题,并给出了解决方案,帮助读者更好地理解和配置ElasticSearch。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前公司的项目中使用到了ElasticSearch,而自己之前虽然久闻ES大名,但也只是看了一些相关的杂乱的东西,所以很有必要系统地学习并梳理一下ElasticSearch的整个知识架构。

推荐ES官方的QuickStart

一. 简介

ElasticSearch是一个分布式、可扩展、实时的搜索与数据分析引擎,它能从项目一开始就赋予你的数据以搜索、分析和探索的能力。它基于Apache Lucene构建,并且是开源的。Lucene被认为是迄今为止性能最好的开源搜索引擎,但相对复杂,很难集成到日常应用中。而ElasticSearch是基于Java编写的,并且提供简单的RESTful API,可以轻松实现搜索功能。同时它可以进行轻松的横向扩展,支持PB级的结构化和非结构化数据处理,也就是当存储容量不足时,可以不断地加节点来解决。它有以下的应用场景:

  • 海量数据分析引擎:例如海量日志数据,可以利用ES的聚合搜索功能来统计分析一些指标数据
  • 站内搜索引擎:简单的继承、封装即可实现站内搜索引擎
  • 数据仓库:强大的分布式存储能力,可以直接作为数据仓库产品使用

BAT、GitHub、Google都在使用ElasticSearch。

二.ES安装

2.1 版本问题

版本历史:1.x  ->  2.x  ->  5.x,版本号之所以不连续,是因为ES属于ELK(ElasticSearch、Logstash、Kibana)技术栈中的一个,当时各个中间件的版本迭代更新速度不同,导致版本号混乱。为了统一,ES出了5.0版本,统一了整个系列的版本号。

2.2 单实例安装

打开ES官网,点击右上角Downloads,在弹出的产品中选择ES,我选择下载linux版本,可以直接复制下载链接,虚拟机里wget下载,但是网速太慢。我还是在windows里面迅雷下载之后把tar.gz文件在我的虚拟机(linux 4.15.0-29-generic、ubuntu 7.3.0)中解压缩。看一下解压之后的核心目录:

启动ES命令: ./bin/elasticsearch

报错1:can not run elasticsearch as root,默认情况下ES不建议使用root用户启动,所以需要使用普通用户启动

报错2:Exception in thread "main" java.nio.file.AccessDeniedException: /usr/es/elasticsearch-7.0.1/config/jvm.options,上面切换了普通用户之后,权限不足,需要授权给我的普通用户haozz:sudo chown -R haozz elasticsearch-7.0.1/

再次启动正常,启动日志如下:

[2019-05-12T00:38:11,845][INFO ][o.e.e.NodeEnvironment    ] [haozz-virtual-machine] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [9.2gb], net total_space [19.5gb], types [ext4]
[2019-05-12T00:38:11,853][INFO ][o.e.e.NodeEnvironment    ] [haozz-virtual-machine] heap size [990.7mb], compressed ordinary object pointers [true]
[2019-05-12T00:38:11,856][INFO ][o.e.n.Node               ] [haozz-virtual-machine] node name [haozz-virtual-machine], node ID [Baijs2IgSieVJdTmxY9t3g]
[2019-05-12T00:38:11,859][INFO ][o.e.n.Node               ] [haozz-virtual-machine] version[7.0.1], pid[2662], build[default/tar/e4efcb5/2019-04-29T12:56:03.145736Z], OS[Linux/4.15.0-29-generic/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_131/25.131-b11]
[2019-05-12T00:38:11,864][INFO ][o.e.n.Node               ] [haozz-virtual-machine] JVM home [/usr/java/jdk1.8.0_131/jre]
[2019-05-12T00:38:11,866][INFO ][o.e.n.Node               ] [haozz-virtual-machine] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -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, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值