1. 程式人生 > >Elastic Search 安裝與執行

Elastic Search 安裝與執行

1.Elastic Search 安裝與執行
  1. 獲取elastic search
(需要安裝wget)  
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
  1. 解壓elasticsearch
tar zxvf elasticsearch-6.2.4.tar.gz 
  1. 執行elasticsearch
bin/elasticsearch
訪問:127.0.0.1:9200
  1. 出現以下資訊
{
  "name"
: "YSApVRi", //node名 "cluster_name" : "elasticsearch", //叢集名稱 "cluster_uuid" : "LpM-q8GQSam1T5IEkZHXcg", "version" : { "number" : "6.2.4", "build_hash" : "ccec39f", "build_date" : "2018-04-12T20:37:28.497551Z", "build_snapshot" : false, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version"
: "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" //產品說明 }
  1. elasticsearch配置說明:

    • 配置檔案位於config目錄中
    • elasticsearch.yml es的相關配置
      i. cluster.name叢集名稱,以此作為是否同一叢集的判斷條件
      ii. node.name節點名稱,一次作為叢集中不同節點的區分條件
      iii. network.host/http.port網路地址和埠,用於http和transport服務使用
      iv. path.data資料儲存地址
      v. path.log日誌儲存地址
    • jvm.options jvm的相關引數
    • log4j2.properties 日誌相關配置
    • Development 與Production模式說明
      i. 以transport的地址是否繫結再localhost為標準判斷network.host
      ii. Development模式下啟動時會以warning方式提示配置檢查異常
      iii. Production模式下啟動時會以error的方式提示配置檢查異常並退出
  2. Elasticsearch本地啟動叢集的方式

1. bin/elasticsearch
2. bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2
3. bin/elasticsearch -Ehttp.port=7200 -Epath.data=node3

訪問: 127.0.0.1:8200/_cat/nodes?v 檢視節點資訊
訪問: 127.0.0.1:8200/_custer/stats 檢視叢集資訊
kibana 下載安裝和簡介(安裝同elasticsearch)
  1. kibana配置
    i. 配置位於config資料夾中
    ii. server.host/server.port訪問kibana用的地址和埠
    iii. elasticsearch,url 待訪問elasticsearch的地址
  2. kibana常用功能說明
    i. Discover資料搜尋檢視
    ii. Visualize圖表製作
    iii. Dashboard儀表盤製作
    iv. Timelion時序資料的高階視覺化分析
    v. DevTools開發者工具
    vi. Management配置

  3. Elasticsearch常用術語
    i. Document文件資料
    ii. Index索引
    iii. Type索引中的資料型別
    iv.Field欄位,文件的屬性
    v. Query Dsl 查詢語法

  4. ElasticSearch CRUD


在kibana中的devToos
建立
POST /accounts/person/1 //accounts:index, person type, 1 id
{
    "name":"John", //
    "lastname":"Doe",
    "job_description":"Systems administrator and linux specialit"
}
返回結果
{
   "_index":"accounts",
   "_type":"person",
   "_id":"1",
   "_version":"1",
   "_shards":{
     "total":2,
     "successful":1,
     "failed":0
   }
   "created":true//讀取文件
Get accounts/person/1
//更新語法
POST /accounts/person/1/_update
{ 
  "doc":{
     "job_description":"Systems update"
  }
}
//刪除
DELETE accounts/person/1
  1. Elasticsearch Query
Query String  
GET /accounts/person/_search?q=john
Query DSL 更強大
GET  /accounts/person/_search
{
  "query" :{
    "match":{
       "name":"john"
    }
  }
}
Beats簡介
  1. Lightweight Data Shipper
    • Filebeat 日誌檔案
    • Metricbeat 度量資料
    • Packetbeat 網路資料
    • Winlogbeat Windows資料
    • Heartbeat 健康檢查
  2. Filebeat input 配置
  3. Filebeat Output 配置
  4. Filebeat Filter 配置
    i. Input時處理
    ii. Output前處理
  5. Filebeat+Elasticsearch Ingest Node

    • Filebeat缺乏資料轉換能力
    • Elasticsearch Ingest Node
      i. 新增的node型別
      ii. 在資料寫入es前對資料進行處理轉換
      iii. pipeline api
      1. Filebeat Module簡介
    • 解決Filebeat配置複雜
    • 對於社群常見需求進行配置封裝增加易用性 i. nginx ii. apache iii. mysql
    • 封裝內容 i.filebeat.yml配置
      ii. ingest node pipeline 配置 iii. kibana dashboard 配置

      1. Packetbeat簡介
        i.實時抓取網路包 ii.自動解析應用協議:http,
      2. Logstash入門
        i. etl,Extract,Transform,Load
        存在資料流 input, filter,output
        非結構化資料轉換成結構化資料
實戰
  • 收集Elasticsearch叢集的查詢語句
  • 分析查詢語句的常用語句,響應時長等
    1. 方案
    2. production cluster(業務叢集) –>Packetbeat 抓包–>Logstash –> Monitoring cluster –>kibana(視覺化分析)