ElasticSearch学习笔记Ⅰ - 安装

目前公司的项目中使用到了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.recycle
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
elasticsearch 学习笔记包括以下内容: 一、Elasticsearch概述: - Elasticsearch是一种开源的分布式搜索和分析引擎,可以用于快速搜索、分析和存储大量的结构化和非结构化数据。 - Elasticsearch与Solr相比有一些区别,包括用户、开发和贡献者社区的规模和成熟度等方面。 二、Elasticsearch安装: 1. 下载Elasticsearch,可以从官方网站或华为云镜像下载。 2. 安装Elasticsearch。 三、安装head插件: - head插件是一个可视化的管理界面,可以方便地管理和监控Elasticsearch集群。 四、安装Kibana: 1. Kibana是一个开源的数据可视化工具,用于展示和分析Elasticsearch中的数据。 2. 下载Kibana并安装。 3. 启动Kibana并进行访问测试。 4. 可选的汉化操作。 五、ES核心概念理解: - 学习ES的核心概念,包括索引、文档、映射、查询等。 以上是elasticsearch学习笔记的主要内容,希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elasticsearch 学习笔记(上)](https://blog.csdn.net/m0_52691962/article/details/127064350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值