Elasticsearch8

[Centos8, Ubuntu 22.04] Elasticsearch 설치 , 실행, 종료

Jack Moon 2022. 3. 25. 16:07

##################################################### Start

2023. 6. 8 다시 한번 심플하게 정리합니다. 이대로만 하면 아래 내용은 필요 없습니다.

1. 압축을 풀어 Elasticsearch 를 설치합니다.
$ tar zxvf elasticsearch-8.6.1-linux-x86_64.tar.gz

2. Elasticsearch 를 처음 시작하면
TLS용 인증서및 키가 생성되고
사용자(elastic)의 암호가 생성되며
Kibana 등록 토큰이 생성됩니다. (30분간 유효하므로 30분내 등록하면 됩니다)

3. 따라서 처음 실행할때 패스워드와 등록토큰이 나타나므로 -d(백그라운드 모드) 없이 실행합니다. 잘 기록해 둡니다.

4. 터미널을 하나 더 열어 잘 실행되는지 확인합니다.
$ curl --cacert config/certs/http_ca.crt -u elastic:암호 https://localhost:9200

5. Kibana를 실행합니다.

6. 토큰을 Kibana에 등록합니다.
$ bin/kibana-setup --enrollment-token <enrollment-token>

* Elasticsearch 원격접속
network.host: 0.0.0.0

* Kibana 원격접속
server.host: "0.0.0.0"

 

참고: https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-stack-security.html

 

 

[letsencrypt 인증서를 사용하여 elasticsearch 인증서 생성]

cp /etc/letsencrypt/live/도메인/fullchain.pem /home/elastic/elasticsearch-8.1.1/config/certs/
cp /etc/letsencrypt/live/도메인/privkey.pem /home/elastic/elasticsearch-8.1.1/config/certs/

cd /home/elastic/elasticsearch-8.1.1/config/certs/
openssl pkcs12 -inkey privkey.pem -in fullchain.pem -export -out cert.p12
chown elastic.elastic cert.p12

[elasticsearch.yml에서 p12파일 경로 수정]
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/cert.p12

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/cert.p12

[인증서 비밀번호 변경]
$ bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
$ bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
$ bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
$ bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password

##################################################### End

 

 

Ubuntu 22.04

1. OS: Ubuntu 22.04 

# uname -a
Linux es-server 5.15.0-58-generic #64-Ubuntu SMP Thu Jan 5 11:43:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue
Ubuntu 22.04.1 LTS \n \l


2. Elasticsearch 설치 및 실행
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.6.1-linux-x86_64.tar.gz
(2023. 1. 31 현재)
$tar zxvf elasticsearch-8.6.1-linux-x86_64.tar.gz

3. 실행
$ elasticsearch-8.6.1/bin/elasticsearch -d

확인
$ ps -ef | grep elstic
$ netstat -lntp

4. 종료 kill 

5. 테스트
prmonitor@es-server:~$ curl -X GET "localhost:9200/?pretty"
curl: (52) Empty reply from server

=> https로 실행해야 함.(https 무시 옵션 -k)
$ curl -k -X GET "https://localhost:9200" -u elastic

=> elastic 패스워드 재설정 (기록해 둘것)
$ ./elasticsearch-8.6.1/bin/elasticsearch-reset-password -u elastic

 

 

 

1. OS: CentOS Stream release 8 x86_64

[elastic@localhost ~]$ uname -a
Linux localhost.localdomain 4.18.0-373.el8.x86_64 #1 SMP Tue Mar 22 15:11:47 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[elastic@localhost ~]$ cat /etc/centos-release 
CentOS Stream release 8

2. Elasticsearch 설치 및 실행

다운로드 사이트 ( https://www.elastic.co/kr/downloads/ ) 에 가서 Linux x86_64 선택

2022. 3. 25 현재 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.1-linux-x86_64.tar.gz

압축 파일을 다운로드 받아 압축만 풀면 설치 완료

백그라운드로 실행

[elastic@localhost ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.1-linux-x86_64.tar.gz
[elastic@localhost ~]$ tar zxvf elasticsearch-8.1.1-linux-x86_64.tar.gz
[elastic@localhost ~]$ elasticsearch-8.1.1/bin/elasticsearch -d

 

3. 종료

실행 중인 프로세스를 확인하며 kill로 죽인다.

[elastic@localhost ~]$ ps -ef | grep elasticsearch
elastic    30028       1  9 15:36 pts/0    00:00:50 /home/elastic/elasticsearch-8.1.1/jdk/bin/java -Xshare:auto 
[elastic@localhost ~]$ kill 30028

 

4. 패스워드화 토큰 가져오기 

 

Kibana 를 실행하면 token 과 password를 입력해야 한다.

1. elasticsearch 를 백그라운드 모드가 아닌 일반 모드로 실행하여 값을 복사해 둔다.

2. 키바나 설치 후 kibana 에서 bin/kibana-verification-code 실행하여 verification code 를 기록해 둔다

 

[elastic@localhost ~]$ ./elasticsearch-8.1.1/bin/elasticsearch
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.
ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
  MoR***********__D
ℹ️  HTTP CA certificate SHA-256 fingerprint:
  7e17ea1bd9ea6679b74b25acfec362a52db11af1283bd9c22466812d56209ea0
ℹ️  Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
  eyJ2ZXIiOiI4Lj*******************************************************************lbUk0aFhibnVkQSJ9
  [elastic@localhost ~]$ ./kibana-8.1.1/bin/kibana-verification-code
  Your verification code is:  765 415

5. 패스워드 변경

elasticsearch 가 실행되어 있는 상태에서

[elastic@localhost ~]$ ./elasticsearch-8.1.1/bin/elasticsearch-reset-password -u elastic