ElasticSearch概述及Window和Linux环境下安装

一、ElasticSearch

1、ElasticSearch概述

ES(Elasticsearch)是一个基于开放源代码的分布式搜索引擎,用于快速和灵活地搜索和分析大量数据。它是构建在Apache Lucene之上的,通过提供一个简单而强大的RESTful API来实现全文搜索、结构化搜索、分析和数据可视化的功能。

ES的设计目标是具有高度可扩展性和可靠性,可以在大规模分布式环境中处理PB级别的数据。它通过将数据分片和复制到多个节点上实现分布式存储和搜索,从而提供高性能和高可用性。

ES支持各种类型的数据,包括文本、数字、地理位置、日期等,可以进行复杂的查询和聚合操作,支持全文搜索、模糊搜索、过滤搜索、地理位置搜索等。它还提供了灵活的索引和数据分析功能,可以通过实时仪表板和可视化工具进行数据可视化和监控。

ES还提供了各种插件和集成工具,使其能够与各种数据存储和处理系统集成,例如Hadoop、Spark、Kafka等。它还提供了强大的安全功能,包括身份验证和访问控制,以保护数据的安全性。

总而言之,ES是一个强大而灵活的搜索和分析引擎,适用于各种应用场景,包括企业搜索、日志分析、数据分析和可视化等。它的易用性和可扩展性使得它成为许多公司和组织的首选解决方案。
ElasticSearch概述及Window和Linux环境下安装_第1张图片

2、ElasticSearch使用

ElasticSearch概述及Window和Linux环境下安装_第2张图片

3、ES和solr的差别

ElasticSearch概述及Window和Linux环境下安装_第3张图片

ElasticSearch简介

Solr的简介

ElasticSearch概述及Window和Linux环境下安装_第4张图片

Lucene简介

ElasticSearch概述及Window和Linux环境下安装_第5张图片

4、Solr 和 ElasticSearch 比较

Solr vs ElasticSearch

ElasticSearch概述及Window和Linux环境下安装_第6张图片

ElasticSearch概述及Window和Linux环境下安装_第7张图片

ElasticSearch概述及Window和Linux环境下安装_第8张图片

总结

ElasticSearch概述及Window和Linux环境下安装_第9张图片

二、ElasticSearch安装

JDK8,最低要求

使用Java开发,必须保证ElasticSearch的版本与Java的核心jar包版本对应!(Java环境保证没错)

这里在windows上进行安装

1、Windows下安装

1、安装

下载地址:https://www.elastic.co/cn/downloads/

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

ElasticSearch概述及Window和Linux环境下安装_第10张图片

ElasticSearch概述及Window和Linux环境下安装_第11张图片

2、熟悉目录

ElasticSearch概述及Window和Linux环境下安装_第12张图片

bin 启动文件目录
config 配置文件目录
    1og4j2 日志配置文件
    jvm.options java 虚拟机相关的配置(默认启动占1g内存,内容不够需要自己调整)
    elasticsearch.ym1 elasticsearch 的配置文件! 默认9200端口!跨域!
1ib 
    相关jar包
modules 功能模块目录
plugins 插件目录
    ik分词器
3、启动

一定要检查自己的java环境是否配置好

ElasticSearch概述及Window和Linux环境下安装_第13张图片

访问127.0.0.1:9200
ElasticSearch概述及Window和Linux环境下安装_第14张图片

2、安装可视化界面

elasticsearch-head

使用前提:需要安装nodejs ,学习Vue的时候,已经装过了

1、下载地址

https://github.com/mobz/elasticsearch-head

2、安装

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

打开package.json文件,查看需要安装的依赖

ElasticSearch概述及Window和Linux环境下安装_第15张图片

3、启动
cd elasticsearch-head
# 安装依赖
npm install
# 启动
npm run start
# 访问
http://localhost:9100/

ElasticSearch概述及Window和Linux环境下安装_第16张图片

下载完成的依赖

ElasticSearch概述及Window和Linux环境下安装_第17张图片

ElasticSearch概述及Window和Linux环境下安装_第18张图片

运行

ElasticSearch概述及Window和Linux环境下安装_第19张图片

访问:存在跨域的问题

存在跨域问题(只有当两个页面同源,才能交互)

同源(端口,主机,协议三者都相同)

ElasticSearch概述及Window和Linux环境下安装_第20张图片

ElasticSearch概述及Window和Linux环境下安装_第21张图片

开启跨域(在elasticsearch解压目录config下elasticsearch.yml中添加)

ElasticSearch概述及Window和Linux环境下安装_第22张图片

ElasticSearch概述及Window和Linux环境下安装_第23张图片

# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"

ElasticSearch概述及Window和Linux环境下安装_第24张图片

先 重启elasticsearch
ElasticSearch概述及Window和Linux环境下安装_第25张图片

再次连接

ElasticSearch概述及Window和Linux环境下安装_第26张图片

如何理解上图:

  • 如果你是初学者

    • 索引 可以看做 “数据库”
    • 类型 可以看做 “表”
    • 文档 可以看做 “库中的数据(表中的行)”
  • 这个head,我们只是把它

    当做可视化数据展示工具

    ,之后

    所有的查询都在kibana中进行

    • 因为不支持json格式化,不方便

3、安装kibana

​ Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana ,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard )实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。

1、下载地址:

下载的版本需要与ElasticSearch版本对应

https://www.elastic.co/cn/downloads/

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

ElasticSearch概述及Window和Linux环境下安装_第27张图片

ElasticSearch概述及Window和Linux环境下安装_第28张图片

2、安装

解压即可(尽量将ElasticSearch相关工具放在统一目录下)
ElasticSearch概述及Window和Linux环境下安装_第29张图片

3、启动

ElasticSearch概述及Window和Linux环境下安装_第30张图片

访问 http://localhost:5601

ElasticSearch概述及Window和Linux环境下安装_第31张图片

4、开发工具

(Postman、curl、head、谷歌浏览器插件)

可以使用 Kibana进行测试

ElasticSearch概述及Window和Linux环境下安装_第32张图片

如果说,你在英文方面不太擅长,kibana是支持汉化的

5、kibana汉化

找到中文对应的json文件

ElasticSearch概述及Window和Linux环境下安装_第33张图片

编辑器打开kibana解压目录/config/kibana.yml,添加

在这里插入图片描述

i18n.locale: "zh-CN"

ElasticSearch概述及Window和Linux环境下安装_第34张图片

重启kibana

汉化成功

ElasticSearch概述及Window和Linux环境下安装_第35张图片

4、了解ELK

  • ELK是Elasticsearch、Logstash、 Kibana三大开源框架首字母大写简称

    。市面上也被成为Elastic Stack。

    • 其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架
      • 像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es
    • Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ )收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。
    • Kibana可以将elasticsearch的数据通过友好的页面展示出来 ,提供实时分析的功能。
  • 市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈总称 ,但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据分析和收集的场景,日志分析和收集只是更具有代表性。并非唯一性。

收集清洗数据(Logstash) ==> 搜索、存储(ElasticSearch) ==> 展示(Kibana)

ElasticSearch概述及Window和Linux环境下安装_第36张图片

5、linux下安装

1.Linux下安装Elasticsearch
1.1 下载和解压安装包
  • 官网下载地址: https://www.elastic.co/cn/downloads/elasticsearch

  • 笔者选择的是7.16.3,使用的是腾讯云服务器

  • 使用xftp等远程文件传输工具,将压缩包 elasticsearch-7.16.3-linux-x86_64.tar.gz 上传到 服务器的 /usr/local/sbin 路径(自定义)下,并在 /usr/local/ 目录下解压缩

tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local
或者使用 unzip等解压缩工具
1.2 内存不足的问题(选)

由于 elasticsearch 默认分配 jvm空间大小为2g,修改 jvm空间,如果Linux服务器本来配置就很高,可以不用修改

进入/usr/local/elasticsearch-7.13.2/config文件夹开始配置,修改jvm.options:

vim /usr/local/elasticsearch-7.13.2/config/jvm.options

ElasticSearch概述及Window和Linux环境下安装_第37张图片

-Xms256m
-Xmx256m
1.3 创建专用的用户启动ES

root用户不能直接启动Elasticsearch,所以需要创建一个专用用户,来启动ES

java.lang.RuntimeException: can not run elasticsearch as root

在这里插入图片描述

#创建用户
useradd elasticsearch
#创建所属组
chown elasticsearch:elasticsearch -R /usr/local/elasticsearch-7.16.3
#切换用户
su elasticsearch
#正常启动即可,注:进入/usr/local/elasticsearch-7.13.2/bin 下
cd /usr/local/elasticsearch-7.13.2/bin
./elasticsearch

以上步骤做完后,也很大概率会报错。我接着针对报错问题,做了如下操作,成功run。

1.4解决外网访问问题

默认情况下,是不支持外网访问,如果你的Elasticsearch安装在其他机器上,你从外网去访问的时候,访问不到。那么需要修改配置。

#进入config文件夹
cd /usr/local/elasticsearch-7.16.3/config
#修改elasticsearch.yml文件
vim elasticsearch.yml

在该文件添加

network.host: 0.0.0.0 #冒号(:)后面有空格
http.port: 9200
1.5 解决报错问题
bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
问题1

在这里插入图片描述

解决:如果可以使用root用户的,就使用root,不能使用就在前面加 sudo

进入 /etc/sysctl.conf 文件,在文件的末尾添加

vm.max_map_count=262144

ElasticSearch概述及Window和Linux环境下安装_第38张图片

查看是否生效

sysctl -p #查看打印的配置,是否有自己添加的即可,如若还是不生效,建议直接重启服务器
问题2

ElasticSearch概述及Window和Linux环境下安装_第39张图片

#进入config文件夹
cd /usr/local/elasticsearch-7.16.3/config
#修改elasticsearch.yml文件
vim elasticsearch.yml

将以下的配置取消注销

ElasticSearch概述及Window和Linux环境下安装_第40张图片

cluster.initial_master_nodes: ["node-1", "node-2"]

注:重启服务器生效

成功访问http://43.138.232.42:9200/

ElasticSearch概述及Window和Linux环境下安装_第41张图片

ElasticSearch概述及Window和Linux环境下安装_第42张图片

ElasticSearch概述及Window和Linux环境下安装_第43张图片

1.6 常见问题
问题1

ctrl+Z ,不正常关闭ES

ElasticSearch概述及Window和Linux环境下安装_第44张图片

解决

#查看elasticsearch相关的进程
ps aux | grep elasticsearch
#杀掉进程
kill -9 pid #信息最多的那个
#重新启动ES即可

ElasticSearch概述及Window和Linux环境下安装 到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

你可能感兴趣的:(ES,elasticsearch,linux,大数据)