https://www.elastic.co/kr/downloads/elasticsearch
Download Elasticsearch
Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.
www.elastic.co
Linux X84_64 다운로드
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-linux-x86_64.tar.gz
tar -xvf elasticsearch-8.1.2-linux-x86_64.tar.gz
[root@localhost bin]# ./elasticsearch
[2022-04-09T22:07:51,335][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [localhost.localdomain] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:157) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:81) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[elasticsearch-cli-8.1.2.jar:8.1.2]
at org.elasticsearch.cli.Command.main(Command.java:77) ~[elasticsearch-cli-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:122) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-8.1.2.jar:8.1.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:358) ~[elasticsearch-8.1.2.jar:8.1.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:166) ~[elasticsearch-8.1.2.jar:8.1.2]
... 6 more
uncaught exception in thread [main]
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:358)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:166)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:157)
at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:81)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
at org.elasticsearch.cli.Command.main(Command.java:77)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:122)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)
For complete error details, refer to the log at /home/elasticsearch-8.1.2/logs/elasticsearch.log
2022-04-09 13:07:51,699563 UTC [10532] INFO Main.cc@112 Parent process died - ML controller exiting
냅다 실행 했더니 root로는 실행하면 안 된다고 한다.
소유자 변경하고 변경한 소유자로 실행
useradd es_user
chown -R es_user.es_user /home/elasticsearch
[root@localhost bin]# su - es_user
[es_user@localhost ~]$ /home/elasticsearch/bin/elasticsearch -d
netstat-nlp
...
tcp6 0 0 192.168.0.31:9200 :::* LISTEN 28308/java
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 28308/java
tcp6 0 0 ::1:9200 :::* LISTEN 28308/java
...
9200 포트에 떠 있는데 curl로 접근해도 원하는 반응이 안 나옴.
[es_user@localhost ~]$ curl -X GET localhost:9200
curl: (52) Empty reply from server
찾아보니 https로 해야 된다고 해서 설정을 바꾸기로 했다.
config/elasticsearch.xml에서 아래 항목이 true로 되어 있어서 false로 변경 했다.
# Enable security features
xpack.security.enabled: false
기존에 실행 했던 걸 kill하고 다시 실행 했는데 접근이 안 되길래 데몬 말고 그냥 실행을 하고 로그를 보니
java.lang.IllegalStateException: failed to obtain node locks, tried [/home/elasticsearch/data]; maybe these locations are not writable or multiple nodes were started on the same data path?
검색을 해보니 elasticsearch가 실행 중인 상태에서 실행을 했을 때 나오는 경우가 있다고 해서 확인을 해보니 실행이... 되어 있음. (???)
[root@localhost home]# curl -X GET localhost:9200
{
"name" : "localhost.localdomain",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "U44XUz8ySVe7bGCAwmZp7Q",
"version" : {
"number" : "8.1.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "31df9689e80bad366ac20176aa7f2371ea5eb4c1",
"build_date" : "2022-03-29T21:18:59.991429448Z",
"build_snapshot" : false,
"lucene_version" : "9.0.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
여튼 잘 되는 거 확인.
팀 주요 업무에 쓰임에도 조회 말곤 다른 건 접할 기회가 많지 않아서 일단 설치부터 해봤다.
반응형