elasticsearch.yml
에 디폴트 설정은 node.master: true로 되어 있습니다. 기본적으로는 모든 노드가 마스터 노드로 선출될 수 있는 마스터 후보 노드 (master eligible node) 입니다. 만약에 현재 마스터 역할을 수행하고 있는 노드가 네트워크상에서 끊어지거나 다운되면 다른 마스터 후보 노드 중 하나가 마스터 노드로 선출이 되어 마스터 노드의 역할을 대신 수행하게 됩니다. 마스터 후보 노드들은 처음부터 마스터 노드의 정보들을 공유하고 있기 때문에 즉시 마스터 역할의 수행이 가능합니다.node.master: false
로 하여 마스터 노드의 역할을 하지 않도록 합니다.node.data: false
로 설정하여 마스터 노드 역할만 하고 데이터는 저장하지 않도록 할 수 있습니다. 이렇게 하면 마스터 노드는 데이터는 저장하지 않고 클러스터 관리만 하게 되고, 데이터 노드는 클러스터 관리 작업으로 부터 자유롭게 되어 데이터 처리에만 집중할 수 있습니다.elasticsearch.yml
에서 discovery.zen.minimum_master_nodes
설정을 이용하여 지정이 가능합니다.(전체 마스터 후보 노드 / 2) + 1
개로 설정되어야 합니다. 마스터 후보 노드가 5개인 경우 3 으로 설정합니다.discovery.zen.minimum_master_nodes
설정이 사라지고 대신 node.master: true
인 노드가 추가되면 클러스터가 스스로 minimum_master_nodes 노드 값을 변경하도록 되었습니다. 사용자는 최초 마스터 후보로 선출할 cluster.initial_master_nodes: [ ]
값만 설정하면 됩니다.