StoryCode

'Elastic Search'에 해당되는 글 12건

  1. 설치
  2. Elastic Search 란

설치

Elastic Search
반응형

1. 환경

Ubuntu 18.10 liveserver

 

2. ElasticSearch 매뉴얼 페이지 참조

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

 

3. Java 11 설치

참조 : https://tecadmin.net/install-oracle-java-11-ubuntu-18-04-bionic/

> sudo apt update

> sudo apt upgrade

> sudo add-apt-repository ppa:linuxuprising/java

> sudo apt update

> sudo apt install oracle-java11-installer

> sudo apt install oracle-java11-set-default

> java -version

 

4. Elastic Search 설치

> mkdir download

> cd download

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.tar.gz

   # 혹은 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz

> cd /usr/local

> tar zxvf ~/download/elasticsearch-5.4.3.tar.gz

   # tar zxvf ~/download/elasticsearch-7.0.0-linux-x86_64.tar.gz

 

> grep vm.max_map_count /etc/sysctl.conf

> sudo sysctl -w vm.max_map_count=262144

# 각종 옵션 참조 https://okayjava.tistory.com/30 참조

cd elasticsearch-5.4.3/config

 

# 참조 : https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-configuration.html

> vi config/elasticsearch.yml

   # 외부에서 접근가능하게 하려면 elastic 5.4.3 에서는 network.host: 0.0.0.0 으로 수정해야함. 7 에서는 모르겠음.

   # 보통은 kibana 통해서 접근하니 # 으로 막아놓채로 elasticsearch 실행할 것.

cd elasticsearch-5.4.3/bin

> ./elasticsearch # no root account, service elasticsearch restart

   # 클러스트/노드명 설정시 : ./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name

 

4.1

외부에서 접근 가능하면 Chrome> http://172.16.174.148:9200/ 확인.

아니면 localhost:9200으로만 접근 가능.

 

"name" : "0l3cD0_", "cluster_name" : "elasticsearch", "cluster_uuid" : "YFlzj7AiQcuZm73LyWIujQ", "version" : { "number" : "5.4.3", "build_hash" : "eed30a8", "build_date" : "2017-06-22T00:34:03.743Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search" }

 

5. curl 로 기본 상태 확인. ( _cat 은 Elastic Cluster 체크 명령 )

> curl http://127.0.0.1:9200/_cat/health?v

 

샘플결과>

poch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1556456126 12:55:26  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%

반응형

Elastic Search 란

Elastic Search
반응형

- 실시간 분산 검색엔진 서버

- 오픈 소스

- 아파치 Lucene 기반

- JSON 기반 비정형 데이타 분산 검색과 분석 지원

- 설치, 확장이 용이

- 실시간 검색 서비스 지원, 분산 및 병령 처리, 멀티태넌시 기능 지원

- 아마존 웹 서비스의 클라우드 서비스와 빅 데이터 처리를 위한 하듭 연동 지원

 

고가용성

 

Elasticsearch 는 동작중에 죽은 노드를 감지하고 삭제하며 사용자의 데이터가 안전하고 접근가능하도록 유지하기 때문에, 동작 중에 일부 노드에 문제가 생기더라도 문제없이 서비스를 제공합니다.

 

 멀티 테넌시

 

클러스터는 여러개의 인덱스들을 저장하고 관리할 수 있으며, 독립된 하나의 쿼리 혹은 그룹 쿼리로 여러 인덱스의 데이터를 검색할 수 있습니다.

 

 전문 검색(Full text search)

 

Elastic search는 강력한 full text search를 지원합니다.

 

 문서 중심(Document oriented)

 

복잡한 현실세계의 요소들을 구조화된 JSON 문서 형식으로 저장합니다. 모든 필드는 기본적으로 인덱싱되며, 모든 인덱스들은 단일 쿼리로 빠르게 사용할 수 있습니다.

 

 Schema free

 

JSON 문서 구조를 통해 데이터를 인덱싱하고 검색가능하게 합니다. (NoSQL과 같은 스키마가 개념이 없음) 그리고 사용자의 데이터가 어떻게 인덱싱 될 것인가에 대한 것은 사용자가 커스터마이징 할 수 있습니다.

 

 플러그인 형태 구현

 

검색엔진을 직접 수행하지 않고 필요한 기능에 대한 플러그인을 적용하여 기능을 확장할 수 있습니다. 예를 들어 외부에서 제공하는 형태소 분석기나 REST API를 구현하여 적용할 수 있습니다.

 

[ 참조 ]

반응형