반응형

Cluster
- Node 의 집합이다.
- 가장 큰 시스템 단위, 하나 이상의 노드로 구성된다.
- 서로 다른 클러스터는 데이터 교환, 접근 불가능하다.

Node
Elasticsearch 를 구성하는 하나의 단위 프로세스

- Master-eligible Node
  node.master: true 
  cluster 를 컨트롤 한다.

 

- Data Node
  node.date: true
  data 관련된 일들을 수행한다 : search, CRUD


- Ingest Node
  node.ingest: true 
  문서 indexing 전에 ingest pipeline 을 적용한다


- Machine learning Node

Index
- 비슷한 특성을 가진 문서의 모음

Type
- 하나의 Index 에서 하나 이상의 Type 을 정의할 수 있다. 
- Index 를 논리적으로 분류/구분한 것이다.

Document
- Index 화 할수 있는 기본 정보 단위이다.
- Json 형식을 이루어진다.

Shard & Replica
- Elasticsearch 는 Index 를 Shard 라는 조각으로 분할하는 기능을 제공한다.
- 콘텐츠 볼륨의 수평 분할/확장이 가능해진다.
- 병렬화 함으로써 성능/처리량을 늘리수 있다.
- Elasticsearch에서는 색인의 샤드에 대해 하나 이상의 복사본을 생성할 수 있는데, 이를 리플리카 샤드(replica shard), 줄여서 리플리카라고 한다. 

    - 각 색인은 여러 개의 샤드로 분할할 수 있다.
    - 하나의 색인은 복제하지 않거나(리플리카 없음) 1회 이상 복제할 수 있다.
    - 복제되면 각 색인은 기본 샤드(복제 원본 샤드)와 리플리카 샤드(기본 샤드의 복사본)를 갖는다.
    - 샤드 및 리플리카의 수는 색인별로, 색인 생성 시점에 정의할 수 있습니다.
    - 색인이 생성된 다음 언제라도 탄력적으로 리플리카의 수를 변경할 수 있으나, 샤드 수는 사후 변경이 불가능하다.

기본적으로 Elasticsearch의 각 색인은 기본 샤드 5개, 리플리카 1개를 갖는다. 따라서 클러스터에 최소한 2개의 노드가 있다면 색인은 기본 샤드 5개, 리플리카 샤드 5개(완전한 리플리카 1개)를 가지므로 색인당 총 10개의 샤드가 존재하게 된다.

 

RDBMS  Elasticsearch 
shema  mapping 
database  index 
table  type 
row  document 
column  field 

 

참고 url 

http://blog.naver.com/PostView.nhn?blogId=takane7&logNo=221438265860&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=true&from=search 

https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-basic-concepts.html 

728x90
반응형

'Development > Elasticsearch' 카테고리의 다른 글

Window 에서 Elasticsearch 설치  (0) 2016.08.08
반응형

Cluster

- Master, Node 2가지 타입의 리소스가 존재한다.

- Master : cluster를 관리한다. 

- Node : Worker Machine 으로 제공되는 VM 또는 물리적 컴퓨터이다. 

            각각의 Node 는 Node 를 관리하고 Kubernetes master와 커뮤니케이션을 할수 있는 Kubelet 이라는 agent 를 가지고 있다. 

            Node 는 master 가 노출시켜놓은 Kubernetes API 를 사용해서 통신을 한다. 





https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/

Pod

- Deployment 를 생성하게 되면 Deployment는 Pod 를 생성하고 그 안에 Container 를 넣는다. 

- Pod 는 1개 이상의 어플리케이션 컨테이너와 그 컨테이너들이 공유하는 리소스의 그룹이다. 

- 공유 리소스는 volume, clusterIP 가 있다. 

- Pod 안에 있는 Container 들은 IP 와 port 를 공유한다. 

- Pod 는 Unique IP address 를 가지고 있다.


https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/



Service

- Pod 의 논리적 집합과  그것을 접근 할수 있는 정책을 정의 해준다. 

- Service 가 설정하는 Pod 의 논리적 집합은 LabelSelector 로 정의 한다. 

- 다음과 같은 type 이 존재한다. 


 type

 내용 

 ClusterIP 

 default 이다. cluster 의 internal IP 만 노출 시키기 때문에 cluster 내부에서만 접근 가능하다. 

 NodePort 

 각각의 NodeIP 에 서비스를 노출시킨다. NodePort 서비스가 라우팅 할 ClusterIP 서비스가 자동으로 생성된다. 클러스터 외부에서 <NodeIP>:<NodePort> 로 접근 가능하다. 

 LoadBalancer 

 external IP 를 생성하여 클러스터 외부에서 접근 가능하게 해준다. ClusterIP 와 NodePort는 자동으로 생성된다.




https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/

728x90
반응형

+ Recent posts