CLOUD/OpenSource

[ElasticSerach] 시작하기

alsruds 2023. 3. 22. 15:01

◎ 가상머신 준비 ◎ : CentOS 8

→ ElasticSearch : cpu 2 / mem 4

 

 

[ Elasticsearch 설정 ]

데이터 저장소

》 자바 기반 : 자바 설치 필요

yum -y install java-1.8.0-openjdk-devel.x86_64

 

Repository 추가

cat > /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

 

● 설치

dnf -y install elasticsearch

 

/etc/elasticsearch/jvm.options  파일 설정

# 31번, 32번 라인 주석 해제 후 수정
-Xms2g		# Xms(설정한 메모리의 절반)g
-Xms2g

 

 실행

systemctl enable elasticsearch
systemctl restart elasticsearch

 

 확인

》 curl  [option]  [url] : 외부 서버 url 과 통신할 수 있는지 확인 (http 프로토콜 사용 가능)

curl http://127.0.0.1:9200

 

서버 바인딩 주소 설정

# 파일 실행
vi /etc/elasticsearch/elasticsearch.yml

# 주석 해제 & 수정
network.host: 0.0.0.0
discovery.seed_hosts: ["[elasticsearch ip]"]
cluster.initial_master_nodes: ["[elasticsearch ip]"]

# 파일 수정 후 재시작
systemctl restart elasticsearch

 

 

[ Elasticsearch 기본 사용법 ]

● 인덱스

》 RDB에서의 Database

 

① 조회

curl -XGET 'http://localhost:9200/_cat/indices?pretty'

 

② 생성

curl -XPUT 'http://localhost:9200/[생성할 인덱스 이름]'

 

③ 삭제

curl -XDELETE 'http://localhost:9200/[삭제할 인덱스 이름]'

 

student 인덱스 추가~

 

▶ Postman에서도 확인 가능 (방화벽 해제 필요)

조회
생성
삭제

 

 

 매핑

매핑 조회 : student 생성 시 넣어준 매핑이 없어서 비어있음

 

매핑 생성 - PUT : id값으로 넣어짐

 매핑 생성 - POST : _doc

 

매핑 업데이트 : kim > lee 변경

 

모든 매핑 리스트 조회

 

매핑과 함께 인덱스 생성

 

매핑 추가