ElasticSearch 클러스터 구성

먼저 cluster 상태를 보십시오. 다음은 단일 컴퓨터의 ES입니다. 다운로드한 파일의 압축을 풀고 직접 시작한 결과입니다. 즉, 단일 컴퓨터, 또는 빈 그룹입니다.
[appadmin@hadoop4 elasticsearch]$ curl 'localhost:9200/_cluster/health?pretty'
{
  "cluster_name" : "elasticsearch",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 10,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 10,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}
[appadmin@hadoop4 elasticsearch]$

그중 세 가지 건강 상태인 그린 옐로우 레드.
색깔
의미
green
모든 주요 분할 및 복제 분할 사용 가능
yellow
모든 주요 슬라이스는 사용할 수 있지만 모든 복제 슬라이스는 사용할 수 없습니다.
red
모든 주요 조각을 사용할 수 있는 것은 아니다
클러스터 노드의 작동 원리 요약:
하나의 노드 (node) 는 하나의 Elasticsearch 실례이고, 하나의 집단 (cluster) 은 하나 이상의 노드로 구성되며, 그것들은 같은cluster를 가지고 있다.name, 그들은 협동 작업을 하고 데이터와 부하를 공유합니다.새 노드를 추가하거나 삭제하면 집단이 감지하고 데이터를 균형 있게 합니다. +
집단 중의 한 노드는 주 노드 (master) 로 선출되며, 집단 단계의 일부 변경을 임시로 관리합니다. 예를 들어 색인을 새로 만들거나 삭제하고, 노드를 늘리거나 제거합니다.마스터가 문서 수준의 변경이나 검색에 참여하지 않는다는 것은 데이터가 증가할 때 이 마스터가 집단의 병목이 되지 않는다는 것을 의미한다.어떤 노드든 주 노드가 될 수 있다.우리의 예에서 집단은 단지 하나의 노드뿐이기 때문에 그것은 주 노드의 역할을 충당할 것이다.
사용자로서 우리는 집단 중의 모든 노드와 통신할 수 있으며, 주 노드를 포함한다.모든 노드는 문서가 어느 노드에 존재하는지 알고 있으며, 요청을 상응하는 노드에 전달할 수 있다.우리가 방문한 노드는 각 노드가 되돌아오는 데이터를 수집하고 마지막으로 클라이언트에게 함께 되돌아오는 것을 책임진다.이 모든 것은 Elasticsearch가 처리합니다.
다음은 집단 설정 방법을 소개한다.
환경은 세 대의 기계입니다.
192.168.0.16  esnode1
192.168.0.12  esnode2
192.168.0.15  esnode0
OS 코어 3.10.0-229.el7.x86_64.ES 버전 2.2.1.
esnode0은 마스터로 하고 나머지는 슬레이브입니다.
모든 기계에서 홈페이지에서 다운로드한 패키지를/opt/elasticsearch로 압축을 풀다.
마스터 구성:
[appadmin@hadoop4 config]$ pwd
/opt/elasticsearch/config
[appadmin@hadoop4 config]$ grep -v '^#' elasticsearch.yml 
cluster.name: esapp
node.name: esnode0
node.master: true
node.data: true
network.host: 0.0.0.0
[appadmin@hadoop4 config]$

Slave 구성:
[appadmin@hadoop3 config]$ grep -v '^#' elasticsearch.yml
cluster.name: esapp
node.name: esnode2
node.master: false
node.data: true
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["esnode0"]
[appadmin@hadoop3 config]$

이것은 가장 간단한 설정이다.그 중에서 네트워크.host: 0.0.0.0.0은 구체적인 IP가 연결되지 않았음을 나타낸다. 다른 기계는 9200이라는 기본 포트를 통해 http 방식으로 조회 서비스에 접근할 수 있다.슬레이브의 디스커버리.zen.ping.unicast.hosts가 마스터의 주소를 지정했습니다.
다음 플러그인을 설치할 수 있습니다.
[appadmin@hadoop4 bin]$ pwd
/opt/elasticsearch/bin
[appadmin@hadoop4 bin]$ ./plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /opt/elasticsearch/plugins/head
[appadmin@hadoop4 bin]$ ./plugin list
Installed plugins in /opt/elasticsearch/plugins:
    - head
[appadmin@hadoop4 bin]$

통과할 수 있다http://10.120.20.206:9200/_plugin/head/cluster의 구체적인 정보를 보십시오.
다음과 같은 테스트 데이터, 데이터 원본을 추가할 수 있습니다.https://github.com/bly2k/files/blob/master/accounts.zip?raw=true
다음 명령을 통해curl-XPOST'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"

좋은 웹페이지 즐겨찾기