elasticsearch+kibana+logstash+filebeat 고가용 분포식 로그 집단 시스템 구축 (1):elasticsearch 집단 설치

4940 단어 Linux 관련
elk는 완비되고 성숙한 로그 저장과 분석의 해결 방안을 제공했다. 본고는 주로elasticsearch 집단의 환경 구축을 소개한다.
설치 준비
분산 클러스터 실험을 완료할 수 있도록 3대의 시스템을 준비합니다. 물론 더 많은 시스템을 사용할 수 있습니다.
  • 192.168.77.120
  • 192.168.77.130
  • 192.168.77.140

  • 역할 구분:
  • 3대의 기계가 모두 jdk1을 설치한다.8,elasticsearch는java가 개발한 것이기 때문
  • 3대 모두 elasticsearch(후속은 모두 es라고 약칭)
  • 설치
  • 192.168.77.120을 주 노드로 한다
  • 192.168.77.130을 종속 노드로 사용
  • 192.168.77.140을 데이터 노드로 한다
  • elasticsearch 
    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 노드 작업)
  • 수정 1
  • 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
  • 수정 2
  • vi /etc/sysctl.conf

    컨텐트 추가
    vm.max_map_count=262144 

    나중에 시스템 설정을 실행하려면 명령을 실행해야 합니다
    sysctl -p 

    주: 루트에서 시작할 수 없습니다. 추가된 사용자로 전환해서elasticsearch 서비스를 시작할 수 없습니다.
    nohup ./usr/local/elasticsearch &

     
     

    좋은 웹페이지 즐겨찾기