栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch安装

ElasticSearch安装

ElasticSearch概述

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。
Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。
Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating,如果新文档与注册查询匹配,这对于通知非常有用。另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch支持实时GET请求,适合作为NoSQL数据存储,但缺少分布式事务。

ElasticSearch安装

官网下载地址:https://www.elastic.co/

选择立即体验,就可以进入的下载页面,点击下载

Windows安装


Linux安装

下面我们就来看一下如何安装ElasticSearch。

windows安装 elasticsearch安装

主要是下载elasticsearch-7.6.1-windows-x86_64、elasticsearch-analysis-ik-7.6.1、elasticsearch-head-master、kibana-7.6.1-windows-x86_64。

解压elasticsearch-7.6.1-windows-x86_64到指定文件夹,解压之后,就可以使用。


解压之后,可以看到基本目录

bin 启动文件
config 配置文件
	log4j2.properties 日志配置文件
	jvm.options java虚拟机相关配置
	elasticsearch.yml elasticsearch的配置文件
lib 相关jar包
modules 功能模块
plugins 插件 之后的ik分词器就放在这里


启动elasticsearch,进入bin目录点击elasticsearch.bat启动

启动提示需要升级最新版本的jdk,这里不需要管,主要你运行的jdk是1.8及以上的就行

运行成功之后,访问测试**http://localhost:9200/**即可。

安装可视化界面 es head插件

下载地址: https://github.com/elasticsearch-head/
如果是之前下载好的,解压就可以使用

之后进入elasticsearch-head-master文件,cmd回车安装插件,注意必须要有nodejs环境

cnpm install 命令进行安装。

安装完成之后,npm run start就可以进行访问了

访问http://localhost:9100/

发现找不到9200端口,f12查看,出现跨域问题

解决跨域问题:
回到elasticsearch-7.6.1config目录下,找到elasticsearch.yml,添加如下命令

之后重启elasticsearch和elasticsearch-head-master即可使用

安装kibana

下载地址: https://www.elastic.co/cn/downloads/kibana

解压到elasticsearch同一个目录下

点击kibana-7.6.1-windows-x86_64bin目录中的kibana.bat就可以使用

运行完成之后

访问测试 http://localhost:5601

点击工具类就可以进行使用

我的是汉化版,如果需要进行汉化的,进入到kibana-7.6.1-windows-x86_64config目录下的kibana.yml文件,修改最后一行,把英文改成中文即可。

Windows的安装到此结束,下面就可以使用了

linux安装 下载elasticsearch镜像
docker pull elasticsearch:7.9.3
集群部署结构


在一台服务器上,使用Docker部署三个ES容器组成的集群

准备虚拟网络和挂载目录
# 创建虚拟网络
docker network create es-net

# node1 的挂载目录
mkdir -p -m 777 /var/lib/es/node1/plugins
mkdir -p -m 777 /var/lib/es/node1/data

# node2 的挂载目录
mkdir -p -m 777 /var/lib/es/node2/plugins
mkdir -p -m 777 /var/lib/es/node2/data

# node3 的挂载目录
mkdir -p -m 777 /var/lib/es/node3/plugins
mkdir -p -m 777 /var/lib/es/node3/data
设置 max_map_count

必须修改系统参数 max_map_count,否则 Elasticsearch 无法启动:

在 /etc/sysctl.conf文件中添加 vm.max_map_count=262144

echo 'vm.max_map_count=262144' >>/etc/sysctl.conf

需要重启服务器!

启动 Elasticsearch 集群

node1:

docker run -d 
  --name=node1 
  --restart=always 
  --net es-net 
  -p 9200:9200 
  -p 9300:9300 
  -v /var/lib/es/node1/plugins:/usr/share/elasticsearch/plugins 
  -v /var/lib/es/node1/data:/usr/share/elasticsearch/data 
  -e node.name=node1 
  -e node.master=true 
  -e network.host=node1 
  -e discovery.seed_hosts=node1,node2,node3 
  -e cluster.initial_master_nodes=node1 
  -e cluster.name=es-cluster 
  -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" 
  elasticsearch:7.9.3

环境变量说明:

node2:

docker run -d 
  --name=node2 
  --restart=always 
  --net es-net 
  -p 9201:9200 
  -p 9301:9300 
  -v /var/lib/es/node2/plugins:/usr/share/elasticsearch/plugins 
  -v /var/lib/es/node2/data:/usr/share/elasticsearch/data 
  -e node.name=node2 
  -e node.master=true 
  -e network.host=node2 
  -e discovery.seed_hosts=node1,node2,node3 
  -e cluster.initial_master_nodes=node1 
  -e cluster.name=es-cluster 
  -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" 
  elasticsearch:7.9.3

node3:

docker run -d 
  --name=node3 
  --restart=always 
  --net es-net 
  -p 9202:9200 
  -p 9302:9300 
  -v /var/lib/es/node3/plugins:/usr/share/elasticsearch/plugins 
  -v /var/lib/es/node3/data:/usr/share/elasticsearch/data 
  -e node.name=node3 
  -e node.master=true 
  -e network.host=node3 
  -e discovery.seed_hosts=node1,node2,node3 
  -e cluster.initial_master_nodes=node1 
  -e cluster.name=es-cluster 
  -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" 
  elasticsearch:7.9.3
查看启动结果结果

http://192.168.64.181:9200

http://192.168.64.181:9200/_cat/nodes

chrome浏览器插件:elasticsearch-head

elasticsearch-head 项目提供了一个直观的界面,可以很方便地查看集群、分片、数据等等。elasticsearch-head最简单的安装方式是作为 chrome 浏览器插件进行安装。
1、在 elasticsearch-head 项目仓库中下载 chrome 浏览器插件
https://github.com/mobz/elasticsearch-head/raw/master/crx/es-head.crx
2、将文件后缀改为 zip
3、解压缩
4、在 chrome 浏览器中选择“更多工具”–“扩展程序”
5、在“扩展程序”中确认开启了“开发者模式”
6、点击“加载已解压的扩展程序”
7、选择前面解压的插件目录

安装 ik 分词器

从 ik 分词器项目仓库中下载 ik 分词器安装包,下载的版本需要与 Elasticsearch 版本匹配:
https://github.com/medcl/elasticsearch-analysis-ik
或者可以访问 gitee 镜像仓库:
https://gitee.com/mirrors/elasticsearch-analysis-ik

下载 elasticsearch-analysis-ik-7.9.3.zip 复制到 /root/ 目录下

在三个节点上安装 ik 分词器
cd ~/

# 复制 ik 分词器到三个 es 容器
docker cp elasticsearch-analysis-ik-7.9.3.zip node1:/root/
docker cp elasticsearch-analysis-ik-7.9.3.zip node2:/root/
docker cp elasticsearch-analysis-ik-7.9.3.zip node3:/root/

# 在 node1 中安装 ik 分词器
docker exec -it node1 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

# 在 node2 中安装 ik 分词器
docker exec -it node2 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

# 在 node3 中安装 ik 分词器
docker exec -it node3 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

# 重启三个 es 容器
docker restart node1 node2 node3
查看安装结果

在浏览器中访问 http://192.168.64.181:9200/_cat/plugins

如果插件不可用,可以卸载后重新安装:
docker exec -it node1 elasticsearch-plugin remove analysis-ik

docker exec -it node2 elasticsearch-plugin remove analysis-ik

docker exec -it node3 elasticsearch-plugin remove analysis-ik

ik分词测试

ik分词器提供两种分词器: ik_max_word 和 ik_smart

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。

ik_max_word 分词测试

使用 head 执行下面测试:
向 http://192.168.64.181:9200/_analyze 路径提交 POST 请求,并在协议体中提交 Json 数据:

{
  "analyzer":"ik_max_word",
  "text":"中华人民共和国国歌"
}

ik_smart 分词测试

使用 head 执行下面测试:
向 http://192.168.64.181:9200/_analyze 路径提交 POST 请求,并在协议体中提交 Json 数据:

{
  "analyzer":"ik_smart",
  "text":"中华人民共和国国歌"
}

下载 Kibana 镜像
docker pull kibana:7.9.3
启动 Kibana 容器
docker run 
-d 
--name kibana 
--net es-net 
-p 5601:5601 
-e ELASTICSEARCH_HOSTS='["http://node1:9200","http://node2:9200","http://node3:9200"]' 
--restart=always 
kibana:7.9.3

启动后,浏览器访问 Kibana,进入 Dev Tools:
http://192.168.64.181:5601/

至此,Windows和linux的安装到此结束!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号