Elasticsearch(一): 基本介绍及环境搭建

77 阅读4分钟

Elasticsearch是一个非常强大的数据产品,我们常用的查询系统、日志系统都有他的身影。

今天是Elasticsearch的第一篇文章,在这篇文章中我们主要包括如下两部分:

  • Elasticsearch的基本介绍
  • Elasticsearch的环境搭建

1 Elasticsearch的基本介绍

倒排索引和Lucene相关的知识,网上相关的文档有很多,我们这里就不再进行介绍了。

Elasticsearch是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch在Apache Lucene的基础上开发而成,于2010年首次发布。Elasticsearch以其简单的REST风格API、分布式特性、速度和扩展性而闻名,是Elastic Stack的核心组件。

Elastic Stack是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。人们通常将Elastic Stack称为ELK Stack(代指Elasticsearch、Logstash和Kibana),目前Elastic Stack包括一系列丰富的轻量型数据采集代理,这些代理统称为Beats,可用来向Elasticsearch发送数据。

Elasticsearch具备以下的特点:

  • 速度快
  • 分布式
  • 支持海量数据
  • 使用REST风格API,操作简单

Elasticsearch常用以下应用场景:

  • 业务数据检索
  • 日志系统 常说的ELK
  • 系统监控及告警
  • 数据分析

2 环境搭建

简单的介绍了下Elasticsearch后,我们进入本篇文章中最主要的内容-Elasticsearch的环境搭建,这也是我们后面内容中所依赖的环境。我个人的环境及安装的版本如下:

  • 操作系统:MacOS
  • Elasticsearch版本:8.3.3
  • Kibana版本:8.3.3

了解完Elasticsearch的基础知识后,我们开始在本地搭建一个Elasticsearch环境,主要安装的软件如下:

  • Elasticsearch(单机和集群)
  • Elasticsearch

2.1 Elasticsearch安装

大家在下载页面下载符合各自操作系统的安装包,解压后的目录如下:

image.png

2.1.1 单机版

修改config目录下的jvm.options和elasticsearch.yml文件

# jvm.options  
# 存储的是JVM相关的参数
# 这里主要修改下占用内存 该值最好不要超过32g
-Xms2g
-Xmx2g
# elasticsearch.yml
# 存储的是es相关的配置
# 集群名称
cluster.name: es
# 节点名称
node.name: es-9200
# 生产环境不要配置成这个值
network.host: 0.0.0.0
# 对外报漏的端口
http.port: 9200
# 集群间TCP交互接口
transport.port: 9300
xpack.security.enabled: false

修改完上面的配置后,执行./bin/elasticsearch命令启动ES服务,然后访问http://localhost:9200 可以看到如下页面

image-20220816172025479.png

2.1.2 集群版

搭建集群至少需要3个节点,我们这里将安装包解压后复制两份并分别启动,三个节点的端口分别为9201 9202 9203,同样是修改config目录下的jvm.options和elasticsearch.yml文件,内容如下:

# jvm.options
-Xms2g
-Xmx2g

# elasticsearch.yml
cluster.name: es-cluster
node.name: es-9201/es-9202/es-9203
# 生产环境不要配置成这个值
network.host: 0.0.0.0
http.port: 9201/9202/9203
transport.port: 9301/9302/9303

discovery.seed_hosts: ["localhost:9301", "localhost:9302", "localhost:9303"]
cluster.initial_master_nodes: ["es-9201"]
xpack.security.enabled: false

然后依次启动三个服务,然后分别访问http://localhost:{port} 也会看到单机的界面,这时我们的集群就搭建好了,也可以访问http://localhost:9201/_cat/nodes 查看所有节点的信息,如下:

image-20220816173643157.png

2.2 Kibana安装

下载地址:www.elastic.co/cn/download…

Kibana是一个免费且开放的用户界面,能够用来对Elasticsearch中的数据进行可视化。

在Kibana下载页面下载对应的安装,这里要跟Elasticsearch的版本保持一致,解压后修改其config目录下的kibana.yml文件,我这里直接链接上面的搭建的Elasticsearch集群,修改如下:

server.port: 5602
elasticsearch.hosts: ["http://localhost:9201", "http://localhost:9202", "http://localhost:9203"]

然后执行./bin/kibana命令,启动Kibana服务,访问http://localhost:5602 ,会看到如下界面

image-20220816174645019.png

我们也可以在kibana中查看对应的ES集群信息如下:

image-20220816175015850.png

今天的文章到这里就结束了,在这篇文章中主要是介绍了ES和Kibana的环境搭建,在之后的学习中我们都会依赖本文中所搭建的环境。

欢迎关注公众号【Bug搬运小能手】持续更新Java相关知识