超详细Elasticsearch的安装

发布于:2022-12-06 ⋅ 阅读:(867) ⋅ 点赞:(0)

什么是Elasticsearch ?

Elasticsearch 是基于lucene的全文检索服务器,对外提供restful接口来操作索引、搜索;

Elasticsearch原理与应用:

索引结构:如下图是Elasticsearch的索引结构,右边蓝色部分是原始文档,左边黄色部分是逻辑结构,逻辑结构也是为了更好的去描述Elasticsearch的工作原理及去使用物理结构中的索引文件。

 倒排索引:也常被称为反向索引,倒排索引是从关键字到文档的映射。

逻辑结构部分是一个倒排索引表,由三部分组成:

1、将搜索的文档最终以Document方式储存起来;

2、将要搜索的文档内容分词,所有不重复的词组成分词列表;

3、每个分词和document都有关联;

如何使用es?

Elasticsearch提供 RESTful Api 接口进行索引、搜索,并且支持多种客服端。

安装Elasticsearch:

1、jdk必须是jdk1.8.0_131以上版本。

2、ElasticSearch 需要至少4096 的线程池和 262144字节以上空间的虚拟内存才能正常启动,所以需要为虚拟机分配至少1.5G以上的内存。

3、从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动。

4、Elasticsearch的插件要求至少centos的内核要3.5以上版本。

安装es:

下载上传:略

1、设置虚拟机内存大于1.5G;

2、创建admin,并把upload和local目录的拥有者设置为admin

groupadd elk
usermod -G elk admin
groups admin
chown -R admin:elk /usr/upload
chown -R admin:elk /usr/local

3、切换账户:

su admin

4、解压安装包:

cd /usr/upload
tar -zxvf elasticsearch-6.2.3.tar.gz -C /usr/local

ES安装目录config中配置文件下修改elasticsearch.yml和jvm.options配置文件:

elasticsearch.yml删除全部注释,配置下面内容:

cluster.name: power_shop
node.name: power_shop_node_1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
path.data: /usr/local/elasticsearch-6.2.3/data
path.logs: /usr/local/elasticsearch-6.2.3/logs
http.cors.enabled: true
http.cors.allow-origin: /.*/

注意path.data和path.logs路径配置正确。

jvm.options配置:默认内存占用太多了,调小一些

-Xms512m
-Xmx512m

5、解决文件创建权限问题:

Linux 默认来说,一般限制应用最多创建的文件是 4096个。但是 ES 至少需要 65536 的文件创建权限。我们用的是admin用户,而不是root,所以文件权限不足。

使用root用户修改配置文件:

vim /etc/security/limits.conf

追加以下内容:

* soft nofile 65536
* hard nofile 65536

6、解决虚拟机内存问题:

ES 需要开辟一个 262144字节以上空间的虚拟内存。Linux 默认不允许任何用户和应用直接开辟虚拟内存。

使用root用户修改配置文件:

vim /etc/sysctl.conf

追加以下内容:

vm.max_map_count=655360 #限制一个进程可以拥有的VMA(虚拟内存区域)的数量

然后执行命令,让sysctl.conf配置生效:

sysctl -p

7、启动和关闭:

启动:

./elasticsearch
./elasticsearch -d

关闭:

ps -ef | grep elasticsearch
kill -9 pid

什么是Kibana?

Kibana是ES提供的一个基于Node.js的管理控制台, 可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。

安装Kibana:

安装:

下载解压:略

修改配置:

打开kibana文件,修改config/kibana.yml配置:

server.port: 5601
server.host: "0.0.0.0" #允许来自远程用户的连接
elasticsearch.url: http://192.168.204.132:9200 #Elasticsearch实例的URL

 启动:

直接在bin目录点击kibana.bat打开。

测试:

浏览器访问:http://127.0.0.1:5601

 

什么是Head?

head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映射、创建索引等。从ES6.0开始,head插件支持使得node.js运行。

安装Head:

安装:

下载:略

启动:

在head文件中打开黑窗口输入:

npm run start

测试:

浏览器访问:http://127.0.0.1:9100

 

本文含有隐藏内容,请 开通VIP 后查看