版本:6.2
1、Elasticsearch 是一個高可擴展的開源全文搜刮和闡發引擎。它許可你快速并接近及時地存儲、搜刮、闡發年夜量的數據。
2、利用Elasticsearch 的一些案例
(1)你運行著一個網上商城,許可用戶搜刮你發賣的商品。在這個案例中,你可以利用Elasticsearch 存儲商品目次和其庫存信息,并為他們供給搜刮辦事和主動填充的建議。
(2)你要收集日記或者買賣數據,并闡發、挖掘這些數據,以找到趨向、統計、匯總或者異常環境。在這種環境下,你可以利用Logstash 收集、匯總息爭析數據,然后把這些數據方式Elasticsearch中,你可以利用搜刮和聚合來挖掘任何你想獲得的數據。
(3)你運行這一個價錢提醒平臺,而且許可客戶按照需要獲取對象價錢的商品。在這個案例中,你可以抓取商品的價錢,放到Elasticsearch中,然后利用其反標的目的搜刮功能,匹配商品的價錢,然后當價錢知足客戶需如果給客戶推送動靜。
(4)有年夜量數據可視化闡發的需求,可以把年夜量的數據存儲到Elasticsearch中,然后利用Kibana來構建想要的可視化數據。
一、Elasticsearch的焦點內容
1、瞬時:Elasticsearch是一個瞬時的搜刮平臺。凡是時候1秒。
2、集群:集群中的辦事器配合持稀有據,供給跨越節點的結合索引和搜刮功能。一個集群有一個獨一的名稱,默認的是elasticsearch。一個幾點只能在一個集群中。
確保集群名字的獨一性;一個集群可以只有一個節點;可以有多個集群。
3、節點:節點是你集群中的單一辦事器,存儲數據,介入集群的索引和搜刮功能。
和集群一樣,節點也有一個獨一的名字(默認是經由過程UUID獲取的一個id),這個名字是節點啟動時生當作的。你可以從頭界說節點的名字。這些名稱對于辦理目標很主要,你可以知道每臺辦事器對應著Elasticsearch集群中的哪一個節點。
節點可以經由過程設置裝備擺設集群名稱插手某一個集群。默認環境下,啟動節點后,節點會主動組建默認集群elasticsearch ,并使得節點主動插手elasticsearch 集群。
在一個集群中,你可以擁有肆意個節點,若是在收集中沒有節點,此時啟動一個節點,這個節點會主動構建一個單一節點的集群elasticsearch 。
4、索引(名稱index:database):一個索引是多個具有相似特征的文檔的調集。例如,你可以擁有一個客戶信息的索引、一個產物目次的索引、也可以擁有一個其他數據的索引。
一個索引被界說為一個名字(全數小寫),這個名字被用來對當前索引(索引中的文檔)進行索引(動詞,list index)、搜刮、更新、刪除操作。
在一個集群中你可以界說肆意個索引。
5、類型(type:table):6.00棄用----來在收集
利用 type 許可我們在一個 index 里存儲多種類型的數據,如許就可以削減 index 的數目了。在利用時,標的目的每個文檔插手 _type 字段,在指心猿意馬 type 搜刮時就會被用于過濾。利用 type 的一個益處是,搜刮一個 index 下的多個 type,和只搜刮一個 type 比擬沒有額外的開銷 —— 需要歸并成果的分片數目是一樣的。
可是,這也是有限制的:
6、文檔:一個文檔是一個可以被索引的根基單元。你可以擁有一個用戶的文檔,一個商品的文檔,文檔的格局是json。
對于一個 索引/類型 ,可以存儲肆意個文檔。注重文檔固然屬于一個索引,但其實文檔是在 索引下的type里面的。
7、shards分片和replicas副天職片:一個索引可以儲存年夜量的數據,有可能超出單個節點物理存儲的限制。
為領會決這個問題,Elasticsearch 可以利用分片把一個索引的數據拆分隔來。當你建立一個索引時,你可以界說分片的數目。 每個分片都是一個自力的索引,可以被托管在集群中的肆意節點上。
分片主要的兩個原因:
(1)它許可程度切割/縮放內容
(2)它許可跨分片(多個節點)分發和并行操作,從而提高機能和吞吐量。
副天職片:在收集情況中,有可能機械會死失落,所以Elasticsearch利用副原本解決這問題。
(1)她供給高可用的能力,當一個單一分片/節點掛失落。副天職配不會和其拷貝源分片在統一個幾點上。
(2)她擴展了搜刮數據的量/吞吐量,因為你可以在所有的副本上并行搜刮
總結一下:一個索引可以切割當作多個分片,一個索引可以沒有副天職片或有多個副天職片。一旦有副天職片,每個索引城市有多個本家兒分片,和多個副天職片。在索引建立的時辰,可以界說,分片和副天職片的數目,必然建立了索引,分片的數目不克不及更改,副天職片的數目是可以點竄的。
默認環境下,一個索引會有5個本家兒分片,每個本家兒分片都有一個副天職片。(一般至少有兩個節點,一個集群)。一個索引,5個本家兒分片,一個副本(即5個副天職片)
1、jdk版本,至少1.8,保舉:1.8.0_131
2、利用tar體例安裝
3、下載Elasticsearch 6.2.4 tar
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
4、解壓縮文件
tar -xvf elasticsearch-6.2.4.tar.gz
5、進入bin目次
cd elasticsearch-6.2.4/bin
6、啟動一個單一節點的集群
./elasticsearch
運行報錯,提醒說內存不敷,原因是elasticsearch默認分派的內存太年夜,我只用于測試,所以點竄其默認內存設置裝備擺設。
點竄:config/jvm.options
-Xms1g
-Xmx1g
為
-Xms512m
-Xmx512m
從頭運行: ./elasticsearch
最小必需為512m.經由過程日記可以看到啟動當作功,oOH6klQ就是我們的節點名稱,而且選擇本身作為集群中的master。
7、啟動時設置集群名稱和節點名稱:
./elasticsearch -Ecluster.name=my_cluster_xyx -Enode.name=my_node_xyx
注重IP地址和端口:127.0.0.1:9200
默認環境下,Elasticsearch 利用9200端口供給REST API拜候,若是需要的話,這個端口是可以設置裝備擺設的。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!