Ubuntu 환경에서 Elasticsearch 8 설치
17 May 2022들어가며
몇 달 전, 자바로 Elasticsearch를 사용해 개발 할 일이 있었다. 그 당시 Elasticsearch는 8.1까지 나온 상태여서 처음에는 8.1을 설치했다. 설치를 하고, 자바로 Elasticsearch 개발 하는 법을 찾아보았다. 찾아보니 Elasticsearch 8 버전 부터는 Elasticsearch Java Api Client를 통해 개발한다고 했다. 그런데 인터넷의 대부분 자료에서는 Java High Level Client를 사용 하여서 나도 Java High Level Client를 통해 개발을 하려고 했는데, 이 api가 7.15.0에서 deprecated 됐다는 것을 뒤늦게 알았다. 당장 개발을 해야 했던 나는 하는 수 없이 구버전을 재설치하여 개발하였다.
그러나 개발할 때 뭔가 최신판을 써야할 것 같은 강박? 비슷한게 있어서 나중에 꼭 한 번 최신판으로 설치하여 정리를 해야 겠다고 생각했다. 그래서 이번에 Elasticsearch 8 버전을 설치하고 Java Api Client에 대해 공부를 해볼 예정이다.
Elasticsearch 설치
먼저 Elasticsearch 다운로드 페이지에 가서 운영체제에 맞는 파일을 받는다. 나는 Ubuntu 20.04를 통해 개발하고 있다. 22/5/16 현재 최신판은 8.2.0
난 wget을 이용해서 받았다.
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.2.0-linux-x86_64.tar.gz
그 다음, 압축을 풀고 적당한 경로로 이동시켜준다.
$ tar -xzvf elasticsearch-8.2.0-linux-x86_64.tar.gz
$ mv elasticsearch-8.2.0 /opt/elasticsearch/
이 때, 이동한 폴더로 가서 바로 실행시킬 수 있다.
$ cd /opt/elasticsearch/elasticsearch-8.2.0
$ bin/elasticsearch
필요는 없는데, 나는 환경변수를 설정하였다.
$ vi ~/.bashrc
# ES_HOME
export ES_HOME=/opt/elasticsearch/elasticsearch-8.2.0
export PATH=$PATH:$ES_HOME/bin
$ source ~/.bashrc
이러면 바로 Elasticsearch를 실행할 수 있다.
이제 Elasticsearch 환경 설정을 해주자. 먼저 data와 logs를 저장 할 폴더를 만든다.
$ cd /opt/elasticsearch
$ mkdir data logs
$ ls
data elasticsearch-8.2.0 logs
이제 config 파일을 바꿔주자. config의 elasticsearch.yml을 수정하자. Elasticsearch 8부터는 보안 관련 설정의 기본 값이 true인데, 지금은 관심이 없으므로 false로 바꿔주자. 또 node.name을 변경했을 때는 cluster.initial_master_nodes도 바꿔줘야 한다.
$ cd /opt/elasticsearch/elasticsearch-8.2.0/config
$ vi elasticsearch.yml
# 추가
# cluster.name, node.name은 아무거나 마음에 드는 걸로 하자.
cluster.name: my-cluster
node.name: node-0
path:
data: /opt/elasticsearch/data
logs: /opt/elasticsearch/logs
xpack.security.enabled: false
cluster.initial_master_nodes: ["node-0"]
실행해보면 이름이 바뀐 것을 확인할 수 있다.
curl을 통해 실행이 되고 있는지 확인해보자.
$ curl -XGET localhost:9200
{
"name" : "node-0",
"cluster_name" : "my-cluster",
"cluster_uuid" : "_na_",
"version" : {
"number" : "8.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "b174af62e8dd9f4ac4d25875e9381ffe2b9282c5",
"build_date" : "2022-04-20T10:35:10.180408517Z",
"build_snapshot" : false,
"lucene_version" : "9.1.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
정상적으로 작동하는 것을 확인하였다.
마치며
Elasticsearch 8 버전을 정상적으로 설치하였다. 다음부터는 Java Api Client를 본격적으로 정리 할 예정이다.