Elasticsearch核心技術(一):Elasticsearch環境搭建

James_Shangguan發表於2021-03-07

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

相關文章