Ubuntu16.04 오프라인으로 Elasticsearch 설치(싱글)

8205 단어 ElasticSearch

소프트웨어 구성

  • Ubuntu 버전: 16.04
  • jdk 버전: 1.8.0_211
  • Elasticsearch 버전: 5.6.8

  • 새 elasticsearch 사용자


    사용자 만들기


    루트 사용자에서 다음 명령 실행
    useradd elasticsearch
    

    암호 설정

    passwd elasticsearch
    

    프롬프트에 따라 암호를 두 번 입력하면 새 사용자가 생성됩니다.

    jdk 설치


    elasticsearch 환경은 jdk에 의존하기 때문에elasticsearch를 시작하려면 jdk 환경이 있어야 합니다

    지정한 폴더에 jdk 설치 패키지 업로드


    이것은 xftp를 통해 jdk 설치 패키지를/usr/local/디렉터리에 업로드합니다

    압축 해제 jdk 설치 패키지

    tar -zxvf jdk-8u211-linux-x64.tar.gz
    

    압축을 풀면/usr/local/디렉터리에서 jdk1.8.0_211 파일

    환경 구성


    /etc/profile 파일에 다음 설정을 추가합니다
    export JAVA_HOME=/usr/local/jdk1.8.0_211/
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export PATH=$PATH:${JAVA_HOME}/bin:$JRE_HOME/bin:$PATH
    

    편집 후 종료 후 다음 명령을 실행하여 환경을 적용합니다
    source /etc/profile 
    

    테스트


    자바-version 명령을 실행하고 다음 알림이 나타나면 jdk 설치가 완료됨을 나타냅니다
    java version "1.8.0_211"
    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
    

    ElasticSearch 설치


    시스템 구성


    파일 수 구성 수정


    /etc/security/limits.conf 파일에 다음 내용 추가
    * soft nofile 65536  #  ( )
    * hard nofile 131072  #  ( )
    * soft nproc 2048  #  ( )
    * hard nproc 4096  #  ( )
    

    /etc/profile 파일에 다음 내용 추가
    ulimit -SHn 65536
    

    linux에서 ulimit로 연결 수 최대치를 설정합니다. 기본값은 1024입니다.높은 로드에서 더 높게 설정하지만 최대 65535
    /etc/sysctl.conf 파일에 다음 내용 추가
    vm.max_map_count=655360 #  VMA( ) 
    

    추가가 끝난 후 아래 명령을 실행하여 위에 추가된 내용을 효력을 발생시킵니다
    source /etc/profile
    
    sudo sysctl -p
    

    ElasticSearch 구성


    ElasticSearch 파일 업로드 및 압축 해제


    xftp를 통해elasticsearch-5.6.8.tar.gz 파일을/usr/local/디렉터리에 업로드하고 루트 사용자 아래에서 다음 명령을 통해 파일 압축을 풀며 설정 부분은 루트 사용자 아래에서 진행합니다
    //  root , 
    su root
    
    //  
    tar -zxvf elasticsearch-5.6.8.tar.gz
    

    이 때/usr/local/디렉터리에 압축 해제 후elasticsearch-5.6.8 폴더가 있습니다

    데이터 및 로그 저장 파일 디렉터리 만들기


    elasticsearch-5.6.8 파일 들어가기
    cd elasticsearch-5.6.8
    

    데이터 및 로그 저장 파일 디렉터리 만들기
    mkdir data
    mkdir logs
    

    ElasticSearch 구성 파일 수정


    편집elasticsearch-5.6.8/config 디렉터리에 있는elasticsearch에 들어갑니다.yml
    vim /usr/local/elasticsearch-5.6.8/config/elasticsearch.yml
    

    다음 항목을 찾아 수정하거나 프로필 아래에 복사해도 됩니다.
    cluster.name: es-cluster  # 
    node.name: es-node   # 
    path.data: /usr/local/elasticsearch-5.6.8/data  # 
    path.logs: /usr/local/elasticsearch-5.6.8/logs  # 
    bootstrap.memory_lock: false   # ES 
    bootstrap.system_call_filter: false   # 
    network.host: master    # 
    discovery.zen.ping.unicast.hosts: ["master"]   # 
    

    elasticsearch 사용자 그룹 수정


    다음 명령을 통해 elasticsearch 파일 권한을 elasticsearch 사용자에게 부여합니다
    chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-5.6.8
    

    이로써elasticsearch가 설정되었습니다.

    ElasticSearch 시작 및 종료


    elasticsearch 사용자 입장!


    elasticsearch 시작은 루트 사용자 아래에서 할 수 없습니다
    su elasticsearch
    

    elasticsearch 시작


    다음 명령을 사용하여elasticsearch를 시작합니다
    /usr/local/elasticsearch-5.6.8/bin/elasticsearch -d
    

    이 때/usr/local/elasticsearch-5.6.8/logs/es-cluster에 있습니다.log 로그 파일에서 시작 성공 메시지를 볼 수 있습니다
    [2020-04-09T02:03:48,934][INFO ][o.e.n.Node               ] [es-node] initializing ...
    [2020-04-09T02:03:49,035][INFO ][o.e.e.NodeEnvironment    ] [es-node] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [16.6gb], net total_space [23.5gb], spins? [possibly], types 
    [ext4][2020-04-09T02:03:49,035][INFO ][o.e.e.NodeEnvironment    ] [es-node] heap size [1.9gb], compressed ordinary object pointers [true]
    [2020-04-09T02:03:49,036][INFO ][o.e.n.Node               ] [es-node] node name [es-node], node ID [u9kDBekMRxi8KWOBIGcwAg]
    [2020-04-09T02:03:49,037][INFO ][o.e.n.Node               ] [es-node] version[5.6.8], pid[27500], build[688ecce/2018-02-16T16:46:30.010Z], OS[Linux/4.4.0-142-generic/amd64], JVM[Oracle Corporation
    /Java HotSpot(TM) 64-Bit Server VM/1.8.0_211/25.211-b12][2020-04-09T02:03:49,037][INFO ][o.e.n.Node               ] [es-node] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyO
    nly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/local/elasticsearch][2020-04-09T02:03:49,955][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [aggs-matrix-stats]
    [2020-04-09T02:03:49,955][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [ingest-common]
    [2020-04-09T02:03:49,955][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [lang-expression]
    [2020-04-09T02:03:49,955][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [lang-groovy]
    [2020-04-09T02:03:49,956][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [lang-mustache]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [lang-painless]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [parent-join]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [percolator]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [reindex]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [transport-netty3]
    [2020-04-09T02:03:49,957][INFO ][o.e.p.PluginsService     ] [es-node] loaded module [transport-netty4]
    [2020-04-09T02:03:49,958][INFO ][o.e.p.PluginsService     ] [es-node] no plugins loaded
    [2020-04-09T02:03:51,680][INFO ][o.e.d.DiscoveryModule    ] [es-node] using discovery type [zen]
    [2020-04-09T02:03:52,176][INFO ][o.e.n.Node               ] [es-node] initialized
    [2020-04-09T02:03:52,176][INFO ][o.e.n.Node               ] [es-node] starting ...
    [2020-04-09T02:03:52,317][INFO ][o.e.t.TransportService   ] [es-node] publish_address {192.168.0.106:9300}, bound_addresses {192.168.0.106:9300}
    [2020-04-09T02:03:52,326][INFO ][o.e.b.BootstrapChecks    ] [es-node] bound or publishing to a non-loopback address, enforcing bootstrap checks
    [2020-04-09T02:03:55,420][INFO ][o.e.c.s.ClusterService   ] [es-node] new_master {es-node}{u9kDBekMRxi8KWOBIGcwAg}{Zlaf7S5BRbqosFtqkgvR-A}{master}{192.168.0.106:9300}, reason: zen-disco-elected-as
    -master ([0] nodes joined)[2020-04-09T02:03:55,453][INFO ][o.e.h.n.Netty4HttpServerTransport] [es-node] publish_address {192.168.0.106:9200}, bound_addresses {192.168.0.106:9200}
    [2020-04-09T02:03:55,453][INFO ][o.e.n.Node               ] [es-node] started
    [2020-04-09T02:03:55,455][INFO ][o.e.g.GatewayService     ] [es-node] recovered [0] indices into cluster_state
    

    그리고 로컬 브라우저에 192.168.0.106:9200을 입력하면elasticsearch에서 보내는 메시지를 볼 수 있습니다
    {
      "name" : "es-node",
      "cluster_name" : "es-cluster",
      "cluster_uuid" : "oCrLIXMJQ_WzSd1-7lLeYw",
      "version" : {
        "number" : "5.6.8",
        "build_hash" : "688ecce",
        "build_date" : "2018-02-16T16:46:30.010Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.1"
      },
      "tagline" : "You Know, for Search"
    }
    

    elasticsearch 닫기


    jps 명령을 통해 Elasticsearch 프로세스 번호를 찾으면 kill로 바로
    elasticsearch@master:/usr/local$ jps
    27500 Elasticsearch
    27631 Jps
    elasticsearch@master:/usr/local$ kill -9 27500
    elasticsearch@master:/usr/local$ jps
    27643 Jps
    

    좋은 웹페이지 즐겨찾기