CentOS 8이 나왔지만, CentOS 7에서 Elasticsearch를 설치해 보겠습니다.
Elasticsearch가 무엇이냐...
검색엔진이랍니다.
그렇다면 검색엔진은 무엇일까요?
검색엔진이란 말을 종종 썼지만, 별로 생각 없이 쓴거같습니다.
네x버의 실시간 검색어 기능인가?
지금까지의 결론은 검색! 엔진!?
우리가 무언가 검색을 합니다.
검색을 하기 위해서는 데이터가 있어야 합니다.
데이터를 검색하는 것입니다.
데이터를 저장하고
저장 된 데이터를 빠르게 검색하는 것
그게 지금까지 제가 이해한 검색엔진입니다.
자 그럼 Elasticsearch를 설치해 봅시다~
설치하시려는 서버에 SSH로 접속하십시오
elasticsearch를 설치하기 위한 repositry를 설정합니다.
vi /etc/yum.repos.d/elasticsearch.repo
[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
yum으로 설치
yum -y install elasticsearch
elasticsearch 시작
systemctl start elasticsearch
여기서 바로 에러가 발생했습니다~
그래도 linux 환경을 좀 사용해봐서 그런지.. 다행히 해결이 가능했습니다.
vim /etc/sysconfig/elasticsearch
JAVA_HOME경로를 설정해주시면 해결 됩니다.
JAVA_HOME은 bin 이전까지의 경로를 설정해주시면 됩니다.
다시 시도!
systemctl start elasticsearch
혹시! AccessDeniedException 에러가 발생 된다면
elasticsearch 폴더의 권한을 elasticsearch로 아래와 같이 주시면 됩니다.
chown -R elasticsearch. /etc/elasticsearch
재재시도
systemctl start elasticsearch
성공했습니다.
기타 오류가 발생되시는 분들께 드리고 싶은 말은... 화이팅~!
시스템 시작 시 자동으로 시작되게 하시려면 아래를 추가
systemctl enable elasticsearch
정상적으로 동작하는지 확인해보시려면~
curl http://127.0.0.1:9200
JSON 데이터가 리턴됩니다. 내용은 대략 아래와 같습니다.
{
"name" : "soledot.com,
"cluster_name" : "elasticsearch",
"cluster_uuid" : "fIQnFLWcTJCoC_AmELuJvA",
"version" : {
"number" : "7.1.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "7a013de",
"build_date" : "2020-04-16T14:04:00.380842Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
이제 Elasticsearch를 사용하기 위한 준비가 끝났습니다.
물론, 이 외에도 설치할 것들이 좀 있어보입니다.