본문 바로가기



Elasticsearch ( 엘라스틱서치 ) 소개


 및 설치하기 , Clustering(ES 5.x)



이번에 소개해드릴 것은 바로


엘라스틱 서치! 입니다.


공식홈페이지 : https://www.elastic.co/kr/products/elasticsearch




위키백과에서는 일래스틱서치를 아래와 같이 설명하고 있습니다.


일래스틱서치(Elasticsearch)

는 루씬 기반의 검색 엔진이다. HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공한다. 일래스틱서치는 자바로 개발되어 있으며 아파치 라이선스 조항에 의거하여 오픈 소스로 출시되어 있다. 공식 클라이언트들은 자바닷넷(C#), PHP파이썬그루비 등 수많은 언어로 이용이 가능하다.[2] 일래스틱서치는 가장 대중적인 엔터프라이즈 검색 엔진으로 그 뒤를 루씬 기반의 Apache Solr가 잇는다.[3]

일래스틱서치는 로그스태시(Logstash)라는 이름의 데이터 수집 및 로그 파싱 엔진, 그리고 키바나(Kibana)라는 이름의 분석 및 시각화 플랫폼과 함께 개발되어 있다. 이 3개의 제품들은 연동 솔루션으로 사용할 목적으로 설계되어 있으며 이를 "일래스틱 스택"(Elastic Stack, 과거 이름: ELK 스택)으로 부른다.




그럼 설치를 시작해보자


1. Elasticsearch 설치


https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.tar.gz


원하는 버전의 ES를 다운 받습니다.


이후 압축해제를 해줍시다.


tar xvfz elasticsearch-x.x.x.tar.gz



이후 필요한 노드 수 만큼 복사를 합니다.


cp -r elasticsearch-x.x.x elasticsearch-...





2. Elastic HQ (plugin) 설치 (안해도 됩니다)


yum install pcre pcre-devel


yum install zlib*


yum install openssl openssl-devel



이후 공식 홈페이지에서 nginx을 설치해 줍시다.


HQ를 실행하기 위해서



http://nginx.org/en/download.html > 원하는 버전 다운로드.


또는 


wget http://nginx.org/download/nginx-x.x.x.tar.gz


wget https://github.com/royrusso/elasticsearch-HQ/tarball/master 



(hq 다운로드)




다운로드를 마쳤다면 압축해제를 진행하자


1.4.4 기준으로 작성



tar xzf nginx-1.4.4.tar.gz  -> 압축해제


cd nginx-1.4.4    -> 해당 폴더로 이동


./configure


make


make install 





다운받은 hq 압축해제 후 nginx 설정 파일 수정(기본경로/conf/nginx.conf)

 

location / {


            root /usr/share/elastichq/;


            index index.html;


        }

 

위 코드 추가 후 nginx 실행

 

$ /usr/local/nginx/sbin/nginx ( 설치경로)






3. 설정파일 수정




원하는 툴로 열어줍시다.


vi elasticsearch-5.x.x/config/elasticsearch.yml



아래와 같이 수정하여 줍니다.


cluster.name: cluster-test  //  클러스터 네임은 각 노드가 같아야 합니다.


node.name: master        // 마스터 설정 (true/false)


node.name: data-1        //  노드 설정 (true/false) 


node.name: data-2        // 클러스터 별로 각 용도에 맞게 설정합니다.


network.host: 0.0.0.0   //  서버 환경에 따라 binding 할 ip를 넣어줍니다.


http.port: 9200~2      //  http 포트 지정


http.enabled: true


http.cors.enabled: true    // 5.x 버전의 경우에는 웹플러그인 기능이 막혀


http.cors.allow-origin:     // 있으므로 별도의 웹서버를 통해 플러그인을


 //  따로 동작시켜야함 이때를 위해 cors 설정


transport.tcp.port: 9300  // 클러스터를 연결할때의 포트를 지정



discovery.zen.ping.unicast.hosts:          // 각 연결한 노드의 주소를 지정


["xxx.xxx.xxx.2:9300", xx.xxx.xxx.3:9300"]  // 5.x 버전의 경우에는 malticast


// 설정 필요 없음



*추가적으로

# Set the bind address to a specific IP (IPv4 or IPv6):

#

network.host:  0.0.0.0

transport.host: localhost

# Set a custom port for HTTP:

#

http.port: 9400


# 위 방법으로 설정시 외부 접속을 허용합니다.


환경 설정까지 마치셨다면 이젠 끝났습니다.


실행만 하면 됩니다!




4. 실행




Elasticsearch의 보안정책으로 root로는 실행할 수 없다고 합니다.


또한 Jvm 설정은 config/ 안에 jvm.options 에서 수정할 수 있습니다.




해당 경로로 이동 후



$ cd elasticsearch-5.x.x/bin/



실행을 합니다.


데몬으로 실행!


$ ./elasticsearch -d






실행화면


실행이 되었다면 사용 방법도 알아봐야 겠죠?


사용방법은


깃허브 위키북 에서 엘라스틱 서치를 참고 하시길 바랍니다.


https://github.com/wikibook/elasticsearch





이상으로


[Elasticsearch/엘라스틱서치] Elasticsearch Clustering 버전 5.5 소개 및 설치하기


포스팅을 마치겠습니다.


엉망진창

개인 블로그 입니다. 코딩, 맛집, 정부정책, 서비스, ~방법 등 다양한 정보를 소개합니다