Elasticsearch简介
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
实时分析的分布式搜索引擎。
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
lucene:就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候
Elasticsearch环境搭建
高版本的elasticsearch需要更高版本的jdk支持,这里我们采用jdk8、elasticsearch-5.6.2进行学习
elasticsearch官网:https://www.elastic.co/cn/
我们把文件上传上来,创建文件开始解压
cd /xuyang
mkdir es
利用rz或者其他工具进行上传
tar -zxvf elasticsearch-5.6.2.tar.gz
es是不能用root用户来启动的,不然会报错
创建新用户并授权
useradd es (创建新用户es)
授权(把我们es文件夹的权限给这个用户)
语法:chown -R 用户名 文件夹名
chown -R es es/elasticsearch-5.6.2/
切换用户
su es
启动es
进入es文件夹执行elasticsearch-5.6.2/bin/elasticsearch
或者sh elasticsearch-5.6.2/bin/elasticsearch
查看是否启动成功
curl -XGET ‘http://127.0.0.1:9200’
然后我们配置外网访问,也就可以在浏览器看见
进入文件夹 cd xuyang/es/elasticsearch-5.6.2
vi config/elasticsearch.yml 修改配置文件
配置好你的网络地址和端口
:wq 保存退出
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service 禁止防火墙开机启动
还需要修改Linux的一些系统配置
vi /etc/security/limits.conf
添加如下内容:
- soft nofile 65536
- hard nofile 131072
- soft nproc 2048
- hard nproc 4096
vi /etc/sysctl.conf
添加下面:
vm.max_map_count=2621441
sudo sysctl -p /etc/sysctl.conf
不修改会报一些错误,错误忘记截图了,都可以试试
然后我们重新启动bin/elasticsearch,就能在浏览器打开了
Elasticsearch的header插件安装
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es
我们需要先安装配置NodeJS
下载地址:https://nodejs.org/en/download/
版本自己看着下就好了
tar - xjf node-v12.16.1-linux-x64.tar.gz 解压
配置环境变量
vi /etc/profile
export NODE_HOME=/xuyang/es/node-v12.16.1
export PATH= N O D E H O M E / b i n : NODE_HOME/bin: NODEHOME/bin:PATH
让环境变量生效
source /etc/profile
然后输入命令
node -v 和 npm -v能出现对应的版本号就是配置好了
安装git
git是一个分布式版本控制系统
我们在Centos上安装GIT有好几种方式。这里我们用最简单的yum命令方式 一步到位,省了下载编译安装这些繁琐过程。
yum install -y git
查看是否安装成功,出现了对应的版本号就是成功了
git --version
打开 https://github.com/mobz/elasticsearch-head
cd es/进入文件夹
下载header
grunt安装
npm install -g grunt-cli
· git clone git://github.com/mobz/elasticsearch-head.git
· cd elasticsearch-head
· npm install
· npm run start
我们直接启动是看不到我们的集群服务的
配置elasticsearch,允许head插件访问
进入elasticsearch config目录 打开 elasticsearch.yml
在文件最后加上
http.cors.enabled: true
http.cors.allow-origin: “*”
cd es/elasticsearch-head-master/
然后开启服务npm run start
end…