es(elsaticsearch6)入門

1.需要準(zhǔn)備的資料鏈接
2.es安裝與集群配置
3.head插件安裝
4.es基本用法
5.es高級(jí)用法
6.springboot整合es
7.計(jì)劃學(xué)習(xí)elk搭建

一.準(zhǔn)備的資料
https://download.csdn.net/download/wuzhuang12/10643242 相關(guān)數(shù)據(jù)下載

http://www.imooc.com/learn/920 相關(guān)學(xué)習(xí)視頻

二.es安裝

要注意的問(wèn)題

1.jdk至少需要在1.8.0_73以上版本

2.linux的內(nèi)核版本需要在2.6以上(我用的是centos7.x) 下載地址 https://www.elastic.co/downloads/elasticsearch

3.es不能用root用戶啟動(dòng)

異常信息:can not run elasticsearch as root

解決方案: 新建用戶 adduser xxx 將es文件夾權(quán)限修改 chown -R xx|xx 文件夾

安裝步驟

1.把下載好的tar包解壓至/usr/local目錄下

2.進(jìn)入bin文件加 ./elasticsearch 啟動(dòng)es

  1. ./elasticsearch -d 后臺(tái)啟動(dòng)

4.外部訪問(wèn)端口默認(rèn)9200,多臺(tái)機(jī)器交互時(shí)默認(rèn)9300 使用命令查看端口綁定的ip地址netstat -aon|grep 9200 ,如果綁定的是127.0.0.1只能內(nèi)部訪問(wèn),不能外部訪問(wèn)

5.curl -XGET http://ip地址:9200 確認(rèn)是否啟動(dòng)成功

--安裝過(guò)程注意的問(wèn)題

1.修改內(nèi)存

異常信息:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)

解決方案: 修改/config/jvm.options文件 -Xms200m -Xmx200m

2.修改文件大小

異常信息: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

[2]: max number of threads [3895] for user [elastic] is too low, increase to at least [4096]

[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決方案: 1.修改/etc/security/limits.conf,修改到提示值即可

  • hard nofile 65536

2.修改/etc/security/limits.d/90-nproc.conf 文件 添加

  • hard nproc 4096

3.修改/etc/sysctl.conf

添加配置:vm.max_map_count=262144, 然后執(zhí)行命令 sysctl -p

soft nproc: 可打開(kāi)的文件描述符的最大數(shù)(軟限制)

hard nproc: 可打開(kāi)的文件描述符的最大數(shù)(硬限制)

soft nofile:?jiǎn)蝹€(gè)用戶可用的最大進(jìn)程數(shù)量(軟限制)

hard nofile:?jiǎn)蝹€(gè)用戶可用的最大進(jìn)程數(shù)量(硬限制)

三.簡(jiǎn)單的集群配置

主節(jié)點(diǎn)配置

集群名稱,其他節(jié)點(diǎn)就是通過(guò)這個(gè)名字找到指定的集群

cluster.name: wali

節(jié)點(diǎn)名稱,一個(gè)集群里節(jié)點(diǎn)名稱不能重復(fù)

node.name: master

是否為主節(jié)點(diǎn)

node.master: true

存放數(shù)據(jù)的位置

path.data: /home/tar/elasticsearch-6.3.2/data

存放日志的位置

path.logs: /home/tar/elasticsearch-6.3.2/logs

綁定的ip

network.host : 172.31.69.209

指示是否為 Elasticsearch 服務(wù)啟用 HTTP。如果您要通過(guò)使用 Elasticsearch REST 請(qǐng)求來(lái)直接查詢 Elasticsearch 數(shù)據(jù),那么可以啟用 HTTP 端口

http.cors.enabled: true

如果 http.cors.enabled 的值為 true,那么該屬性會(huì)指定允許 REST 請(qǐng)求來(lái)自何處。

http.cors.allow-origin: "*"

如果啟用了 HTTP 端口,那么此屬性指定由 Elasticsearch 服務(wù)使用的端口。

http.port: 9200

用于某個(gè)集群中 Elasticsearch 節(jié)點(diǎn)之間的通信的端口

transport.tcp.port: 9300

其他節(jié)點(diǎn)配置

集群名稱,其他節(jié)點(diǎn)就是通過(guò)這個(gè)名字找到指定的集群

cluster.name: wali

節(jié)點(diǎn)名稱,一個(gè)集群里節(jié)點(diǎn)名稱不能重復(fù)

node.name: slave2

存放數(shù)據(jù)的位置

path.data: /home/wuzhuang/data2

存放日志的位置

path.logs: /home/wuzhuang/logs2

綁定的ip

network.host : 172.31.69.209

提供其他 Elasticsearch 服務(wù)節(jié)點(diǎn)的單點(diǎn)廣播發(fā)現(xiàn)功能。配置集群中基于主機(jī) TCP 端口的其他 Elasticsearch 服務(wù)的逗號(hào)分隔列表。

discovery.zen.ping.unicast.hosts: ["172.31.69.209"]

elasticsearch.yml配置屬性

屬性 缺省值 描述
cluster.name <kbd class="ph userinput">federated_cluster</kbd> Elasticsearch 集群名稱。使用集群可將單獨(dú) Process Federation Server 綁定到單個(gè)分布式系統(tǒng)中。參與集群的所有服務(wù)器都必須具有相同的集群名稱。
node.name <kbd class="ph userinput">node1</kbd> Elasticsearch 節(jié)點(diǎn)名。集群中的每個(gè) Process Federation Server 都必須具有唯一節(jié)點(diǎn)名。
node.master <kbd class="ph userinput">true</kbd> 指示某個(gè)節(jié)點(diǎn)是否符合成為主節(jié)點(diǎn)的條件。主節(jié)點(diǎn)管理 Elasticsearch 集群的狀態(tài)。在運(yùn)行時(shí),Elasticsearch 服務(wù)會(huì)自動(dòng)提名某一個(gè)合格的集群成員成為主節(jié)點(diǎn)。
node.data <kbd class="ph userinput">true</kbd> 指示節(jié)點(diǎn)是否為數(shù)據(jù)節(jié)點(diǎn)。數(shù)據(jù)節(jié)點(diǎn)包含并管理索引的一部分。
http.enabled <kbd class="ph userinput">false</kbd> 指示是否為 Elasticsearch 服務(wù)啟用 HTTP。如果您要通過(guò)使用 Elasticsearch REST 請(qǐng)求來(lái)直接查詢 Elasticsearch 數(shù)據(jù),那么可以啟用 HTTP 端口。
htttp.port <kbd class="ph userinput">9200</kbd> 如果啟用了 HTTP 端口,那么此屬性指定由 Elasticsearch 服務(wù)使用的端口。
http.cors.enabled <kbd class="ph userinput">true</kbd> 如果啟用了 HTTP 端口,那么此屬性會(huì)指定是否允許跨源 REST 請(qǐng)求。
http.cors.allowed.origin <kbd class="ph userinput">localhost</kbd> 如果 http.cors.enabled 的值為 <kbd class="ph userinput">true</kbd>,那么該屬性會(huì)指定允許 REST 請(qǐng)求來(lái)自何處。
transport.tcp.port <kbd class="ph userinput">9300</kbd> 用于某個(gè)集群中 Elasticsearch 節(jié)點(diǎn)之間的通信的端口。
discovery.zen.minimum_master_nodes <kbd class="ph userinput">1</kbd> 指示某個(gè)集群定額所需的 Process Federation Server 的數(shù)量。
discovery.zen.ping.multicast.enabled <kbd class="ph userinput">false</kbd> 通過(guò)發(fā)送節(jié)點(diǎn)所接收和響應(yīng)的一個(gè)或多個(gè)多點(diǎn)廣播請(qǐng)求來(lái)提供對(duì)其他 Elasticsearch 服務(wù)節(jié)點(diǎn)的多點(diǎn)廣播 ping 發(fā)現(xiàn)功能。有關(guān)更多信息,請(qǐng)參閱 Elasticsearch 文檔。
discovery.zen.ping.unicasts.hosts <kbd class="ph userinput">localhost</kbd> 提供其他 Elasticsearch 服務(wù)節(jié)點(diǎn)的單點(diǎn)廣播發(fā)現(xiàn)功能。配置集群中基于主機(jī) TCP 端口的其他 Elasticsearch 服務(wù)的逗號(hào)分隔列表。
discovery.zen.ping.timeout <kbd class="ph userinput">3s</kbd> Elastic 搜索節(jié)點(diǎn)等待加入 Elasticsearch 集群的時(shí)間。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容