1. 程式人生 > 實用技巧 >Cocos Creator 使用 cc.tween 緩動方法報錯的問題

Cocos Creator 使用 cc.tween 緩動方法報錯的問題

技術標籤:elasticsearchelasticsearch

目錄

檢視ES叢集的健康狀況
檢視ES的設定
動態設定引數
檢視ES線上的節點
檢視ES的主節點
檢視所有索引
檢視具體某個索引
檢視yellow的索引
檢視red的索引
檢視yellow索引的恢復情況
關閉所有yellow索引
查詢索引的分片情況
查詢指定索引的分片情況
檢視不能分配的分片
檢視所有分片的恢復情況
檢視某個具體索引的分片恢復情況
檢視segments記憶體佔用情況
檢視執行緒池
檢視ES叢集執行緒池狀態
檢視segment數量
檢視節點情況
開啟指定索引
關閉指定索引
設定total_shards_per_node

設定叢集recovery數量
將副本數設定為0
將索引的shard裡的多個段合併成1個段,段越少,佔用的資源越少,有利於提高查詢速度
使用_cat/nodes?v檢視節點資訊,區分哪個是當前的master,然後使用_cat/master對比. 帶*的是master
以組名或姓名為字首,建立 "字首-1"索引,"字首-2"索引,不加任何設定。
以組名或姓名為字首,建立 "字首-3"索引,3個分片,每個分片0個副本
向"字首-2"的索引中新增一個doc,內容為{“name”:“任意”,“something”:“任意”}
檢視指定索引的mapping和setting
刪除"字首-1"索引, 關閉"字首-2"索引, 開啟"字首-2"索引
"字首-3"動態修改副本數量為1
修改"字首-3"索引的total_shards_per_node引數為1,檢視索引setting,以及狀態


  • 檢視ES叢集的健康狀況
curl localhost:9200/_cluster/health?pretty
{
  "cluster_name" : "es",
  "status" : "yellow",
當前叢集狀態 "timed_out" : false, "number_of_nodes" : 3, 當前叢集節點個數為3 "number_of_data_nodes" : 3, "active_primary_shards" : 16055, "active_shards" : 32107, "relocating_shards" : 0, "initializing_shards" : 0, 正初初始化的分片個數為:0 (initializing_shards) "unassigned_shards" : 3, 未分配的分片個數為:3 (unassigned_shards) "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 99.99065711616318 }
  • status欄位
    • green狀態:叢集正常主副分片均被分配
    • yellow狀態:叢集主分片已經分配,但副本分片存在無法分配的情況,這時對外提供的服務是正常可用的,資料也都是完整的
    • red狀態:存在不能分配的主分片

  • 檢視ES的設定
curl localhost:9200/_cluster/settings?pretty
{
  "persistent" : {                   // 永久設定,重啟仍然有效
    "action" : {
      "auto_create_index" : ".security,.monitoring-*,.watch*,.triggered_watches,.quota,noah*,basp*",
      "destructive_requires_name" : "false"
    }
  },
  "transient" : { }                  // 臨時設定,重啟失效 
}
  • 動態設定引數
臨時生效:transient修改方法為:curl -XPUT 'http://localhost:9200/_cluster/settings?pretty' -d '{"transient":{"dynamic.parma":"value"}}'
永久生效:persistent修改方法為:curl -XPUT 'http://localhost:9200/_cluster/settings?pretty' -d '{"persistent":{"dynamic.parma":"value"}}'

  • 檢視ES線上的節點
curl localhost:9200/_cat/nodes?v
ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.xx.xxx.xxx           97          99  22   18.64   11.75     9.88 mdi       *      es.wjl.cn.0
10.xx.xxx.xxx           94          98  37    7.25    7.59     7.74 mdi       -      es.ejl.cn.0
10.xx.xxx.xxx           93          88  14    8.13    9.16     9.17 mdi       -      es.wjl.cn.0

存在節點缺失的情況可用該命令檢視缺失節點為哪些


  • 檢視ES的主節點
curl localhost:9200/_cat/master
curl localhost:9200/_cat/master?v  // 加上 ?v 將顯示欄位名.
es.www.cn.0 temp1002.qqq.cn 10.xx.xxx.xxx es.wjl.cn.0

  • 檢視所有索引
curl localhost:9200/_cat/indices
curl localhost:9200/_cat/indices?v  // 加上 ?v 將顯示欄位名.
yellow open index06  QCVD7Cudbc3cqNlG0g 5 1 1 0  5.1kb  5.1kb
green  open index200 UXEe4IEOos8BMccZXw 3 0 4 0   16kb   16kb
yellow open index01  ewNasSrnSjiqnQPWAA 3 1 1 0  5.4kb  5.4kb
  • 檢視具體某個索引
curl localhost:9200/_cat/indices/{index}
curl localhost:9200/_cat/indices/{index}?v   // 加上 ?v 將顯示欄位名.
  • 取索引名最好加上字首, 因為索引可以模糊匹配
curl -sXGET localhost:9200/_cat/indices/wjl*?v   // 查詢字首是wjl的所有索引
  • 檢視yellow的索引
curl -sXGET "http://localhost:9200/_cat/indices?v" | grep -v close | grep yellow
  • 檢視red的索引
curl -sXGET "http://localhost:9200/_cat/indices?v" | grep -v close | grep red
  • 檢視yellow索引的恢復情況
curl -sXGET "http://localhost:9200/_cat/recovery?v" | grep -v done
  • 關閉所有yellow索引
curl -sXGET "http://localhost:9200/_cat/indices" | grep -v close | grep "yellow " | awk '{print $3}' | while read line; do curl -XPOST "http://localhost:9200/$line/_close" ;done

  • 查詢索引的分片情況
curl localhost:9200/_cat/shards?v 
index_name    2 p STARTED         0     159b 10.95.134.147 es.wjl.cn.0
index_name    2 r STARTED         0     159b 10.95.134.149 es.wjl.cn.0
index_name    3 r STARTED         1   16.4kb 10.95.134.145 es.wjl.cn.0
  • 查詢指定索引的分片情況
curl localhost:9200/_cat/shards/{index}?v 
  • 檢視不能分配的分片
curl -sXGET "http://localhost:9200/_cat/shards?v" | grep UNASSIGNED

  • 檢視所有分片的恢復情況
curl localhost:9200/_cat/recovery
index06 0 68ms existing_store done n/a n/a 172.16.144.80 node-1 n/a n/a 0 0 100.0% 1 0 0 100.0% 261  0 0 100.0%
index06 1 59ms existing_store done n/a n/a 172.16.144.80 node-1 n/a n/a 0 0 100.0% 1 0 0 100.0% 261  0 0 100.0%
index06 2 72ms existing_store done n/a n/a 172.16.144.80 node-1 n/a n/a 0 0 100.0% 1 0 0 100.0% 261  0 0 100.0%
  • 檢視某個具體索引的分片恢復情況
curl localhost:9200/_cat/recovery/{index}

可使用該命令檢視initializing分片的恢復進度


  • 檢視segments記憶體佔用情況
curl -sXGET "http://localhost:9200/_cat/nodes?h=name,segments.memory,heap.max&v"
name(es節點名)     segments.memory      heap.max
es.***.0           5.4gb                29.9gb
es.***.1           5.2gb                29.9gb

關注:segments.memory的使用是否超過堆記憶體的30%


  • 檢視執行緒池
curl -sXGET "http://localhost:9200/_cat/thread_pool?v"
node_name    name                 active  queue  rejected
es.wjl.cn.0  index                    0     0        0
es.wjl.cn.0  listener                 0     0        0
  • 檢視ES叢集執行緒池狀態
curl -sXGET "http://localhost:9200/_cat/thread_pool/bulk?v"
node_name  name active queue rejected
es.***.1   bulk      2     0     1749
es.***.0   bulk      0     0     1197
es.***.0   bulk      0     0      209

如果叢集存在入庫有延遲的情況,執行thread_poolAPI,如果reject>0,說明叢集的處理能力低於入庫請求,請求業務方降低入庫速率。

curl -sXGET "http://localhost:9200/_cat/thread_pool/search?v"
node_name   name      active queue rejected
es.***.0    search      4     0       0
es.***.0    search     61    977    4326
es.***.1    search     61    495    3497

如果reject>0,說明叢集的處理能力低於查詢請求,需要降低查詢速率。


  • 檢視segment數量
curl -sXGET "http://localhost:9200/_cat/indices?h=index,segments.count&v"
index                       segments.count
seye-file-2019.08.20                   0
seye-udpflow-2019.08.16                0
seye-file-2019.08.18                   0
  • segment(段)一個段就是一批具有相同檔名,不同檔名字尾的lucene檔案集合(如下圖所示)。
    隨著新資料不斷進入系統,小的段會合併成大的段,以提高資源利用率。
    可以每天凌晨會對前一天的索引進行優化,將每個分片的多個段,合併成一個段。
    在這裡插入圖片描述

  • 檢視節點情況
curl -sXGET "http://localhost:9200/_cat/nodes?h=name,uptime,segments.memory&v"
name(ES節點名)    uptime(節點啟動時長)      segments.memory(segment佔用記憶體)
es.wjl.cn.0       66.7d               93.8mb
es.wjl.cn.0       66.7d               82.3mb
es.wjl.cn.0       61.8d               112.1mb

  • 開啟指定索引
curl -XPOST "http://localhost:9200/{index}/_open"
  • 關閉指定索引
curl -XPOST "http://localhost:9200/{index}/_close"

  • 設定total_shards_per_node
curl -XPUT "http://localhost:9200/{index}/_settings" -d '{"index":{"routing.allocation.total_shards_per_node":"1"}}'
  • 設定叢集recovery數量
curl -sXPUT "http://localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.node_concurrent_recoveries":"60"}}'
  • 將副本數設定為0
curl -sXPUT "http://localhost:9200/{index}/_settings" -H 'Content-Type: application/json' -d '{"index.number_of_replicas":0}'

  • 將索引的shard裡的多個段合併成1個段,段越少,佔用的資源越少,有利於提高查詢速度
curl -XPOST 'http://localhost:9200/netops-syslog2018.07.19/_forcemerge?max_num_segments=1'
  • 使用_cat/nodes?v檢視節點資訊,區分哪個是當前的master,然後使用_cat/master對比. 帶*的是master
curl -sXGET localhost:9200/_cat/nodes?v
curl -sXGET localhost:9200/_cat/master?v

  • 以組名或姓名為字首,建立 "字首-1"索引,"字首-2"索引,不加任何設定。
curl -sXPUT localhost:9200/wjl-1
curl -sXPUT localhost:9200/wjl-2?pretty       // ?pretty: 美化輸出.
[[email protected] bin]$ curl -sXPUT localhost:9200/wjl-2?pretty
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "wjl-2"
}
  • 以組名或姓名為字首,建立 "字首-3"索引,3個分片,每個分片0個副本
curl -sXPUT "localhost:9200/wjl-3?pretty" -H 'Context-Type: application/json' -d'
{
    "settings" :{
        "number_of_shards" :3,
        "number_of_replicas" :0
    }
}'

  • 向"字首-2"的索引中新增一個doc,內容為{“name”:“任意”,“something”:“任意”}
curl -XPOST "http://localhost:9200/fengxiaoqing-2/content" -d '{
"name":"wjl",
"something":"This is a doc from wjl-2,叫做something"
}'

  • 檢視指定索引的mapping和setting
curl -sXGET 'localhost:9200/{index}?pretty'

  • 刪除"字首-1"索引, 關閉"字首-2"索引, 開啟"字首-2"索引
curl -sXDELETE localhost:9200/wjl-1
curl -sXPOST localhost:9200/wjl-2/_close
curl -sXPOST localhost:9200/wjl-2/_open

  • "字首-3"動態修改副本數量為1
curl -sXPUT localhost:29200/wjl-3/_settings -d '{"index.number_of_replicas":1}'
  • 修改"字首-3"索引的total_shards_per_node引數為1,檢視索引setting,以及狀態
curl -sXPUT "http://localhost:9200/wjl-3/_settings" -d '{"index.routing.allocation.total_shards_per_node":1}'

total_shards_per_node是索引級別的setting.