一、ElasticSearch简介

ElasticSearch 是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。ElasticSearch 基于 Java 编写,通过进一步封装 Lucene,将搜索的复杂性屏蔽起来,开发者只需要一套简单的 RESTful API 就可以操作全文检索。

ElasticSearch 在分布式环境下表现优异,这也是它比较受欢迎的原因之一。它支持 PB 级别的结构化或非结构化海量数据处理

整体上来说,ElasticSearch 有三大功能:

1、数据搜集
2、数据分析
3、数据存储

ElasticSearch 的主要特点:

1、分布式文件存储。
2、实时分析的分布式搜索引擎。
3、高可拓展性。
4、可插拔的插件支持。

二、单节点安装

首先打开 Es 官网,找到 Elasticsearch:

然后点击下载按钮,选择合适的版本直接下载即可这里以linux-7.16版本为例(https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-16-0)。

es库怎么curl_学习


将下载的文件解压,解压后的目录含义如下:

目录

含义

modules

依赖模块目录

logs

输出日志目录

lib

第三方依赖库

plugins

插件目录

bin

可执行文件目录

config

配置文件目录

data

数据存储目录

启动方式:

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

直接执行会报如下错误

es库怎么curl_配置文件_02


解决方法如下:

# 原因:elasticSearch 默认不能使用root启动有两个方法可以解决
# 方法一:
#在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下

./elasticsearch -Des.insecure.allow.root=true

#或者 用vi打开elasicsearch执行文件,在变量ES_JAVA_OPTS使用前添加以下命令

ES_JAVA_OPTS="-Des.insecure.allow.root=true"
# 方法二:
# 为elaticsearch创建用户并赋予相应权限
adduser es
passwd es
chown -R es:es /opt/elasticsearch-7.16.0
chmod 770 /opt/elasticsearch-7.16.0

推荐使用第二种方式

es库怎么curl_elastic_03


重新启动

#切换到es用户
su es
#执行启动命令
./elasticsearch
# 启动结束后请求下面地址看是否成功启动(由于本次实在虚拟机上安装所以远程地址没办法访问,下面会介绍如何远程可访问)
curl http://localhost:9200

es库怎么curl_学习_04


开启远程访问

# 进入到config目录,编辑elasticsearch.yml文件中的network(0.0.0.0代表本机任意ip)
network.host: 0.0.0.0
# 配置如下信息(集群中master节点name)
cluster.initial_master_nodes: ["master"]
#设置群名称
cluster.name: javaboy-es
# 设置当前节点名称
node.name: master
# 错误备注 如果配置如上后启动报错
【max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]】
# 解决方法 切换到root用户
# 编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536
# 此文件修改后需要重新登录用户,才会生效

# 错误备注:
【max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]】
#解决方法 切换到root 用户下
vi /etc/sysctl.conf 
# 添加
vm.max_map_count=262144
# 强制刷新
sysctl -f

# 切换到es用户后重新启动
su es
./elasticsearch

启动成功后浏览器访问:http://192.168.107.128:9200

es库怎么curl_elastic_05


Es 支持矩阵:

https://www.elastic.co/cn/support/matrix

三、HEAD 插件安装

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

这里介绍两种安装思路。

3.1浏览器插件安装


es库怎么curl_配置文件_06

3.2、下载插件安装

#四个步骤
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

启动成功,页面如下:

es库怎么curl_elasticsearch_07


注意,此时看不到集群数据。原因在于这里通过跨域的方式请求集群数据的,默认情况下,集群不支持跨域,所以这里就看不到集群数据。

解决办法如下,修改 es 的 config/elasticsearch.yml 配置文件,添加如下内容,使之支持跨域:

http.cors.enabled: true
http.cors.allow-origin: "*"

四、分布式安装

假设:

一主二从
master 的端口是 9200,slave 端口分别是 9201 和 9202

#首先修改 master 配置
#config/elasticsearch.yml 配置文件:
node.master: true

slave配置

#将 es 的压缩包解压两份,分别命名为 slave01 和 slave02,代表两个从机。
#slave01
# 集群名称必须保持一致
cluster.name: javaboy-es
node.name: slave01
network.host: 0.0.0.0
http.port: 9201
discovery.zen.ping.unicast.hosts: ["192.168.107.128"]


#slave02
# 集群名称必须保持一致
cluster.name: javaboy-es
node.name: slave01
network.host: 0.0.0.0
http.port: 9201
discovery.zen.ping.unicast.hosts: ["192.168.107.128"]

#分别对其进行配置。
#配置所属组
chown -R es:es /opt/elasticsearch-slave01 /opt/elasticsearch-slave02/
#配置文件夹权限
chmod 777 /opt/elasticsearch-slave01 /opt/elasticsearch-slave02/
# 启动slave01
 ./opt/elasticsearch-slave01/bin/elasticsearch
# 启动slave02
 ./opt/elasticsearch-slave02/bin/elasticsearch

启动成功(由于虚拟机内存设置太小就起了一个节点)

es库怎么curl_elasticsearch_08

五、Kibana 安装

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

#本文使用 https://www.elastic.co/cn/downloads/past-releases/kibana-7-16-0
1、下载 Kibana:https://www.elastic.co/cn/downloads/kibana
2、解压
3、配置 es 的地址信息(可选,如果 es 是默认地址以及端口,可以不用配置,具体的配置文件是 config/kibana.yml)
4、执行 ./kibana --allow-root 文件启动
5、localhost:5601
6、配置远程访问:
vi /opt/kibana/config/kibana.yml
#添加配置
server.host: "0.0.0.0"
7、重启 ./kibana --allow-root 
8、远程访问:http://192.168.107.128:5601/

es库怎么curl_学习_09


es库怎么curl_elastic_10