磨刀不誤砍柴工,要學習Elasticsearch,首先要搭建起來一套學習環境,本文為手把手教你在MacOS上面搭建Elasticsearch學習環境。
1.1 Elasticsearch安裝
Elasticsearch 是一個分散式、RESTful 風格的搜尋和資料分析引擎,能夠解決不斷湧現出的各種用例。 作為 Elastic Stack 的核心,它集中儲存您的資料,幫助您發現意料之中以及意料之外的情況。詳情可檢視:https://www.elastic.co/cn/elasticsearch/
1.1.1 Elasticsearch安裝
下載地址:https://www.elastic.co/cn/downloads/elasticsearch
選擇相應的版本進行下載:
解壓到~ Develop目錄
cd命令進入到elasticsearch-7.10.2/bin:執行./elasticsearch
即可啟動。
瀏覽器訪問http://localhost:9200/,說明Elasticsearch啟動成功。
1.1.2 Elasticsearch目錄結構
目錄 | 描述 |
---|---|
bin | 指令碼檔案,包括啟動Elasticsearch,安裝外掛等 |
config | 叢集配置檔案 |
JDK | Java執行環境 |
data | 資料檔案 |
lib | Java類庫 |
modules | 模組目錄 |
plugins | 外掛目錄 |
1.1.3 Elasticsearch外掛安裝
檢視已經安裝外掛:./elasticsearch-plugin list
安裝外掛:./elasticsearch-plugin install analysis-icu
檢視已經安裝的外掛:./elasticsearch-plugin list
或者瀏覽器訪問:http://localhost:9200/_cat/plugins
1.1.4 Elasticsearch多例項啟動
進入Elasticsearch的bin目錄:
./elasticsearch -E node.name=node1 -E cluster.name=james -E path.data=mode1_data -d
./elasticsearch -E node.name=node2 -E cluster.name=james -E path.data=mode2_data -d
./elasticsearch -E node.name=node3 -E cluster.name=james -E path.data=mode3_data -d
在瀏覽器訪問:http://localhost:9200/_cat/nodes ,可以檢視正在執行的節點資訊:
1.2 Kibana安裝
Kibana 是一個免費且開放的使用者介面,能夠讓您對 Elasticsearch 資料進行視覺化,並讓您在 Elastic Stack 中進行導航。您可以進行各種操作,從跟蹤查詢負載,到理解請求如何流經您的整個應用,都能輕鬆完成。詳情可檢視:https://www.elastic.co/cn/kibana/
1.2.1 Kibana安裝
Kibana安裝與啟動方式與Elasticsearch基本相同:
下載地址:https://www.elastic.co/cn/downloads/kibana
選擇相應的版本進行下載,解壓,進入bin目錄,啟動kibana
瀏覽器訪問:http://localhost:5601/
1.2.2 Kibana外掛安裝
安裝外掛:bin/kibana-plugin install plugin_location
檢視已裝外掛:bin/kibana-plugin list
移除外掛:bin/kibana remove
1.3 Logstash安裝
Logstash 是免費且開放的伺服器端資料處理管道,能夠從多個來源採集資料,轉換資料,然後將資料傳送到您最喜歡的“儲存庫”中。詳情可檢視:https://www.elastic.co/cn/logstash/
1.3.1 Logstash安裝
Logstash安裝與啟動方式與Elasticsearch基本相同:
下載地址:https://www.elastic.co/cn/downloads/logstash
選擇相應的版本進行下載,解壓,進入bin目錄,啟動logstash
1.3.2 Logstash匯入資料
下載最MovieLens最小測試資料集:https://grouplens.org/datasets/movielens/
進入logstash安裝目錄的bin目錄,新增logstash.conf檔案:
path為movie.csv的路徑。
input {
file {
path => "/Users/sgh/Develop/data/movies.csv"
start_position => "beginning"
sincedb_path => "null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][1]}"}
}
mutate {
convert => {
"year" => "integer"
}
strip => ["title"]
remove_field => ["path", "host","@timestamp","message","content"]
}
}
output {
elasticsearch {
hosts => "http://localhost:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}
啟動logstash:sudo logstash -f logstash.conf
在kibana介面可以看到movies資料集已經匯入到了Elasticsearch中,完畢。
至此,Elasticsearch的環境搭建已經完成,下面可以正式進入快樂的Elasticsearch學習之旅了,各位加油~