ElasticSearch 安装单机及集群7.11.1 (讲解 : 第一章)

ElasticSearch 目前也算是非常火了,站内搜索、日志分析都会用到它,而且还可以直接当成 NoSQL 数据库来使用。
接下来,我们就通过下面这个简单介绍,开启 es 之旅吧~

公众号 : 倔强小狮子

在这里插入图片描述


1. Lucene

  1. 小伙伴们如果对于Lucene进行不熟悉的不用担心,学不会ElasticSearch, 建议说一下Lucene再进行学西ElasticSearch理解会轻松一些
  2. Lucene 是一个开源、免费、高性能、纯 Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索工具包。
    在实际开发中,Lucene 几乎适用于任何需要全文检索的场景,所以 Lucene 先后发展出好多语言版本,例如 C++、C#、Python 等。
    早在 2005 年,Lucene 就升级为 Apache 顶级开源项目。它的作者是 Doug Cutting,有的人可能没听过这这个人,不过你肯定听过他的另一个大名鼎鼎的作品 Hadoop。
    不过需要注意的是,Lucene 只是一个工具包,并非一个完整的搜索引擎,开发者可以基于 Lucene 来开发完整的搜索引擎。比较著名的有 Solr、ElasticSearch,不过在分布式和大数据环境下,ElasticSearch 更胜一筹。

Lunce的核心:创建索引和搜索索引

1.2 Lucene 主要有如下特点:

  • 简单
  • 跨语言
  • 强大的搜索引擎
  • 索引速度快
  • 索引文件兼容不同平台

1.2 ElasticSearch (步入)

1.2.1 介绍

  1. ElasticSearch 是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。
  2. Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
  3. ElasticSearch 在分布式环境下表现优异,这也是它比较受欢迎的原因之一。它支持 PB 级别结构化或非结构化海量数据处理

1.2.2 Elasticsearch有多火?

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。

它可以从海量数据中快速找到相关信息,在同领域内几乎没有竞争对手——近两年 DBRanking 的数据库评测中,ES 在搜索引擎领域始终位列第一。

当你在 GitHub 上搜索时,Elasticsearch 可以实现代码级的搜索与高亮显示 ;当你在网上购物时,ES 可为你推荐喜欢的商品;当你下班打车回家时,ES 可以通过定位附近的乘客和司机,帮助平台优化调度。

Elasticsearch 还被广泛运用于大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。

作为目前最流行的开源搜索引擎,ES 在全球的下载量已超过 3.5 亿次,腾讯、滴滴、今日头条、饿了么、360 安全、小米,vivo 等国内诸多知名公司都在使用 Elasticsearch。

2.1 单节点安装

注意 : 6.7x 版本之前和之后变化有点大, 建议各位按照 本教程 7.11.1 安装,防止遇到问题

2.1.1 下载

  1. 首先打开 Es 官网,找到 Elasticsearch: https://www.elastic.co/cn/elasticsearch/ 进入该网站进行下载即可,全程基于 Centos8演示
    在这里插入图片描述
  2. 将下载的文件解压,解压后的目录含义如下:
目录含义
modules依赖模块目录
lib第三方依赖库
logs输出日志目录
plugins插件目录
bin可执行文件目录
config配置文件目录
data数据存储目录

在这里插入图片描述

2.1.2 启动方式

  1. 进入到 bin 目录下,直接执行 ./elasticsearch 启动即可。

  2. 注意: 将提示不能使用 root用户启动,创建其他个人用户, 将elasticsearch 赋予 777 权限 或 elasticsearch文件夹赋予个人用户 777 权限 (chome -R 777 elasticsearch / chown -R 777 user)

  3. 默认监听的端口是 9200,所以浏览器直接输入 localhost:9200 可以查看节点信息。9200该端口可在 config/elasticsearch.yml 进行修改

友情提示: 我使用的时服务器进行学习的时候,发现启动es启动成功后,安全组也放行该9200该端口,但是无法访问, 注意修改 elasticsearch.yml 中 network.host: 0.0.0.0 (注意空格)

  1. 打开 config/elasticsearch.yml 文件,可以配置集群名称以及节点名称

  2. 打开 config/elasticsearch.yml 文件,可以配置集群名称以及节点名称。配置方式如下:

cluster.name: lionet-cluster
node.name: master
  1. 节点的名字以及集群(默认是 elasticsearch)的名字,我们都可以自定义配置。

2.1.2 启动错误及解决方案

1 .修改 network.host: 0.0.0.0 启动错误

 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. 解决方案
    vim config/elasticsearch.yml 文件,添加一下行即可解决
cluster.initial_master_nodes: ["master"]
  1. 默认监听的端口是 9200,所以浏览器直接输入 localhost:9200 可以查看节点信息。
{
  "name" : "master",
  "cluster_name" : "lionet-cluster",
  "cluster_uuid" : "bGOt2SPkTYmOtje-7OfIzg",
  "version" : {
    "number" : "7.11.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a",
    "build_date" : "2021-02-15T13:44:09.394032Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  1. Es 支持矩阵:在进行使用 elasticsearch插件时严格使用该矩阵提示版本对应
  • https://www.elastic.co/cn/support/matrix

3.1 HEAD 插件安装

Elasticsearch-head 插件,可以通过可视化的方式查看集群信息。

3.1.1 四个步骤(前提必须安装 node.js 环境 )

  • git clone git://github.com/mobz/elasticsearch-head.git
  • cd elasticsearch-head
  • npm install
  • npm run start

3.1.2 启动成功,页面如下

在这里插入图片描述

注意:

  1. 此时看不到集群数据。原因在于这里通过跨域的方式请求集群数据的,默认情况下,集群不支持跨域,所以这里就看不到集群数据。
  2. 解决办法如下,修改 es 的 config/elasticsearch.yml 配置文件,添加如下内容,使之支持跨域:
http.cors.enabled: true
http.cors.allow-origin: "*"

配置完成后,重启 es,此时 head 上就有数据了。

4 分布式安装

假设:

  • 一主二从
  • master 的端口是 9222 ,slave 端口分别是 9222 和 9223

4.1 master 节点配置

# 集群名
cluster.name: lionet-cluster 
# 节点名称
node.name: master 
# 是否允许该节点存储数据,默认开启
node.data: true
# # 是否可以成为master节点
node.master: true
network.host: 0.0.0.0
http.port: 9221  # client 交互port 
transport.tcp.port: 9301 #  cluster 进行交互
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
cluster.initial_master_nodes: ["master"]
bootstrap.system_call_filter: false
gateway.recover_after_nodes: 3
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*" 
action.auto_create_index: true

4.2 slave 1

cluster.name: lionet-cluster
# 节点名称 
node.name: node-1 
# 是否允许该节点存储数据,默认开启
node.data: true
# # # 是否可以成为master节点
node.master: false
network.host: 0.0.0.0
http.port: 9222
transport.tcp.port: 9302
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
Block initial recovery after a full cluster restart until N nodes are started:
bootstrap.system_call_filter: false
gateway.recover_after_nodes: 3
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*" 
action.auto_create_index: true

4.3 slave 2节点配置

cluster.name: lionet-cluster
node.name: node-2
#是否允许该节点存储数据,默认开启
node.data: true
#是否可以成为master节点
node.master: false
network.host: 0.0.0.0
http.port: 9223
transport.tcp.port: 9303
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
bootstrap.system_call_filter: false
gateway.recover_after_nodes: 3
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*" 
action.auto_create_index: true

然后分别启动 master node-1 和 node-2 。启动后,可以在 head 插件上查看集群信息。
在这里插入图片描述

5 Kibana 安装

Kibana 是一个 Elastic 公司推出的一个针对 es 的分析以及数据可视化平台,可以搜索、查看存放在 es 中的数据。

安装步骤如下:

  • 下载 Kibana:https://www.elastic.co/cn/downloads/kibana

  • 解压

  • 配置 es 的地址信息(可选,如果 es 是默认地址以及端口,可以不用配- 置,具体的配置文件是 config/kibana.yml)

  • 执行 ./bin/kibana 文件启动

  • 访问 ip :5601
    在这里插入图片描述
    Kibana 安装好之后,首次打开时,可以选择初始化 es 提供的测试数据,也可以不使用。

    
    

作者:专业于写这些入门到深层知识,提升我们的基本功,期待你的关注,和我一起学习
转载说明:未获得授权,禁止转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值