磨刀不誤砍柴工,要學習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學習之旅了,各位加油~