10分钟安装Elasticsearch

关注公众号 itweknow,回复“ES”获取《Elasticsearch权威指南 中文版》。

最近在尝试着搭建一个ELK(一个开源的实时日志分析平台),而本文所讲的Elasticsearch(下文简称ES)就是其中的E。这篇文章我们就一起来看下如何在Ubuntu上安装ES。至于ELK平台的搭建过程,后续会有文章介绍。

什么是ES

ES是个开源分布式搜索引擎,它具有以下特点。

  • 查询:ES允许执行和合并多种类型的搜索 — 结构化、非结构化、地理位置、度量指标 — 搜索方式随心而变。
  • 分析:ES聚合让您能够从大处着眼,探索数据的趋势和模式。
  • 速度:ES很快。真的,真的很快。
  • 可扩展性:可以在笔记本电脑上运行。也可以在承载了PB级数据的成百上千台服务器上运行。
  • 弹性:ES运行在一个分布式的环境中,从设计之初就考虑到了这一点。
  • 灵活性:具备多个案例场景。数字、文本、地理位置、结构化、非结构化。所有的数据类型都欢迎。

ES能干啥

ES建立在全文搜索引擎Apache Lucene(TM)的基础之上。但它并不像Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:

  • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
  • 实时分析的分布式搜索引擎。
  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

因为数据量庞大之后关系型数据库的查询速度会下降的非常快,很多情况下我们会将一些数量级非常庞大的数据存储在ES中,比如说服务运行过程中产生的日志等。

ES的安装

简单的介绍了一下ES之后,我们回归正题,进入ES的安装步骤。在安装之前,你需要做如下准备:

1.由于ES不能以root用户运行,所以我们需要为其创建一个其他用户。

root@es01:~# useradd -m es
# 密码
root@es01:~# passwd es
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
# 为该用户指定命令解释程序(通常为/bin/bash)
root@es01:~# usermod -s /bin/bash es

2.将ES的安装包copy到~/es/目录下,并解压。

es@es01:~/es$ tar -xzvf elasticsearch-7.3.0-linux-x86_64.tar.gz

3..启动Elasticsearch

cd elasticsearch-7.3.0/
bin/elasticsearch

4.另起会话窗口执行curl http://localhost:9200命令,若看到如下信息则代表安装成功。

es@es01:~$ curl http://localhost:9200
{
  "name" : "es01",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "V7athqhfT8KM4G6cjwQgsA",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

安装中遇到的问题

在安装ES的过程中,也遇到了两个问题,在此处记录,希望能给大家帮助。

1.问题一:内存不足,报错如下:

内存不足

解决方案是,修改elasticsearch-7.3.0/config/jvm.options文件中的下面的配置为适合自己机器的内存大小,若修改后还是报这个错误,可重新连接服务器再试一次。

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms512m
-Xmx512m

2.问题二:如果您是以root用户启动的话,就会报如下错误。

root用户运行ES报错

解决方案自然就是添加一个新用户启动ES,添加用户的方法上面有提到。

结束语

本文只是简单的介绍了安装单机版的ES,为了维持ES的高可用性通常ES都是以集群的方式出现。对于集群的搭建以及ES的详细使用介绍会在后面的文章中逐一讲解。如果您想现在学习的话,关注公众号itweknow回复ES获取《Elasticsearch权威指南 中文版》。

PS:码不停蹄,学无止境!如果您喜欢我的文章,就关注我吧!

扫码关注“代码无止境”
posted @ 2019-08-12 08:10  代码无止境  阅读(602)  评论(0编辑  收藏  举报