Elasticsearch相关软件安装
4.1. Windows安裝elasticsearch
1、安裝JDK,至少1.8.0_73以上版本,驗(yàn)證:java -version。
2、下載和解壓縮Elasticsearch安裝包,查看目錄結(jié)構(gòu)。
https://www.elastic.co/cn/downloads/elasticsearch
bin:腳本目錄,包括:啟動(dòng)、停止等可執(zhí)行腳本
config:配置文件目錄
data:索引目錄,存放索引文件的地方
logs:日志目錄
modules:模塊目錄,包括了es的功能模塊
plugins :插件目錄,es支持插件機(jī)制
3、配置文件:
位置:
ES的配置文件的地址根據(jù)安裝形式的不同而不同:
使用zip、tar安裝,配置文件的地址在安裝目錄的config下。
使用RPM安裝,配置文件在/etc/elasticsearch下。
使用MSI安裝,配置文件的地址在安裝目錄的config下,并且會(huì)自動(dòng)將config目錄地址寫入環(huán)境變量ES_PATH_CONF。
elasticsearch.yml
配置格式是YAML,可以采用如下兩種方式:
方式1:層次方式
path:data: /var/lib/elasticsearchlogs: /var/log/elasticsearch方式2:屬性方式
path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch常用的配置項(xiàng)如下
cluster.name: 配置elasticsearch的集群名稱,默認(rèn)是elasticsearch。建議修改成一個(gè)有意義的名稱。 node.name:節(jié)點(diǎn)名,通常一臺(tái)物理服務(wù)器就是一個(gè)節(jié)點(diǎn),es會(huì)默認(rèn)隨機(jī)指定一個(gè)名字,建議指定一個(gè)有意義的名稱,方便管理一個(gè)或多個(gè)節(jié)點(diǎn)組成一個(gè)cluster集群,集群是一個(gè)邏輯的概念,節(jié)點(diǎn)是物理概念,后邊章節(jié)會(huì)詳細(xì)介紹。 path.conf: 設(shè)置配置文件的存儲(chǔ)路徑,tar或zip包安裝默認(rèn)在es根目錄下的config文件夾,rpm安裝默認(rèn)在/etc/ elasticsearch path.data:設(shè)置索引數(shù)據(jù)的存儲(chǔ)路徑,默認(rèn)是es根目錄下的data文件夾,可以設(shè)置多個(gè)存儲(chǔ)路徑,用逗號(hào)隔開(kāi)。 path.logs:設(shè)置日志文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的logs文件夾 path.plugins: 設(shè)置插件的存放路徑,默認(rèn)是es根目錄下的plugins文件夾 bootstrap.memory_lock: true設(shè)置為true可以鎖住ES使用的內(nèi)存,避免內(nèi)存與swap分區(qū)交換數(shù)據(jù)。 network.host: 設(shè)置綁定主機(jī)的ip地址,設(shè)置為0.0.0.0表示綁定任何ip,允許外網(wǎng)訪問(wèn),生產(chǎn)環(huán)境建議設(shè)置為具體的ip。 http.port: 9200設(shè)置對(duì)外服務(wù)的http端口,默認(rèn)為9200。 transport.tcp.port: 9300 集群結(jié)點(diǎn)之間通信端口 node.master: 指定該節(jié)點(diǎn)是否有資格被選舉成為master結(jié)點(diǎn),默認(rèn)是true,如果原來(lái)的master宕機(jī)會(huì)重新選舉新的master。 node.data: 指定該節(jié)點(diǎn)是否存儲(chǔ)索引數(shù)據(jù),默認(rèn)為true。 discovery.zen.ping.unicast.hosts: ["host1:port", "host2:port", "..."]設(shè)置集群中master節(jié)點(diǎn)的初始列表。 discovery.zen.ping.timeout: 3s設(shè)置ES自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)連接超時(shí)的時(shí)間,默認(rèn)為3秒,如果網(wǎng)絡(luò)延遲高可設(shè)置大些。 discovery.zen.minimum_master_nodes:主結(jié)點(diǎn)數(shù)量的最少值 ,此值的公式為:(master_eligible_nodes / 2) + 1 ,比如:有3個(gè)符合要求的主結(jié)點(diǎn),那么這里要設(shè)置為2。 node.max_local_storage_nodes: 單機(jī)允許的最大存儲(chǔ)結(jié)點(diǎn)數(shù),通常單機(jī)啟動(dòng)一個(gè)結(jié)點(diǎn)建議設(shè)置為1,開(kāi)發(fā)環(huán)境如果單機(jī)啟動(dòng)多個(gè)節(jié)點(diǎn)可設(shè)置大于1。jvm.options
設(shè)置最小及最大的JVM堆內(nèi)存大小:
在jvm.options中設(shè)置 -Xms和-Xmx:
1) 兩個(gè)值設(shè)置為相等
2) 將Xmx 設(shè)置為不超過(guò)物理內(nèi)存的一半。
log4j2.properties
日志文件設(shè)置,ES使用log4j,注意日志級(jí)別的配置。
4、啟動(dòng)Elasticsearch:bin\elasticsearch.bat,es的特點(diǎn)就是開(kāi)箱即,無(wú)需配置,啟動(dòng)即可。
注意:es7 windows版本不支持機(jī)器學(xué)習(xí),所以elasticsearch.yml中添加如下幾個(gè)參數(shù):
node.name: node-1 ? cluster.initial_master_nodes: ["node-1"] ? xpack.ml.enabled: false http.cors.enabled: true http.cors.allow-origin: /.*/5、檢查ES是否啟動(dòng)成功:瀏覽器訪問(wèn)http://localhost:9200/?pretty
{"name": "node-1","cluster_name": "elasticsearch","cluster_uuid": "HqAKQ_0tQOOm8b6qU-2Qug","version": {"number": "7.3.0","build_flavor": "default","build_type": "zip","build_hash": "de777fa","build_date": "2019-07-24T18:30:11.767338Z","build_snapshot": false,"lucene_version": "8.1.0","minimum_wire_compatibility_version": "6.8.0","minimum_index_compatibility_version": "6.0.0-beta1"},"tagline": "You Know, for Search" }解釋:
name: node名稱,取自機(jī)器的hostname
cluster_name: 集群名稱(默認(rèn)的集群名稱就是elasticsearch)
version.number: 7.3.0,es版本號(hào)
version.lucene_version:封裝的lucene版本號(hào)
6、瀏覽器訪問(wèn) http://localhost:9200/_cluster/health 查詢集群狀態(tài)
{"cluster_name": "elasticsearch","status": "green","timed_out": false,"number_of_nodes": 1,"number_of_data_nodes": 1,"active_primary_shards": 0,"active_shards": 0,"relocating_shards": 0,"initializing_shards": 0,"unassigned_shards": 0,"delayed_unassigned_shards": 0,"number_of_pending_tasks": 0,"number_of_in_flight_fetch": 0,"task_max_waiting_in_queue_millis": 0,"active_shards_percent_as_number": 100 }解釋:
Status:集群狀態(tài)。Green 所有分片可用。Yellow所有主分片可用。Red主分片不可用,集群不可用。
4.2. Windows安裝Kibana
1、kibana是es數(shù)據(jù)的前端展現(xiàn),數(shù)據(jù)分析時(shí),可以方便地看到數(shù)據(jù)。作為開(kāi)發(fā)人員,可以方便訪問(wèn)es。
2、下載,解壓kibana。
3、啟動(dòng)Kibana:bin\kibana.bat
4、瀏覽器訪問(wèn) http://localhost:5601 進(jìn)入Dev Tools界面。像plsql一樣支持代碼提示。
5、發(fā)送get請(qǐng)求,查看集群狀態(tài)GET _cluster/health。相當(dāng)于瀏覽器訪問(wèn)。
?
總覽:
?
Dev Tools界面:
?
監(jiān)控集群界面:
?
集群狀態(tài)(搜索速率、索引速率等):
?
4.3 Windows安裝postman
是什么:postman是一個(gè)模擬http請(qǐng)求的工具。能夠非常細(xì)致地定制化各種http請(qǐng)求。如get]\post\pu\delete,攜帶body參數(shù)等。
為什么:在沒(méi)有kibana時(shí),可以使用postman調(diào)試。
怎么用:
get http://localhost:9200/
測(cè)試一下get方式查詢集群狀態(tài)http://localhost:9200/_cluster/health
4.4 Windows安裝head插件
head插件是ES的一個(gè)可視化管理插件,用來(lái)監(jiān)視ES的狀態(tài),并通過(guò)head客戶端和ES服務(wù)進(jìn)行交互,比如創(chuàng)建映射、創(chuàng)建索引等,head的項(xiàng)目地址在https://github.com/mobz/elasticsearch-head 。
從ES6.0開(kāi)始,head插件支持使得node.js運(yùn)行。
1安裝node.js
2下載head并運(yùn)行
git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start瀏覽器打開(kāi) http://localhost:9100/
3運(yùn)行
打開(kāi)瀏覽器調(diào)試工具發(fā)現(xiàn)報(bào)錯(cuò):
Origin null is not allowed by Access-Control-Allow-Origin.
原因是:head插件作為客戶端要連接ES服務(wù)(localhost:9200),此時(shí)存在跨域問(wèn)題,elasticsearch默認(rèn)不允許跨域訪問(wèn)。
解決方案:
設(shè)置elasticsearch允許跨域訪問(wèn)。
在config/elasticsearch.yml 后面增加以下參數(shù):
#開(kāi)啟cors跨域訪問(wèn)支持,默認(rèn)為false ? http.cors.enabled: true ? #跨域訪問(wèn)允許的域名地址,(允許所有域名)以上使用正則 ? http.cors.allow-origin: /.*/注意:將config/elasticsearch.yml另存為utf-8編碼格式。
成功連接ES
?
注意:kibana\postman\head插件選擇自己喜歡的一種使用即可。
本教程使用kibana的dev tool,因?yàn)榈刂窓谑÷粤薶ttp://localhost:9200。
總結(jié)
以上是生活随笔為你收集整理的Elasticsearch相关软件安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Elastic Stack简介和Elas
- 下一篇: Elasticsearch之文档docu