elasticsearch+kibana+logstash+filebeat 고가용 분포식 로그 집단 시스템 구축 (1):elasticsearch 집단 설치
4940 단어 Linux 관련
설치 준비
분산 클러스터 실험을 완료할 수 있도록 3대의 시스템을 준비합니다. 물론 더 많은 시스템을 사용할 수 있습니다.
역할 구분:
elasticsearch는 모호한 조회를 지원하는 데이터베이스로 로그를 저장할 수 있습니다
elasticsearch(120/130/140 노드 조작) 다운로드
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz
설치 디렉토리로 압축 해제(120/130/140 노드 작업)
tar -zxvf elasticsearch-7.1.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local
설치 디렉토리 이름 바꾸기(120/130/140 노드 작업)
mv elasticsearch-7.1.0 elasticsearch
데이터 저장 경로 만들기(120/130/140 노드 작업)
mkdir /opt/ELK/elasticsearch
로그 저장 경로 만들기(120/130/140 노드 작업)
mkdir /opt/ELK/elasticsearch/logs
사용자를 만들고 권한을 부여합니다 (es는 루트로 실행할 수 없습니다) (120/130/140 노드 조작)
useradd elasticsearch
#
chown -R elasticsearch.elasticsearch /usr/local/elasticsearch
elasticsearch 프로필 수정 (120/130/140 노드 작업)
vim /usr/local/elasticsearch/config/elasticsearch.yml
192.168.77.120 마스터 노드
#
cluster.name: es_cluster
#
node.name: master
# master , true,es master, master
node.master: true
# ( )
node.data: true
#
path.data: /opt/ELk/elasticsearch
#
path.logs: /opt/ELk/elasticsearch/logs
# ip
network.host: 0.0.0.0
# http , 9200
http.port: 9200
# , false
http.cors.enabled: true
# , *, , , 。 。
http.cors.allow-origin: "*"
# ,Elasticsearch , 9300 9305 。
# , 。 。 host:port host
discovery.seed_hosts: ["192.168.77.120","192.168.77.130"]
192.168.77.130 종노드
#
cluster.name: es_cluster
#
node.name: slave1
# master , true,es master, master
node.master: true
# ( )
node.data: true
#
node.max_local_storage_nodes: 1
#
path.data: /opt/ELk/elasticsearch
#
path.logs: /opt/ELk/elasticsearch/logs
# ip
network.host: 0.0.0.0
# http , 9200
http.port: 9200
# , false
http.cors.enabled: true
# , *, , , 。 。
http.cors.allow-origin: "*"
# ,Elasticsearch , 9300 9305 。
# , 。 。 host:port host
discovery.seed_hosts: ["192.168.77.120","192.168.77.130"]
192.168.77.140 데이터 노드
#
cluster.name: es_cluster
#
node.name: slave2
# master , true,es master, master
node.master: false
# ( )
node.data: true
#
node.max_local_storage_nodes: 1
#
path.data: /opt/ELk/elasticsearch
#
path.logs: /opt/ELk/elasticsearch/logs
# ip
network.host: 0.0.0.0
# http , 9200
http.port: 9200
# , false
http.cors.enabled: true
# , *, , , 。 。
http.cors.allow-origin: "*"
# ,Elasticsearch , 9300 9305 。
# , 。 。 host:port host
discovery.seed_hosts: ["192.168.77.120","192.168.77.130","192.168.77.140"]
세 노드 jvm 메모리 조정(120/130/140 노드 조작)
공식 문서의 관련 건의에 따라 jvm에 대한 수정이 필요합니다. 그렇지 않으면 OOM이 쉽게 나타날 수 있습니다. 홈페이지의 매개 변수 설정을 참고하여 메모리의 50%를 초과하지 않는 것이 좋습니다. 저는 여기서 다음과 같이 변경했습니다. -Xmx1g을 -Xmx20g으로 변경하고 -Xms1g을 -Xms20g으로 변경했습니다.
vim /usr/local/elasticsearch/config/jvm.options
# 1g jvm , OOM, 50%
-Xms20g
-Xmx20g
세 개의 시스템 구성 파일 변경(120/130/140 노드 작업)
vi /etc/security/limits.conf
컨텐트 추가
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
공식적으로 swapping을 잠그는 것을 권장합니다. (메모리가 디스크로 교환되는 것은 서버 성능에 치명적이기 때문에 당연히 당신은 자신의 요구에 따라 선택할 수 있습니다) 저는 swapping을 잠그는 것을 선택했습니다. 그래서 이 프로필에 두 줄의 코드를 추가해야 합니다.
elk soft memlock unlimited
elk hard memlock unlimited
vi /etc/sysctl.conf
컨텐트 추가
vm.max_map_count=262144
나중에 시스템 설정을 실행하려면 명령을 실행해야 합니다
sysctl -p
주: 루트에서 시작할 수 없습니다. 추가된 사용자로 전환해서elasticsearch 서비스를 시작할 수 없습니다.
nohup ./usr/local/elasticsearch &
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
How to configure postfix to send email via GmailSo even if you can configure a postfix server in a couple of minutes, you cannot send email successfully to other email ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.