목차
Elasticsearch 독립형 이중 노드 클러스터 배포
php教程 php手册 Elasticsearch 단일 머신 2노드 클러스터 배포를 이해하는 방법

Elasticsearch 단일 머신 2노드 클러스터 배포를 이해하는 방법

Sep 14, 2018 pm 04:03 PM
es

이 글에서는 Elasticsearch에서 CRUD를 수행하는 방법에 대한 몇 가지 기본 학습을 진행합니다.

Elasticsearch 독립형 이중 노드 클러스터 배포

环境:CentOS 7.2       JDK 1.8.0_74
로그인 후 복사


1. 첫 번째 ElasticSearch(마스터 노드)를 설치합니다.

1. es 사용자를 생성하고 es를 시작할 수 없습니다.

루트 사용자는 /home /es 디렉토리에 진입합니다.

2. ElasticSearch 설치 패키지를 얻습니다.

useradd es
passwd es
로그인 후 복사

3. 압축을 풀고 이름을 바꿉니다(클러스터링 시 다른 ES를 쉽게 구별할 수 있도록)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz
로그인 후 복사

4. 수정 내용은 다음과 같습니다:

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node2
로그인 후 복사

파일은 마지막에 추가됩니다. 다음 내용은 헤드를 연결하여 건강 값을 표시하는 데 사용됩니다. (각 코드 줄 앞에 공백이 없습니다.)

vi elasticsearch-node2/config/elasticsearch.yml
로그인 후 복사

5.

cluster.name: my-application      
  各节点此名称必须一致node.name: node-2           
        节点名称,不能与其他节点相同        
         network.host: ***.***.***.***   
        自己的服务器IPhttp.port: ****         
           访问端口transport.tcp.port: ****  
    集群各节点间的通讯端口 discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
로그인 후 복사
http.cors.enabled: truehttp.cors.allow-origin: "*"
로그인 후 복사
로그인 후 복사

시작에 성공했습니다. 브라우저에

IP: 액세스 포트를 입력하세요.

웹 페이지에는 배포 성공

sh elasticsearch-node2/bin/elasticsearch
로그인 후 복사

6 오류 보고서 및 처리 방법을 설명하는 다음 내용이 표시됩니다.

【유형 1】

[2018-01-24T15:36:41,990][INFO ][o.e.n.Node               ] [KMyyO-3] started
[2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService     ] [KMyyO-3] recovered [0] indices into cluster_state
로그인 후 복사

이 문제입니다. 루트 사용자는 es를 실행할 수 없기 때문에 다시 시작하려면 es 사용자를 전환해야 합니다

{
  "name" : "node-2",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",    
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
로그인 후 복사

【Type 2】

Caused by: java.lang.RuntimeException: can not run elasticsearch as root
로그인 후 복사

해결 방법 루트 사용자로 돌아가서 구성 파일을 수정하세요

chown -R es:es elasticsearch-node2/su - es
sh elasticsearch-node2/bin/elasticsearch
로그인 후 복사

[ 유형 3]

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
로그인 후 복사

해결 방법: 루트 사용자로 다시 변경하고 구성 파일을 수정

vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536
로그인 후 복사

둘째, 두 번째 ElasticSearch(보조 노드)를 설치합니다

설치 방법은 첫 번째와 동일합니다. 주의하세요. 구성 파일을 수정합니다. root 사용자는 /home/es 디렉터리를 입력합니다.
1. 압축을 풀고 이름을 변경합니다.

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
로그인 후 복사

2. 구성 파일을 수정합니다.

vi /etc/sysctl.conf 
#在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p
로그인 후 복사

수정 내용은 다음과 같습니다.

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3
로그인 후 복사

다음 코드를 추가합니다.

vi elasticsearch-node3/config/elasticsearch.yml
로그인 후 복사

3.

cluster.name: my-application      
  各节点此名称必须一致node.name: node-3      
               节点名称,不能与其他节点相同network.host: ***.***.***.***   
                   自己的服务器IPhttp.port: ****          
                              访问端口(注意不要与第一个端口重复)                              transport.tcp.port: ****            集群各节点间的通讯端口(注意不要与第一个端口重复)discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
로그인 후 복사

브라우저를 시작하고

IP: 액세스 포트

를 입력합니다.

웹페이지에 두 번째 배포가 성공했음을 나타내는 다음 콘텐츠가 표시됩니다.

http.cors.enabled: truehttp.cors.allow-origin: "*"
로그인 후 복사
로그인 후 복사

3. Elasticsearch-head 플러그를 설치합니다. in

1. 헤드 플러그인 설치

sh elasticsearch-node3/bin/elasticsearch
로그인 후 복사
전에 node.js를 설치해야 합니다. 설치가 완료된 후 명령을 실행하여 node 및 npm 버전을 확인하세요
{
  "name" : "node-3",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
로그인 후 복사

2. git

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs
로그인 후 복사

3. 설치 패키지 압축을 푼다(쉬운 작업을 위해 이름을 바꿀 수 있음)

[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1
로그인 후 복사

4. 구성 파일 수정

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
로그인 후 복사

헤드 포트 번호 변경

unzip master.zip
mv elasticsearch-head-master/ head
로그인 후 복사
vi head/Gruntfile.js
로그인 후 복사

헤드 링크 주소 변경

connect: {          server: {
                   options: {
                              port: ****,    改为head访问端口
                              base: '.',
                              keepalive: true                             }
                    }
          }
로그인 후 복사

5.

6. 브라우저를 통해 헤드에 로그인

URL 서버 IP 입력: 헤드 액세스 포트
링크 주소를 기본으로 입력 노드의 액세스 주소 Elasticsearch 단일 머신 2노드 클러스터 배포를 이해하는 방법7. 헤드 설치 시 자주 발생하는 오류

[유형 1] 시작이 성공했습니다. , 그러나 웹 페이지에 접속할 수 없습니다

해결책
서버 방화벽을 끄십시오

vi head/_site/app.js
로그인 후 복사

[유형 2] 클러스터 상태 값이 연결되지 않았습니다
elasticsearch.yml 코드에 다음을 추가하십시오. 코드)
init: function(parent) {
                        this._super();                        this.prefs = services.Preferences.instance();                        this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";
로그인 후 복사

Q: es 노드는 왜 node2와 node3를 사용하나요?

답변: 이전에 클러스터되지 않은 ES 세트를 구축하기 위해 node1을 사용했기 때문에 후속 클러스터에 2와 3을 사용했습니다.

관련 권장 사항:


Yii2-elasticsearch 어떻게 사용하나요?

Elasticsearch의 CRUD

위 내용은 Elasticsearch 단일 머신 2노드 클러스터 배포를 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)