리눅스에 ElasticSearch를 설치하는 법을 알아보자.
우선 ElasticSearch의 경우, Archieve로부터 압축 파일을 내려받거나, deb 패키지를 이용한 설치 방법이 있다.
오늘은 Archieve로부터 압축 파일을 내려 받는 방법을 알아보려한다.
$ cd /path/to/elasticsearch/be/installed
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.0-linux-x86_64.tar.gz
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.0-linux-x86_64.tar.gz.sha512 shasum -a 512 -c elasticsearch-7.15.0-linux-x86_64.tar.gz.sha512
우선 위 명령을 통해 압축파일을 내려받고, 유효성을 검사해보자. 만약 제대로 된 파일을 내려받았다면, tar를 이용해 압축을 풀어준다.
$ tar -xzf elasticsearch-7.15.0-linux-x86_64.tar.gz
$ cd elasticsearch-7.15.0/ # 그리고 폴더로 이동하면 끝
ElasticSearch 설정
ElasticSearch의 설정 파일은 폴더 내 [ /config/elasticsearch.yml ]파일이 담당하고 있다. 기본적인 설정은 아래와 같다.
network.host: 127.0.0.1 # 접속 허용 아이피. 전체 허용을 하려면 0.0.0.0 해주면 된다.
http.port: 9200 # elasticsearch 포트.
node.name: node-1 # 내 노드 설정. 만약 다른 시드가 없다면, 해당 노드 이름을 마스터 노드로 설정해야 한다.
discovery.seed_hosts: ["127.0.0.1", "[::1]"] # 시드 설정. 시드로 설정할 주소를 적는다.
cluster.initial_master_nodes: ["node-1"] # 마스터 노드 설정. 마스터 노드를 적는다.
xpack.security.enabled: true # elasticsearch를 사용할 때 사용자 인증이 필요한지 설정한다.
xpack.security.transport.ssl.enabled: false # ssl 사용 설정
ElasticSearch 유저 추가
ElasticSearch의 사용자 추가는 보안을 위해서 꼭 필요하고, 폴더 내 [ /bind/elasticsearch-users ]를 통해 관리할 수 있다.
$ elasticsearch-users useradd USER_ID -p USER_PW -r 권한
# 권한: user, admin, superuser
ElasticSearch 실행
ElasticSearch를 실행했을 때, 아이피를 127.0.0.1로 설정하면 아무 상관 없지만 외부 허용으로 실행에 실패할 수 있다.
...
bootstrap check failure [1] of [3]: max number of threads [2047] for user [실행계정] is too low, increase to at least [4096]
bootstrap check failure [2] of [3]: max virtual memory areas vm.max_map_count
[65530] is too low, increase to at least [262144]
bootstrap check failure [3] of [3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
...
따라서 추가적인 설정을 해줘야 한다.
[1]의 경우, 명령을 통해 우선 설정된 max user processes를 확인했을 때, 위 에러에 충족하지 않는다면 수정해줘야 한다.
$ ulimit -Sa
max user processes (-u) 2047
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
$ vi /etc/security/imits.conf
# limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 204800
* hard nofile 204800
실행계정 soft nproc 65536
실행계정 hard nproc 65536
[2]의 경우, 다음 명령어로 해결할 수 있다.
$ sysctl -w vm.max_map_count=262144
[3]의 경우, elasticsearch.yml에서 seed를 설정해주면 해결된다. 위 설정을 확인하자.
이제 elasticsearch를 재실행 했을 때 안된다면 혹시 모르니 시스템 재시작 후 실행해보자.
elasticsearch가 정상적으로 실행됐다면, 해당 주소로 접속이 잘 되는지 확인하면 끝
대몬으로 실행하는 방법
$ cd /path/to/elasticsearch/bin
$ elasticsearch -d -p PID
'웹서버' 카테고리의 다른 글
[Linux] Logstash 설치 방법 / Install Logstash (0) | 2021.10.04 |
---|---|
[Linux] 리눅스 MongoDB 설치 / Linux MongoDB Installation (0) | 2021.10.04 |