공부하는 펭귄

[ELK stack] 1. CentOS에 Elastic Search 설치 본문

STUDY/ELK stack

[ELK stack] 1. CentOS에 Elastic Search 설치

공부하는펭귄 2020. 10. 7. 00:57

본 문서는 CentOS 7을 기준으로 작성되었다.

STEP 1. JDK 설치

엘라스틱 서치는 JVM 위에서 구동되기 때문에 jdk 설치가 선행되어야 한다.

본인의 OS에 jdk가 설치되어 있는지 확인한 뒤 설치하자.

jdk가 설치되어 있다면 STEP 1은 생략해도 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#jdk 설치확인(미설치)
$ javac -version
-bash: javac: command not found
 
#설치 가능한 jdk 버전 확인
$ yum list java*jdk-devel
Loaded plugins: fastestmirror, langpacks, versionlock
Determining fastest mirrors
Available Packages
java-1.6.0-openjdk-devel.x86_64                                                                                1:1.6.0.41-1.13.13.1.el7_3                                                                               base
java-1.7.0-openjdk-devel.x86_64                                                                                1:1.7.0.261-2.6.22.2.el7_8                                                                               update
java-1.8.0-openjdk-devel.i686                                                                                  1:1.8.0.262.b10-0.el7_8                                                                                  update
java-1.8.0-openjdk-devel.x86_64                                                                                1:1.8.0.262.b10-0.el7_8                                                                                  update
java-11-openjdk-devel.i686                                                                                     1:11.0.8.10-0.el7_8                                                                                      update
java-11-openjdk-devel.x86_64                                                                                   1:11.0.8.10-0.el7_8                                                                                      update
java-latest-openjdk-devel.x86_64                                                                               1:14.0.2.12-1.rolling.el7
 
#jdk 설치
$ yum install java-11-openjdk-devel.x86_64
 
#설치 확인
$ javac -version
javac 11.0.8
cs

 

STEP 2. JAVA_HOME 설정

jdk만 설치한 채로 엘라스틱 서치를 구동하려고 하면 아래와 같은 에러를 만나게 된다.

could not find java in bundled jdk at /home/deploy/Downloads/elasticsearch-7.9.2/jdk/bin/java
cs

 

자바 환경변수가 설정되어 있지 않아 jdk 경로를 찾지 못하고 있다.

JAVA_HOME 환경변수를 jdk가 저장된 경로로 지정해주자.

JAVA_HOME 변수가 제대로 설정되어 있다면 STEP 2는 생략해도 된다.

1
2
3
4
5
6
7
8
9
10
11
12
#JAVA_HOME 확인
#아무것도 출력되지 않으면 환경변수가 설정되어 있지 않은 것
echo $JAVA_HOME
 
#javac 경로 확인
$ which javac
/usr/bin/javac
 
#javac 경로를 이용하여 jdk 경로 확인
#본인 javac 경로를 입력하자. 예시를 그대로 복붙하지 않도록 주의!
$ readlink -/usr/bin/javac
/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64/bin/javac
cs

javac 경로는 서버마다 다를 수 있다. 본인의 javac 경로를 입력하도록 하자.

 

readlink 명령어의 결과 중 /bin/javac 앞까지의 경로를 JAVA_HOME 변수에 할당하면 된다. 위의 예시에서는 아래가 jdk 경로가 된다.

/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64
cs

 

변수를 등록할 설정 파일을 연다.

1
$ sudo vim /etc/profile
cs

 

본인의 jdk경로를 JAVA_HOME 변수에 할당한다. 예시를 복붙하지 않도록 주의

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64 > /etc/profile
cs

 

다시 쉘창으로 나와 설정파일을 즉시 적용해준다.

1
2
3
4
5
$ source /etc/profile
 
#JAVA_HOME이 정상적으로 설정되었다!
echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64
cs

 

STEP 3. ElasticSearch 설치

드디어 엘라스틱서치를 설치할 수 있다.

엘라스틱서치는 공식 홈페이지에서 설치 방법이 자세히 나와있다.

 

공식 홈페이지를 참고하는 편이 간단하다.

www.elastic.co/guide/en/elasticsearch/reference/7.9/rpm.html#rpm-repo

 

Install Elasticsearch with RPM | Elasticsearch Reference [7.9] | Elastic

On systemd-based distributions, the installation scripts will attempt to set kernel parameters (e.g., vm.max_map_count); you can skip this by masking the systemd-sysctl.service unit.

www.elastic.co

 

필자는 수동으로 RPM 설치를 진행했다.

1
2
3
4
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-x86_64.rpm
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-x86_64.rpm.sha512
$ shasum -512 -c elasticsearch-7.9.2-x86_64.rpm.sha512 
$ sudo rpm --install elasticsearch-7.9.2-x86_64.rpm
cs

 

systemmd를 사용하면 손쉽게 엘라스틱서치를 구동하거나 멈출 수 있다.

1
2
3
4
5
6
7
8
9
#systemmd 설정
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
 
#ElasticSearch 구동
sudo systemctl start elasticsearch.service
 
#ElasticSearch 중지
sudo systemctl stop elasticsearch.service
cs

 

엘라스틱서치를 구동한 뒤 간단한 명령어를 통해 제대로 실행되고 있는지 확인해보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ curl -XGET 'localhost:9200'
{
  "name" : <호스트명>,
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : <>,
  "version" : {
    "number" : "7.9.2",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : <>,
    "build_date" : "2020-09-23T00:45:33.626720Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
cs

 

어떤 프로젝트든 환경세팅이 가장 어려운 법.

다음 포스트부터는 더 간단할 것이다.

아마도...

'STUDY > ELK stack' 카테고리의 다른 글

[ELK stack] 2. Kibana 설치 및 원격 접속 설정  (0) 2020.10.18