ElasticStack學習(二):ElasticStack安裝與運行

来源:https://www.cnblogs.com/supersnowyao/archive/2019/07/03/11117565.html
-Advertisement-
Play Games

一、ElasticSearch的安裝與運行 1、由於ElasticSearch是由Java語言開發的,若要運行ElasticSearch,需要安裝並配置JDK,並要設置$JAVA_HOME環境變數。 2、ElasticSearch版本對於Java依賴的說明: 1)ElasticSearch5.0需要 ...


  一、ElasticSearch的安裝與運行

  1、由於ElasticSearch是由Java語言開發的,若要運行ElasticSearch,需要安裝並配置JDK,並要設置$JAVA_HOME環境變數。

  2、ElasticSearch版本對於Java依賴的說明:

    1)ElasticSearch5.0需要Java8以上的版本;

    2)ElasticSearch6.5開始支持Java11;

    3)從ElasticSearch7.0開始,內置了Java環境;

    4)下圖是ElasticSearch和JVM的對應關係矩陣:https://www.elastic.co/cn/support/matrix#matrix_jvm

     

   3、ElasticSearch下載說明

    1)下載地址:https://www.elastic.co/cn/downloads/elasticsearch

    2)ElasticSearch可以運行在主流操作系統上,同時也可以運行在Docker中;

    3)本人電腦是Windows系統,所以下載的是ElasticSearch的Windows版本;

  4、ElasticSearch安裝過程--前臺模式(Windows系統)

    1)ElasticSearch在Windows上的安裝提供了兩種形式,一種是以zip文件的形式進行解壓;一種是以MSI文件的形式進行安裝;以前通常是以zip文件的形式在Windows上進行安裝,現在以MSI文件格式進行安裝也是可行的,它提供了一種最簡便的入門體驗;

    2)我們採用以zip文件的形式進行安裝。首先將下載完畢的ElasticSearch壓縮包進行解壓,此時會創建一個名稱為ElasticSearch-x.x.x的文件夾,將其設置為$ES_HOME環境變數的引用路徑;

    

    3)打開命令視窗,進入到當前ElasticSearch的目錄中,如下圖所示:

    

    4)運行ElasticSearch,進入bin目錄下,執行elasticsearch.bat文件。如若想停止運行ElasticSearch,按Ctrl+C;

    

    5)驗證ElasticSearch是否正在運行,通過發送Http請示,向localhost:9200進行請求。若ElasticSearch運行正常,則返回如下結果:

    

  5、ElasticSearch安裝過程--後臺模式(Windows系統)

  ElasticSearch可以作為一個服務在後臺進行運行,或當系統啟動時可以自動運行,不需要人為干預。服務安裝可以通過bin目錄下麵的elasticsearch-service.bat腳本來實現,該腳本可以實現安裝、卸載、管理和配置服務,並可以啟動和停止服務,所有操作均可以通過命令行來完成。如下所示:

1 G:\elasticsearch-7.2.0\bin>elasticsearch-service.bat
2 
3 可操作的命令:install|remove|manage|start|stop [service_id]

   所以,執行該腳本,需要一個命令參數。同時,根據情況需要一個service_id,也就是可選參數。

  在安裝服務時,確保服務的名稱和JAVA_HOME是可用的,如下圖所示:

  

  6、ElasticSearch文件目錄結構

  

  7、JVM配置說明

  在config目錄中jvm.options文件里,對JVM的預設配置為1GB。在生產環境中,建議最大與最小記憶體設置成一樣的,最大記憶體不要超過機器的50%,同時記憶體的總量不要超過30GB。相關文章可參照:www.elastic.co/blog/a-heap-of-trouble

   8、ElasticSearch插件的安裝

  執行bin目錄中elasticsearch-plugin腳本,查看目前已經安裝的插件,如下圖所示:

  

  可以看出目前沒有安裝任何插件,現在可以安裝一個分詞插件analysis-icu,如下圖所示:

  

  可以看到,正在從elastic站點進行插件的下載和安裝。

 

  二、Kibana的安裝與運行

  1、Kibana下載地址:https://www.elastic.co/downloads/kibana 

  2、將下載的壓縮包進行解壓縮,如果需要對kibana進行一些配置,可以在config目錄下麵的kibana.yml文件中進行修改;

  3、首先將ElasticSearch運行起來,因為kibana是基於ElasticSearch進行運行的;

  4、kibana運行的預設埠是5601,向瀏覽器中訪問:http://localhost:5601,可見如下圖所示:

  

  5、通過點擊添加樣例數據鏈接,可以看到如下圖:

  

  我們可以添加關於電商、航空、網路日誌三種樣例數據。

  6、另外,在kibana中的DevTool是一個很有用的工具,它可以調試ElasticSearch的API;

  7、若要想對kibana進行漢化,從kibana6.8和ES7.0開始支持,在config目錄中,對kibana.yml文件中的i18n.locale項設置成: "zh-CN",也就是i18n.locale: "zh-CN"就可以了。

 

  三、Logstash的安裝與運行

  1、Logstash的下載地址:https://www.elastic.co/cn/downloads/logstash

  2、從https://grouplens.org/datasets/movielens/地址中下載最小的測試數據集,將下載的數據集中的movies.csv文件導入到ElasticSearch中;

  3、在Logstash目錄下麵的bin目錄下麵建立Logstash.conf文件,配置內容如下:

input {
  file {
    path => ["G:/logstash-7.2.0/sample-source/movies.csv"]
    start_position => beginning
    sincedb_path => "G:/logstash-7.2.0/abc"
  }
}
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 {

#    gsub => [
#      
#      "year", "\\)", ""
#    ]
#  }


  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 {}
}

   4、打開cmd,進行Logstash目錄下麵的bin目錄下,執行logstash -f logstash.conf,會將數據導入到ElasticSearch中,如下圖所示:

  

 

  大家可關註我的公眾號

  

  知識學習來源:《Elasticsearch核心技術與實戰》 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 更新:zip亂碼的問題可以通過安裝patch之後的 和`unzip natspec`解決(archlinuxcn源),而仍使用Engrampa做前端。此文重點在pygtk... 問題是這樣的: 一切都起源於一個壓縮文件的亂碼… Windows的編碼真的是為所欲為,讓Linux這種守規矩的小傻子措手不 ...
  • 1. 使用ifconfig命令來維護網路 1) ifconfig命令的功能:顯示所有正在啟動的網卡的詳細信息或設定系統中網卡的IP地址。 2) 應用ifconfig命令設定網卡的IP地址: 例如:修改eth0網卡的IP地址為172.18.48.56和子網掩碼255.255.255.128的命令: i ...
  • 1. 安裝/升級Docker客戶端 推薦安裝1.10.0以上版本的Docker客戶端,參考文檔 docker-ce 1. 安裝/升級Docker客戶端 推薦安裝1.10.0以上版本的Docker客戶端,參考文檔 docker-ce 2. 配置鏡像加速器 針對Docker客戶端版本大於 1.10.0 ...
  • 1. Linux文件系統的層次結構 1) Linux文件系統的樹狀結構: 在Linux或UNIX操作系統中,所有的文件和目錄都被組織成一個以根節點開始的倒置的樹狀結構。 2) 目錄的定義: 目錄相當於Windows中的文件夾,目錄中存放的既可以是文件,也可以是其他的子目錄。 3) 頂層根目錄的表示: ...
  • 1. Linux命令的格式 1) Linux命令的語法格式: 命令 【選項】 【參數】 2) 命令格式中命令、選項、參數的具體含義 a) 命令:告訴Linux(UNIX)操作系統做(執行)什麼。 b) 選項:說明命令運行的方式(可以改變命令的功能)。選項部分是以“-”字元開始的。 c) 參數:說明命 ...
  • 前言 近幾年NoSQL資料庫興起,各種新的產品層出不窮,在此學習下NoSQL的基本理論,並認識下常見的NoSQL資料庫。 一 NoSQL資料庫興起的原因 隨著大數據技術興起和Web2.0時代的到來。傳統關係型資料庫已經無法滿足當前的資料庫需求了。 無法滿足的需求主要有3點: 海量數據的存儲與管理 ( ...
  • 利用help_topic表把字元串轉換成行(分隔符號',') 統計字元串每個子串出現次數(分隔符號',') ...
  • 目錄 [toc] # 概要## ORM常用欄位```常用欄位 1 AutoFile( primary_key=Ture) 2 Charfiled(max_length= 12) 3 IntgerFile () 4 DateFile() 5 DatetimeFlie ROM 常用13個操作 ( 1 ) ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...