磨刀不誤砍柴工,要學習Elasticsearch,首先要搭建起來一套學習環境,本文爲手把手教你在MacOS上面搭建Elasticsearch學習環境。node
Elasticsearch 是一個分佈式、RESTful 風格的搜索和數據分析引擎,可以解決不斷涌現出的各類用例。 做爲 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料以外的狀況。詳情可查看:https://www.elastic.co/cn/elasticsearch/瀏覽器
下載地址:https://www.elastic.co/cn/downloads/elasticsearch服務器
選擇相應的版本進行下載:elasticsearch
解壓到~ Develop目錄分佈式
cd命令進入到elasticsearch-7.10.2/bin:執行./elasticsearch
便可啓動。學習
瀏覽器訪問http://localhost:9200/,說明Elasticsearch啓動成功。測試
目錄 | 描述 |
---|---|
bin | 腳本文件,包括啓動Elasticsearch,安裝插件等 |
config | 集羣配置文件 |
JDK | Java運行環境 |
data | 數據文件 |
lib | Java類庫 |
modules | 模塊目錄 |
plugins | 插件目錄 |
查看已經安裝插件:./elasticsearch-plugin list
插件
安裝插件:./elasticsearch-plugin install analysis-icu
3d
查看已經安裝的插件:./elasticsearch-plugin list
code
或者瀏覽器訪問:http://localhost:9200/_cat/plugins
進入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 ,能夠查看正在運行的節點信息:
Kibana 是一個免費且開放的用戶界面,可以讓您對 Elasticsearch 數據進行可視化,並讓您在 Elastic Stack 中進行導航。您能夠進行各類操做,從跟蹤查詢負載,到理解請求如何流經您的整個應用,都能輕鬆完成。詳情可查看:https://www.elastic.co/cn/kibana/
Kibana安裝與啓動方式與Elasticsearch基本相同:
下載地址:https://www.elastic.co/cn/downloads/kibana
選擇相應的版本進行下載,解壓,進入bin目錄,啓動kibana
瀏覽器訪問:http://localhost:5601/
安裝插件:bin/kibana-plugin install plugin_location
查看已裝插件:bin/kibana-plugin list
移除插件:bin/kibana remove
Logstash 是免費且開放的服務器端數據處理管道,可以從多個來源採集數據,轉換數據,而後將數據發送到您最喜歡的「存儲庫」中。詳情可查看:https://www.elastic.co/cn/logstash/
Logstash安裝與啓動方式與Elasticsearch基本相同:
下載地址:https://www.elastic.co/cn/downloads/logstash
選擇相應的版本進行下載,解壓,進入bin目錄,啓動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學習之旅了,各位加油~