windows安装elasticSearch

可参考文档(https://blog.csdn.net/Zhuxiaoyu_91/article/details/132126216)(https://blog.csdn.net/xyy1028/article/details/126948634)(https://www.cnblogs.com/dwywtd/p/16842731.html)

使用logstach同步mysql数据到 elasticsearch(https://blog.csdn.net/weixin_45394216/article/details/132906233)

elasticsearch好文(https://blog.csdn.net/dangfulin/article/details/124655391)

elasticsearch 使用restful风格的api,举例

{http_method} http://{server}:{port}/{index_name}/{api}/

查询:查询书籍ID为1的书

GET http://localhost:9200:books/_doc/1

GET books/count  查询索引中的有多少文档

GET books/_search{

  query:{

    ids:{

      values:{1,2,3}

      }

    }

} 查询id为1,2,3的书  _search 是API books是索引 query是API的方法

由于elasticsearch是通过查询出的内容的得分来进行结果排序的 因此有种复合查询

包含以下四个属性

must: 一定要匹配的字段

should :可以不匹配的字段,但是匹配上了增加得分(score)

filter:必须要匹配查询条件,但是不参与得分计算

must not:不匹配的字段

GET books/_search{

  "query":{
"bool":{
    "must":[{
"match":{"auther":{"A"}}
     }
]
"should":[
{"range":{"price":{"lt":50}}}
]
}
}
} 查询书名为“作者”为A的所有书,价值大于50的靠前(得分高),小于等于50的也会被查询到但是排名靠后(得分相对低)

 

eg:

 

curl -XGET "http://localhost:9200/acc_persons/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"bool": {
"must": [
{"match": {
"detail": "负责人"
}},{"match": {
"state": "20"
}}
]
, "should": [
{"match": {
"name": "梁"
}}
]
}
}
}'

 

安装elasticSearch

下载地址:官网https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-3

ealsticSearch支持的javajdk版本对照表:

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

 

由于使用的jdk是1.8 因此elasticSearch版本选择7.17.3

 

windows下载后直接解压即可。

设置环境变量

 为什么环境变量取这个名字可看elasticSearch启动脚本

启动脚本会调用

 

 

结果启动直接cmd窗口直接闪退,于是增加pause 命令查看发现是异常了且打印日志了

于是看日志发现是内存不够(我当时C盘只有1G左右空间了)。。这玩意儿也是启动脚本里的jvm检测,直接默认整了10G。。。

 解决办法:

在config/jvm.options配置文件里增加jvm虚拟机内存配置参数

 

 启动还是报错:原因是我的安装盘1T 还剩70G 磁盘使用率超过了90%  好像这玩意儿默认是不能超过85%

 解决方法:

 

config/elasticsearch.yml增加如下配置:

cluster.routing.allocation.disk.threshold_enabled: true  
cluster.routing.allocation.disk.watermark.low: 93%  磁盘使用率高于该值则阻止分配副本
cluster.routing.allocation.disk.watermark.high: 95% 磁盘使用率高于该值则会优先分配到其他节点

cluster.routing.allocation.disk.watermark.flooded_stage: 默认值是95 (这个值不用配置)超过该值索引变为只读索引

三个值得默认值分别为85% 90% 95

顺便将data文件和log存放路径也做修改 避免升级时将数据文件和日志文件清空导致丢失了

 path.data: E://myesdata/data

 path.logs: E://myesdata/log

 

 

换个方法安装:

本来直接执行启动脚本就可以安装

 

也可以使用服务的形式安装 那样启停服务方便 但是需要额外增加一个环境变量

 

 

步骤如下:

1.安装  elasticsearch-service.bat install

 2. 启动服务 elasticsearch-service.bat start 

 

3.关闭服务 elasticsearch-service.bat stop

 4.卸载服务 elasticsearch-service.bat remove

5.启动属性gui  elasticsearch-service.bat manager

安装成功

 -------------------------------------------------------------------

安装elasticsearch-head 

1.需要先安装node.js

安装地址:https://nodejs.org

安装成功

 

 

2. 安装grunt

 安裝命令: npm install -g grunt-cli

 

3.下载elasticsearch-head

下载地址:https://github.com/mobz/elasticsearch-head/releases

解压文件夹 

并在文件夹目录使用cmd 

安装命令 npm install

 

 安装好像提示版本不支持 但是只是警告级别 不是错误级别

我试着启动

npm run start 

 启动成功了

如果发现无法访问

可能是跨域问题(我都装在本机没有跨域问题)

则在elasticsearch安装目录:config/elasticsearch.yml

中增加

http.cors.enable: true

http.cors.allow-origin:  增加elasticsearch-head安裝的机器IP

-------------------------------------------------------------------------------------------------------------------------------------------------------

 安装kinaba

kinaba版本必须和elasticsearch版本一致

下载地址:

https://www.elastic.co/cn/downloads/past-releases/kibana-7-17-3

 

在config/kibana.yml中修改配置项

i18n.locale: "zh-CN"   

设置成中文

 启动成功

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------

下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-7-17-3

 

下载后解压

 

posted on 2024-06-23 00:29  丶柚子  阅读(2)  评论(0编辑  收藏  举报

导航