一、概念
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
二、可用应用场景
- 海量数据分析
- 站内搜索引擎
- 数据仓库
三、安装和启动
用windows版本启动测试,当然还有其他版本。
如果用Linux可以右键复制Linux x86_64链接地址,运行命令wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
然后通过 tar -vxf 解压 elasticsearch-7.12.0-linux-x86_64.tar.gz
运行测试
切换到bin目录运行 elasticsearch.bat 这里需要配置jdk1.8的环境否则启动会闪退,如果闪退请检查是否配置JAVA_HOME。
启动过后浏览器输入:http://127.0.0.1:9200/
如果出现界面则为正常启动了
四、安装Head插件
github 搜索elasticsearch-head 找到 mobz/elasticsearch-head 并下载解压
地址:https://github.com/mobz/elasticsearch-head
这里配置需要node 环境,如果没有请先安装node。
找到目录打开 cmd 输入命令 npm install 等待安装完成
输入npm run start 可以看到我们的服务在9100启动了
我们把地址复制到浏览器:http://localhost:9100
可以看到界面如下,重新启动elasticsearch服务在刷新界面就可以连接到了。
、
五、集群搭建
elasticsearch-7.12.0\config 目录下编辑 elasticsearch.yml (Linux请用vim)
拉到下面添加配置如下,注意参数空格,network.host为7.12.0版本写法,之前5点几版本是network。
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: yugongcheng
node.name: master
network.host: 127.0.0.1
启动测试,可以看到信息已经更改过了。
复制出俩个从节点(复制的文件夹slave_1和slave_2需要删除data目录否则启动会报错)
- elasticsearch-7.12.0
- elasticsearch-7.12.0 _es_slave_1
- elasticsearch-7.12.0 _es_slave_2
修改config 目录下编辑 elasticsearch.yml
elasticsearch-7.12.0 _es_slave_1 配置
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: yugongcheng
node.name: slave1
network.host: 127.0.0.1
http.port: 8200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
elasticsearch-7.12.0 _es_slave_2 配置
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: yugongcheng
node.name: slave2
network.host: 127.0.0.1
http.port: 7200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
依次启动master和slave_1、slave_2节点在
界面可以看到从节点已经连接上,说明搭建成功了!