关注公众号 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的安装步骤。在安装之前,你需要做如下准备:
- 一台Linux机器或虚拟机。
- 在机器上安装上Java环境,安装过程可以参考《在Ubuntu上安装JDK1.8》这篇文章。
- 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用户启动的话,就会报如下错误。
解决方案自然就是添加一个新用户启动ES,添加用户的方法上面有提到。
结束语
本文只是简单的介绍了安装单机版的ES,为了维持ES的高可用性通常ES都是以集群的方式出现。对于集群的搭建以及ES的详细使用介绍会在后面的文章中逐一讲解。如果您想现在学习的话,关注公众号itweknow回复ES获取《Elasticsearch权威指南 中文版》。
PS:码不停蹄,学无止境!如果您喜欢我的文章,就关注我吧!