首頁 > 網際網路

01Elasticsearch入門及Linux安裝

2019-12-17 15:27:45

版本:6.2

1、Elasticsearch 是一個高可延伸的開源全文搜尋和分析引擎。它允許你快速並接近實時地儲存、搜尋、分析大量的資料。

2、使用Elasticsearch 的一些案例

(1)你執行著一個網上商城,允許使用者搜尋你銷售的商品。在這個案例中,你可以使用Elasticsearch 儲存商品目錄和其庫存資訊,並為他們提供搜尋服務和自動填充的建議。

(2)你要收集紀錄檔或者交易資料,並分析、挖掘這些資料,以找到趨勢、統計、匯總或者異常情況。在這種情況下,你可以使用Logstash 收集、彙總和解析資料,然後把這些資料方法Elasticsearch中,你可以使用搜尋和聚合來挖掘任何你想得到的資料。

(3)你執行這一個價格提醒平台,並且允許客戶根據需要獲取物件價格的商品。在這個案例中,你可以抓取商品的價格,放到Elasticsearch中,然後使用其反向搜尋功能,匹配商品的價格,然後當價格滿足客戶需要是給客戶推播訊息。

(4)有大量資料視覺化分析的需求,可以把大量的資料儲存到Elasticsearch中,然後使用Kibana來構建想要的視覺化資料。

1

一、Elasticsearch的核心內容1、瞬時:Elasticsearch是一個瞬時的搜尋平台。通常時間1秒。2、叢集:叢集中的伺服器共同持有資料,提供跨越節點的聯合索引和搜尋功能。一個叢集有一個唯一的名稱,預設的是elasticsearch。一個幾點只能在一個叢集中。確保叢集名字的唯一性;一個叢集可以只有一個節點;可以有多個叢集。3、節點:節點是你叢集中的單一伺服器,儲存資料,參與叢集的索引和搜尋功能。和叢集一樣,節點也有一個唯一的名字(預設是通過UUID獲取的一個id),這個名字是節點啟動時生成的。你可以重新定義節點的名字。這些名稱對於管理目的很重要,你可以知道每台伺服器對應著Elasticsearch叢集中的
哪一個節點。節點可以通過設定叢集名稱加入某一個叢集。預設情況下,啟動節點後,節點會自動組建預設叢集elasticsearch?,並使得節點自動加入elasticsearch?叢集。在一個叢集中,你可以擁有任意個節點,如果在網路中沒有節點,此時啟動一個節點,這個節點會自動構建一個單一節點的叢集elasticsearch?。4、索引(名稱index:database):一個索引是多個具有相似特徵的文件的集合。例如,你可以擁有一個客戶資訊的索引、一個產品目錄的索引、也可以擁有一個其他資料的索引。一個索引被定義為一個名字(全部小寫),這個名字被用來對當前索引(索引中的文件)進行索引(動詞,list index)、搜尋、更新、刪除操作。在一個叢集中你可以定義任意個索引。5、型別(type:table):6.00棄用----來在網路6、文件:一個文件是一個可以被索引的基本單位。你可以擁有一個使用者的文件,一個商品的文件,文件的格式是json。對於一個 索引/型別 ,可以儲存任意個文件。注意文件雖然屬於一個索引,但其實文件是在 索引下的type裡面的。7、shards分片和replicas副本分片:一個索引可以儲存大量的資料,有可能超出單個節點物理儲存的限制。為了解決這個問題,Elasticsearch?可以使用分片把一個索引的資料拆分開來。當你建立一個索引時,你可以定義分片的數量。 每個分片都是一個獨立的索引,可以被託管在叢集中的任意節點上。分片重要的兩個原因:(1)它允許水平切割/縮放內容(2)它允許跨分片(多個節點)分發和並行操作,從而提高效能和吞吐量。副本分片:在網路環境中,有可能機器會死掉,所以Elasticsearch使用副本來解決這問題。(1)她提供高可用的能力,當一個單一分片/節點掛掉。副本分配不會和其拷貝源分片在同一個幾點上。(2)她擴充套件了搜尋資料的量/吞吐量,因為你可以在所有的副本上並行搜尋總結一下:一個索引可以切割成多個分片,一個索引可以沒有副本分片或有多個副本分片。一旦有副本分片,每個索引都會有多個主分片,和多個副本分片。在索引建立的時候,可以定義,分片和副本分片的數量,一定建立了索引,分片的數量不能更改,副本分片的數量是可以修改的。預設情況下,一個索引會有5個主分片,每個主分片都有一個副本分片。(一般至少有兩個節點,一個叢集)。一個索引,5個主分片,一個副本(即5個副本分片)
個節點,如果在網路中沒有節點,此時啟動一個節點,這個節點會自動構建一個單一節點的叢集elasticsearch?。4、索引(名稱index:database):一個索引是多個具有相似特徵的文件的集合。例如,你可以擁有一個客戶資訊的索引、一個產品目錄的索引、也可以擁有一個其他資料的索引。一個索引被定義為一個名字(全部小寫),這個名字被用來對當前索引(索引中的文件)進行索引(動詞,list index)、搜尋、更新、刪除操作。在一個叢集中你可以定義任意個索引。5、型別(type:table):6.00棄用----來在網路6、文件:一個文件是一個可以被索引的基本單位。你可以擁有一個使用者的文件,一個商品的文件,文件的格式是json。對於一個 索引/型別 ,可以儲存任意個文件。注意文件雖然屬於一個索引,但其實文件是在 索引下的type裡面的。7、shards分片和replicas副本分片:一個索引可以儲存大量的資料,有可能超出單個節點物理儲存的限制。為了解決這個問題,Elasticsearch?可以使用分片把一個索引的資料拆分開來。當你建立一個索引時,你可以定義分片的數量。 每個分片都是一個獨立的索引,可以被託管在叢集中的任意節點上。分片重要的兩個原因:(1)它允許水平切割/縮放內容(2)它允許跨分片(多個節點)分發和並行操作,從而提高效能和吞吐量。副本分片:在網路環境中,有可能機器會死掉,所以Elasticsearch使用副本來解決這問題。(1)她提供高可用的能力,當一個單一分片/節點掛掉。副本分配不會和其拷貝源分片在同一個幾點上。(2)她擴充套件了搜尋資料的量/吞吐量,因為你可以在所有的副本上並行搜尋總結一下:一個索引可以切割成多個分片,一個索引可以沒有副本分片或有多個副本分片。一旦有副本分片,每個索引都會有多個主分片,和多個副本分片。在索引建立的時候,可以定義,分片和副本分片的數量,一定建立了索引,分片的數量不能更改,副本分片的數量是可以修改的。預設情況下,一個索引會有5個主分片,每個主分片都有一個副本分片。(一般至少有兩個節點,一個叢集)。一個索引,5個主分片,一個副本(即5個副本分片)

2

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


3

4、解壓縮檔案

tar -xvf elasticsearch-6.2.4.tar.gz


4

5、進入bin目錄

cd elasticsearch-6.2.4/bin


5

6、啟動一個單一節點的叢集

./elasticsearch

執行報錯,提示說記憶體不夠,原因是elasticsearch預設分配的記憶體太大,我只用於測試,所以修改其預設記憶體設定。

修改:config/jvm.options

-Xms1g  

-Xmx1g

-Xms512m  

-Xmx512m  




6

重新執行: ./elasticsearch

最小必須為512m.通過紀錄檔可以看到啟動成功,oOH6klQ就是我們的節點名稱,並且選擇自己作為叢集中的master。



7

7、啟動時設定叢集名稱和節點名稱:

./elasticsearch -Ecluster.name=my_cluster_xyx -Enode.name=my_node_xyx

注意IP地址和埠:127.0.0.1:9200

預設情況下,Elasticsearch 使用9200埠提供REST API存取,如果需要的話,這個埠是可以設定的。



IT145.com E-mail:sddin#qq.com