1.什么是 Elastic Stack
2.Elasticsearch 索引是什么?
Elasticsearch 索引指相互關聯的文檔集合。Elasticsearch 會以 JSON 文檔的形式存儲數據。每個文檔都會在一組鍵(字段或屬性的名稱)和它們對應的值(字符串、數字、布爾值、日期、數值組、地理位置或其他類型的數據)之間建立聯系。
Elasticsearch 使用的是一種名為倒排索引的數據結構,這一結構的設計可以允許十分快速地進行全文本搜索。倒排索引會列出在所有文檔中出現的每個特有詞匯,并且可以找到包含每個詞匯的全部文檔。
在索引過程中,Elasticsearch 會存儲文檔并構建倒排索引,這樣用戶便可以近實時地對文檔數據進行搜索。索引過程是在索引 API 中啟動的,通過此 API 您既可向特定索引中添加 JSON 文檔,也可更改特定索引中的 JSON 文檔。
3.Logstash 的用途是什么?
Logstash 是 Elastic Stack 的核心產品之一,可用來對數據進行聚合和處理,并將數據發送到 Elasticsearch。Logstash 是一個開源的服務器端數據處理管道,允許您在將數據索引到Elasticsearch 之前同時從多個來源采集數據,并對數據進行充實和轉換。
4.Kinbana的用途是什么?
是適用于 Elasticsearch 的數據可視化和管理工具,可提供實時直方圖、線形圖、餅狀圖和地圖 ;包含 Canvas(允許用戶基于自身數據創建定制動態信息圖表 )、Elastic Maps(對地理空間數據可視化 )等高級應用程序 。
總結如下:
5.Elasticsearch集群安裝
cluster.name: my-application
node.name: node-1 #不唯一。在其他主機上需要更改不一樣的名字 其他的都不變
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["10.0.0.101", "10.0.0.102", "10.0.0.103"]
cluster.initial_master_nodes: ["10.0.0.101", "10.0.0.102", "10.0.0.103"]
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12
http.host: 0.0.0.0
curl 'http://127.0.0.1:9200/_cat/health' #查看es集群狀態
curl -XPUT '127.0.0.1:9200/index2?pretty' #格式化輸出
curl -XPUT '127.0.0.1:9200/index1' \
-H 'Content-Type: application/json' \
-d '{"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 2}}
}'
curl -XPUT '127.0.0.1:9200/index1/_settings' \
-H 'Content-Type: application/json' \
-d '{"settings": {"number_of_replicas": 1}
}'