curl 명령 작업 ElasticSearch

curl 명령 작업 ElasticSearch

  • ES 기본 포트에 액세스합니다
  • 노드 버전 정보 보기
  • ES cat 시리즈_cat 명령은 그룹 상태 정보를 가져옵니다
  • 모든 노드 정보 보기
  • 집단 건강 상태를 확인하세요
  • 모든 색인 정보를 얻습니다


  • ES cluster 시리즈,_클러스터에서 클러스터 정보를 가져옵니다
  • 집단 상태를 조회합니다
  • CPU, JVM 등 클러스터 시스템 정보를 표시합니다
  • 집단의 상세한 정보를 표시하는데 노드, 분할 등을 포함한다
  • 집단 임무를 획득합니다


  • ES nodes 시리즈,_nodes 조회 노드 상태
  • 색인 작업
  • 색인을 가져옵니다
  • 인덱스 데이터
  • 색인을 삭제합니다
  • 맵핑 얻기
  • 매핑 설정

  • 단일 인덱스 정보 얻기
  • 모든 유형 정보를 얻습니다
  • 지정한 인덱스의 type 형식 정보를 가져옵니다

  • 첨삭 수정
  • 증가: 문서를 추가하고 색인, 유형, 문서 id도 자동으로 생성합니다
  • 변경: 기존 데이터를 수정하고 문서의 버전을 주의하십시오
  • 조회: index, type, id에 따라 문서 정보를 조회합니다
  • 조회: index, type, 기타 필드에 따라 문서 정보를 조회합니다
  • 삭제: 문서 삭제, 유형 삭제(모든 데이터) 및 색인 삭제




  • ES 기본 포트 액세스

    Http 9200, ;
    Tcp 9300, 、 TCPClient 
    

    노드 버전 정보 보기

    [root@CCC ~]# curl -XGET esXXX.com:9200
    	{
         
    	  "name" : "node-2",
    	  "cluster_name" : "CCC-ElasticSearch",
    	  "cluster_uuid" : "mpy54uqwQ0-ZY4x6t-A_zA",
    	  "version" : {
         
    	    "number" : "6.7.0",
    	    "build_flavor" : "oss",
    	    "build_type" : "tar",
    	    "build_hash" : "8453f77",
    	    "build_date" : "2019-03-21T15:32:29.844721Z",
    	    "build_snapshot" : false,
    	    "lucene_version" : "7.7.0",
    	    "minimum_wire_compatibility_version" : "5.6.0",
    	    "minimum_index_compatibility_version" : "5.0.0"
    	  },
    	  "tagline" : "You Know, for Search"
    	}
    

    ES cat 시리즈_cat 명령으로 그룹 상태 정보 가져오기


    _cat 명령은 curl-XGET host:9200/_를 실행하여 ES 클러스터 상태를 조회하는 일련의 인터페이스를 제공합니다.cat 명령은 모든cat에 대한 작업 명령을 가져옵니다.
    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cat
    	=^.^=
    	/_cat/allocation               // 
    	/_cat/shards                     // 
    	/_cat/shards/{
         index}
    	/_cat/master                    // 
    	/_cat/nodes                     // 
    	/_cat/tasks
    	/_cat/indices                   // 
    	/_cat/indices/{
         index}
    	/_cat/segments                  // 
    	/_cat/segments/{
         index}
    	/_cat/count                     // 
    	/_cat/count/{
         index}
    	/_cat/recovery
    	/_cat/recovery/{
         index}
    	/_cat/health                    // 
    	/_cat/pending_tasks
    	/_cat/aliases
    	/_cat/aliases/{
         alias}
    	/_cat/thread_pool
    	/_cat/thread_pool/{
         thread_pools}
    	/_cat/plugins
    	/_cat/fielddata
    	/_cat/fielddata/{
         fields}
    	/_cat/nodeattrs
    	/_cat/repositories
    	/_cat/snapshots/{
         repository}
    	/_cat/templates
    
  • 모든 노드 정보 보기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cat/nodes?v
    	ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
    	192.168.0.113           20          19   0    0.56    0.31     0.25 mdi       -      node-2
    	192.168.0.112           22          85   4    4.64    5.76     5.42 mdi       *      node-0
    	192.168.0.111           18          77   3    2.14    3.01     3.35 mdi       -      node-1
    
  • 클러스터 상태 보기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cat/health?v
    epoch      timestamp cluster           status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
    1596699974 07:46:14  CCC-ElasticSearch green           3         3     24  12    0    0        0             0                  -                100.0%
    
  • 모든 색인 정보 가져오기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cat/indices?v
    		health status index     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    		green  open   hr        jEnki_w3SIKqQx9o0A8oEg   5   1          3            0     75.5kb         37.7kb
    		green  open   .kibana_1 5629XHb8QBWOTYcYfCqBDg   1   1          1            0      7.4kb          3.7kb
    		green  open   h1        bFG4mFpHSSOqUInbW77N3A   5   1          1            0     21.7kb         10.8kb
    		green  open   .kibana   MJHB1LdySxiIzZbJjagYKA   1   1          1            0      7.4kb          3.7kb
    

  • ES cluster 제품군,_클러스터 정보 가져오기

  • 클러스터 상태 조회

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cluster/health?pretty=true
    		{
           
    		  "cluster_name" : "CCC-ElasticSearch",
    		  "status" : "green",
    		  "timed_out" : false,
    		  "number_of_nodes" : 3,
    		  "number_of_data_nodes" : 3,
    		  "active_primary_shards" : 55,
    		  "active_shards" : 110,
    		  "relocating_shards" : 0,
    		  "initializing_shards" : 0,
    		  "unassigned_shards" : 0,
    		  "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" : 100.0
    		}
    
    ##pretty=true는 포맷된 출력을 나타냅니다. #level=indices는 색인 상태를 나타냅니다. #level=shards는 분할 정보를 표시합니다
  • CPU, JVM 등 클러스터 시스템 정보 표시

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cluster/stats?pretty=true
    
  • 노드, 분할 등 그룹 상세 정보 표시

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cluster/state?pretty=true
    
  • 클러스터 작업 가져오기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_cluster/pending_tasks?pretty=true
    	{
           
    	  "tasks" : [ ]
    	}
    

  • ES nodes 시리즈,_nodes 조회 노드 상태

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_nodes/stats?pretty=true
    
    [root@CCC ~]# curl -XGET es-XXX.com:9200/_nodes/process
    {
         "_nodes":{
         "total":3,"successful":3,"failed":0},"cluster_name":"CCC-ElasticSearch","nodes":{
         "AQ4qydaKT9aJbRWw5zMNgw":{
         "name":"node-0","transport_address":"192.168.0.112:9300","host":"192.168.0.112","ip":"192.168.0.112","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":51825,"mlockall":true}},"jvcZKU5LRlWLRP-gygIu2Q":{
         "name":"node-1","transport_address":"192.168.0.111:9300","host":"192.168.0.111","ip":"192.168.0.111","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":94888,"mlockall":true}},"mbUErjiTTWaHdqLLxdQCZw":{
         "name":"node-2","transport_address":"192.168.0.113:9300","host":"192.168.0.113","ip":"192.168.0.113","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":36069,"mlockall":true}}}}
    
    [root@CCC ~]# curl -XGET es-XXX.com:9200/_nodes/_all/process
    {
         "_nodes":{
         "total":3,"successful":3,"failed":0},"cluster_name":"CCC-ElasticSearch","nodes":{
         "AQ4qydaKT9aJbRWw5zMNgw":{
         "name":"node-0","transport_address":"192.168.0.112:9300","host":"192.168.0.112","ip":"192.168.0.112","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":51825,"mlockall":true}},"jvcZKU5LRlWLRP-gygIu2Q":{
         "name":"node-1","transport_address":"192.168.0.111:9300","host":"192.168.0.111","ip":"192.168.0.111","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":94888,"mlockall":true}},"mbUErjiTTWaHdqLLxdQCZw":{
         "name":"node-2","transport_address":"192.168.0.113:9300","host":"192.168.0.113","ip":"192.168.0.113","version":"6.7.0","build_flavor":"oss","build_type":"tar","build_hash":"8453f77","roles":["master","data","ingest"],"process":{
         "refresh_interval_in_millis":1000,"id":36069,"mlockall":true}}}}
    	
    [root@CCC ~]# curl -XGET es-XXX.com:9200/_nodes/hot_threads
    	::: {
         node-2}{
         mbUErjiTTWaHdqLLxdQCZw}{
         9XFJ6bCvRiKKzICOULtO2g}{
         192.168.0.113}{
         192.168.0.113:9300}
    		Hot threads at 2020-08-17T09:26:36.180, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
    		
    	::: {
         node-0}{
         AQ4qydaKT9aJbRWw5zMNgw}{
         HVjVri7mSQqIvM5telpMDg}{
         192.168.0.112}{
         192.168.0.112:9300}
    		Hot threads at 2020-08-17T09:26:36.180, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
    		
    	::: {
         node-1}{
         jvcZKU5LRlWLRP-gygIu2Q}{
         e_ybh9e2RXirIvzJap31SA}{
         192.168.0.111}{
         192.168.0.111:9300}
    		Hot threads at 2020-08-17T09:26:36.180, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
    

    색인 작업

  • 색인 가져오기

    curl -XGET es-XXX.com:9200/{
           index}/{
           type}/{
           id}
    
  • 인덱스 데이터

    curl -XPOST  es-XXX.com:9200/{
           index}/{
           type}/{
           id} -d'{
           “a”:”avalue”,”b”:”bvalue”}
  • 색인 삭제

    curl -XDELETE es-XXX.com:9200/{
           index}/{
           type}/{
           id}
    
  • 맵핑 가져오기

    curl -XGET es-XXX.com:9200/{
           index}/{
           type}/_mapping
    
  • 매핑 설정

    curl -XPUT es-XXX.com:9200/{
           index}/{
           type}/_mapping  -H "Content-Type:application/json" -d '{"{type}":{"properties":{"date":{"type":"long"},"name":{"type":"string","index":"not_analyzed"},"status":{"type":"integer"},"type":{"type":"integer"}}}}'
    

  • 단일 색인 정보 가져오기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/h1?pretty
    	{
         
    	  "h1" : {
         
    	    "aliases" : {
          },
    	    "mappings" : {
         
    	      "employees" : {
         
    	        "properties" : {
         
    	          "address" : {
         
    	            "type" : "text",
    	            "fields" : {
         
    	              "keyword" : {
         
    	                "type" : "keyword",
    	                "ignore_above" : 256
    	              }
    	            }
    	          },
    	          "chineseId" : {
         
    	            "type" : "text",
    	            "fields" : {
         
    	              "keyword" : {
         
    	                "type" : "keyword",
    	                "ignore_above" : 256
    	              }
    	            }
    	          },…
    

    모든 유형 정보 가져오기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/_mapping?pretty=true
    {
      "hr" : {
        "mappings" : {
          "employees" : {
            "properties" : {
              "address" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  },。。。
    

    지정한 인덱스의 type 형식 정보 가져오기

    [root@CCC ~]# curl -XGET es-XXX.com:9200/hr/_mapping?pretty=true 
    	{
         
    	  "hr" : {
         
    	    "mappings" : {
         
    	      "employees" : {
         
    	        "properties" : {
         
    	          "address" : {
         
    	            "type" : "text",
    	            "fields" : {
         
    	              "keyword" : {
         
    	                "type" : "keyword",
    	                "ignore_above" : 256
    	              }
    	            }
    	          },。。。
    

    삭제하고 고치다

  • 추가: 문서를 추가하는 동시에 색인, 형식, 문서 id도 자동으로 생성합니다

    [root@CCC ~]# curl -XPUT es-XXX.com:9200/hr/employees/11111 -H "Content-Type:application/json" -d '{"name":"ccc","age":18}'
    	{
           "_index":"hr","_type":"employees","_id":"11111","_version":1,"result":"created","_shards":{
           "total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
    
  • 변경: 기존 데이터 수정, 문서 버전 주의

    [root@CCC ~]# curl -XPOST es-XXX.com:9200/hr/employees/11111?pretty -H "Content-Type:application/json" -d '{"name":"bbbb","age":50}'
    	{
           
    	  "_index" : "hr",
    	  "_type" : "employees",
    	  "_id" : "11111",
    	  "_version" : 9,
    	  "result" : "updated",
    	  "_shards" : {
           
    	    "total" : 2,
    	    "successful" : 2,
    	    "failed" : 0
    	  },
    	  "_seq_no" : 8,
    	  "_primary_term" : 1
    	}
    
  • 조회: index, type, id에 따라 문서 정보 조회

    [root@CCC ~]# curl -XGET es-XXX.com:9200/hr/employees/11111?pretty
    {
           
      "_index" : "hr",
      "_type" : "employees",
      "_id" : "11111",
      "_version" : 7,
      "_seq_no" : 6,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
           
         "name" : "ccc",
         "age" : 18  }
    }
    
  • 조회: index, type, 기타 필드에 따라 문서 정보 조회

    [root@CCC ~]# curl -XGET es-XXX.com:9200/hr/employees/_search?q=name:ccc
    	{
           "took":2,"timed_out":false,"_shards":{
           "total":5,"successful":5,"skipped":0,"failed":0},"hits":{
           "total":0,"max_score":null,"hits":[]}}
    	[root@CCC ~]# curl -XGET es-XXX.com:9200/hr/employees/_search?pretty=true&q=name:b
    	[1] 19200
    	[root@CCC ~]# {
           
    	  "took" : 1,
    	  "timed_out" : false,
    	  "_shards" : {
           
    	    "total" : 5,
    	    "successful" : 5,
    	    "skipped" : 0,
    	    "failed" : 0
    	  },
    	  "hits" : {
           
    	    "total" : 1,
    	    "max_score" : 1.0,
    	    "hits" : [
    	      {
           
    	        "_index" : "hr",
    	        "_type" : "employees",
    	        "_id" : "11111",
    	        "_score" : 1.0,
    	        "_source" : {
           
    	          "name" : "b",
    	          "age" : 30
    	        }
    	      }
    	    ]
    	  }
    	}
    	
    	[1]+  Done 
    
  • 삭제: 문서 삭제, 유형 삭제(모든 데이터) 및 인덱스 삭제

    ## 문서 삭제
    [root@CCC ~]# curl -XDELETE es-XXX.com:9200/hr/employees/11111?pretty
    	{
           
    	  "_index" : "hr",
    	  "_type" : "employees",
    	  "_id" : "11111",
    	  "_version" : 10,
    	  "result" : "deleted",
    	  "_shards" : {
           
    	    "total" : 2,
    	    "successful" : 2,
    	    "failed" : 0
    	  },
    	  "_seq_no" : 9,
    	  "_primary_term" : 1
    	}
    [root@CCC ~]# curl -XGET es-XXX.com:9200/hr/employees/11111
    	{
           "_index":"hr","_type":"employees","_id":"11111","found":false}
    
    ## 삭제 유형 - 현재 하나의 type 삭제는 지원되지 않습니다..
    [root@CCC ~]# curl -XDELETE es-XXX.com:9200/hr/employees
    		{
           "error":"Incorrect HTTP method for uri [/hr/employees] and method [DELETE], allowed: [POST]","status":405}
    
    ## 인덱스 삭제
    [root@CCC ~]# curl -XDELETE -u elastic:changeme es-nlb-es-ny7dpk33ms.jvessel-open-sh.jdcloud.com:9200/hr?pretty
    {
           
      "acknowledged" : true
    }
    
  • 좋은 웹페이지 즐겨찾기