日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

內核增強版高級特性應用

阿里云Elasticsearch內核增強版的高級特性Indexing Service索引構建服務和Openstore智能混合存儲,廣泛應用于海量存儲日志場景。本文從實踐應用入手,幫助您快速使用阿里云ES內核增強版的高級特性功能。

相關文檔

建議您優先完成最佳實踐,熟悉整個操作流程。

分類

文檔

高級特性介紹

7.10內核增強版實例支持開啟高級特性。高級特性包括:

最佳實踐

遷移

說明

ES數據遷移到OpenStore存儲前,需提前在源集群中將索引segment forcemerge為1,否則數據遷移到OpenStore后查詢性能降低。

內核增強版實例使用須知

  • 索引存儲到Openstore自定義冷熱存儲后,將處于只讀狀態。不再支持將新數據寫入Openstore索引,并且不支持通過修改index.blocks.write參數為null控制索引寫入,否則索引將異常。

  • 在Indexing Service實例中數據托管不支持自定義分詞類插件、IK詞典、同義詞詞典等的應用。

  • 內核增強版存儲及托管服務按照寫入流量、存儲空間進行按量計費。詳細信息,請參見ES計費項

  • 您可以在實例詳情頁的基本信息頁面的節點可視化區域,查看Indexing Service當天寫入總流量、托管總數據量、OpenStore截止到昨日存儲用量和OpenStore存儲當前實時預估用量等離線監控數據,一般1小時統計一次數據。

  • OpenStore存儲一般無空間上限限制,建議OpenStore存儲按照單節點最大存儲數據容量30 TB規劃集群存儲的總數據量。更多限制說明,請參見智能混合存儲使用限制自定義冷熱存儲使用限制

  • 購買內核增強版實例后,建議在接入生產流量前提前配置好集群,避免集群應用生產后因頻繁修改配置需要多次重啟。具體操作請參考業務依賴集群YML配置內核增強版必配

  • 使用內核增強版實例推薦使用datastream配置ILM rollover控制索引流創建,降低創建索引頻率,減少小索引個數。頻繁索引或小索引較多,會加重主節點數據管理能力,影響實例穩定性。

  • 業務數據寫入Indexing Service前,請結合業務寫入情況評估實例級別寫入流量、Put Mapping操作和單分片級別的最大寫入流量,如果寫入流量超過限定值,將返回429狀態碼。您可以參考以下情況進行優化。更多限制說明,請參見Indexing Service使用限制

  • 限流

    限流值

    優化建議

    實例級別限流

    寫入流量最大為200 MB/s

    建議業務控制寫入流量,如果您有更大的使用需求,請提交工單

    Put Mapping操作

    Put Mapping最大為50 tps/s

    建議您提前定義索引模板,在模板中指定Mapping,降低Put Mapping操作,否則大量的字段創建、更新極易觸發限流。具體操作,請參見配置內容模板

    單分片流量

    • 不帶主鍵寫入流量最大為10 MB/s

    • 帶主鍵寫入流量最大為5 MB/s

    按照整體業務流量及寫入索引分片總數評估單分片流量,可適當增加主分片數提高索引流量。

  • 執行GET _cat/tasks?v 命令時可能會看到apack/cube/metadata/sync相關任務,該任務為Indexing Service數據同步任務,禁止取消該任務,如被清理,請盡快使用POST /_cube/meta/sync命令恢復,否則影響業務寫入。

  • 日志場景一般管理的索引數、數據量比較大,而大批量刪除索引或數據(如減少TB級別索引副本數),可能會影響節點穩定性,建議避免一次性大批量刪除索引,結合ILM管理索引生命周期,將大數據量索引建議拆分成小索引。

  • 索引存儲到Openstore智能混合存儲后,將處于只讀狀態。少量寫入場景且集群壓力未達到瓶頸時,可將index.blocks.write修改為null實現新數據寫入,寫完后請將索引置為只讀。

內核增強版實例必配

購買阿里云ES內核增強版實例后,請進行以下配置:

  1. Openstore混合存儲在可維護窗口期內采用藍綠變更方式進行升級,您可以在實例基本信息頁面指定業務低峰為可維護時間段。

  2. 如果需要通過Kibana訪問ES實例,需配置ES私網白名單。具體操作,請參見配置Kibana公網或私網訪問白名單

  3. 內存大于32 GB的實例需要手動將默認的CMS垃圾回收器修改為G1垃圾回收器,以提高GC回收效率。具體操作,請參見配置垃圾回收器

    說明

    內存大于32GB的內核增強版實例包括:

    • 開啟OpenStore智能混合或自定義冷熱存儲的實例.

    • Indexing Service數據節點大于32 GB的實例。

  1. 實例開啟自動創建索引或通過API按需配置自動創建索引范圍。更多信息,請參見配置YML參數

    PUT /_cluster/settings
    {
    "persistent": {
    "action": {
    "auto_create_index": "true"
    }
    }
    }
    //僅對test開頭的業務索引開啟自動創建功能
    PUT /_cluster/settings
    {
      "persistent": {
        "action": {
          "auto_create_index": "+.*,+test*,-*"
        }
      }
    }
  2. 針對不同存儲類型的內核增強版實例,請按照以下要求配置索引生命周期策略和索引模板。具體操作,請參見創建索引模板

    • Indexing Service+云盤存儲:按照功能提示,完成索引生命周期策略配置(取消托管時間)和索引模板配置(Settings,Mapping,Aliases)。

      說明

      數據寫入實例后,索引默認處于托管狀態,索引Settings中的index.apack.cube.following_index參數為true。

      • 如果您通過API自定義創建模板,請務必將index.apack.cube.following_index參數設置為true。

      • 如果您不想托管索引,請將index.apack.cube.following_index參數設置為false。

    • Indexing Service+OpenStore智能混合存儲:按照功能提示,完成索引生命周期策略配置(取消托管時間)和索引模板配置(Settings,Mapping,并關聯組合內容模板component-hybrid-openstore-index-template)。

    • Indexing Service+OpenStore自定義冷熱存儲:按照功能提示,完成索引生命周期策略配置(取消托管時間)和索引模板配置(Settings,Mapping,并關聯組合內容模板openstore-index-template)。

    說明
    • 請務必配置好索引模板,否則數據將不會被托管或轉存到OpenStore中。

    • 強烈建議在索引模板中指定Mapping,否則大量的字段創建、更新極易觸發限流。

    • 如果寫入的索引中沒有相關依賴信息,索引將不會轉存到OpenStore存儲。

      實例提供的默認內容模板中均已配置好OpenStore存儲相關的依賴,您可以直接調用組合內容模板。禁止對默認組合模板進行修改,如果需要自定義組合模板可直接復制默認組合模板中的內容。

  3. 如果開啟OpenStore智能混合存儲,shard副本數須大于等于1,用于保證本地存儲寫入加速的可靠性。詳細信息,請參見智能混合存儲使用限制

  4. 配置集群一鍵報警(磁盤,CPU,內存等)和指標報警(集群分片數,節點個數等),當資源達到警戒值時,請及時擴容或限流。具體操作請參見配置集群報警配置指標報警

  5. ES 7.x版本實例的單機分片數限制為1000,如果分片數超過1000*數據節點個數,將無法創建新索引,可通過調整參數max_shards_per_node解決。

    PUT _cluster / settings {
    	"persistent": {
    		"cluster": {
    			"max_shards_per_node": "5000"
    		}
    	}
    }

提升實例性能的方法

  • 寫入場景中如果指定主鍵ID寫入,會消耗大量的計算資源,建議您將主鍵值存儲為獨立的字段,讓ES自動添加主鍵。

  • 集群segment數(例如20萬)越多,對查詢性能越不利,內核增強版實例內存為64 GB,建議按照單機5000評估segment數,當超過5000時可適當縮短取消托管任務時間。例如:從默認的3天調整為2天觸發取消托管,降低segment數,提高查詢性能。

  • 關注fielddata監控指標。如果fielddata內存超過1 GB,排查fielddata內存使用率較高的原因,優化查詢語句,定期清理fielddata緩存。更多信息,請參見fielddata內存使用率高問題的排查與處理方法

    清理fielddata緩存的腳本示例如下,其中<password><host>需要替換為您的ES實例的密碼和私網地址。

    ###在同vpc網絡的ECS服務器上配置crontab定時任務,在業務低峰期執行清理fielddata緩存。
    
    vimclear_fielddata.sh
    #!/bin/bash
    curl-XPOST-u elastic:<password> http://<host>/_cache/clear?fielddata=true"
    #為腳本賦予可執行權限
    chmoda+xclear_fielddata.sh
    #腳本執行交由crontab執行
    crontab-e
    00***sh/home/elastic/clear_fielddata.sh>/dev/null&2>&1

  • 內核增強版實例相比商業版實例在存儲量級和成本上有優勢,在查詢場景,建議通過range控制查詢落在熱節點索引上,提高查詢性能。

  • 如果業務查詢中存在range和sort,建議在索引或索引模板中指定sort.field和sort.order,并配置points.same_sort_order_as_index_sort參數,寫入階段提前實現預排序,提高查詢性能。

    1. range字段和sort排序字段要一致,最好指定一個時間字段。

    2. 創建索引模板時,mapping中提前指定要排序的時間字段。

    示例如下,其中points.same_sort_order_as_index_sort主要實現bkd排序順序和index sort順序一致,提高range查詢性能。

    說明

    僅7.10版本且內核1.8.0及以上的實例提供points.same_sort_order_as_index_sort參數。

    PUT /_index_template/test-template
    {
      "index_patterns" : ["test*"],
      "priority" : 1,
      "template": {
        "settings" : {
          "number_of_shards" : 2,
          "sort.field" : [
            "timestamp"
          ],
          "sort.order" : [
            "desc"
          ],
          "points.same_sort_order_as_index_sort" : "true"
        },
        "mappings": {
          "properties": {
          "age":    { "type": "integer" },  
          "email":  { "type": "keyword"  }, 
          "timestamp":   { "type": "date"  }     
        }
        }
      }
    }

    更多信息,請參見index sorting官網說明

  • 海量寫入場景中,如果寫入的文檔沒有指定主鍵,可開啟定向路由,提高寫入性能。

    PUT _cluster/settings
    {
      "persistent" : {
        "index.direct_routing.global.enable" : "true"
      }
    }

    更多信息,請參見開啟定向路由