2013-02-22 21 views

Trả lời

37

Nút chính giống như bất kỳ nút nào khác trong cụm, ngoại trừ việc nó đã được chọn làm chủ.

Có trách nhiệm điều phối bất kỳ thay đổi toàn cụm, chẳng hạn như thêm hoặc loại bỏ nút, tạo, xóa hoặc thay đổi trạng thái (tức là mở/đóng) của chỉ mục và phân bổ phân đoạn cho nút. Khi bất kỳ thay đổi nào trong số này xảy ra, "trạng thái cụm" được cập nhật bởi chính và được xuất bản tới tất cả các nút khác trong cụm. Đây là nút duy nhất có thể xuất bản trạng thái cụm mới.

Các tác vụ mà chương trình chính thực hiện là nhẹ. Bất kỳ tác vụ nào xử lý dữ liệu (ví dụ: lập chỉ mục, tìm kiếm, v.v.) không cần phải liên quan đến chủ. Nếu bạn chọn chạy master như một nút không phải dữ liệu (tức là một nút hoạt động như master và như một router, nhưng không chứa bất kỳ dữ liệu nào) thì master có thể chạy một cách hạnh phúc trên một hộp nhỏ.

Nút được phép trở thành cái chính nếu nút được đánh dấu là "tổng thể đủ điều kiện" (tất cả các nút đều theo mặc định). Nếu master hiện tại bị hỏng, một master mới sẽ được cluster chọn.

Tùy chọn cấu hình quan trọng trong cụm của bạn là minimum_master_nodes. Điều này chỉ định số lượng nút "tổng thể đủ điều kiện" mà nút phải có khả năng xem để trở thành một phần của cụm. Mục đích của nó là để tránh "tách não" tức là có cụm tách thành hai cụm, cả hai đều nghĩ rằng chúng hoạt động chính xác. Ví dụ, nếu bạn có 3 nút, tất cả đều là chủ đủ điều kiện và đặt minimum_master_nodes thành 1, thì nếu nút thứ ba được tách ra khỏi hai nút còn lại, nút đó vẫn thấy một nút đủ điều kiện chính (chính nó) và nghĩ rằng nó có thể tự tạo thành một cụm. Thay vào đó, hãy đặt minimum_master_nodes thành 2 trong trường hợp này (số nút/2 + 1), sau đó nếu nút thứ ba tách biệt, nút đó sẽ không thấy đủ nút chính và do đó sẽ không tự tạo thành cụm. Nó sẽ tiếp tục cố gắng để tham gia cụm ban đầu.

Mặc dù Elasticsearch cố gắng hết sức để chọn các giá trị mặc định chính xác, nhưng không thể đoán được vì bạn không biết có bao nhiêu nút bạn định chạy. Đây là điều bạn phải tự cấu hình.

+0

Giải thích tuyệt vời Clinton! – javanna

+0

Cảm ơn câu trả lời tuyệt vời của bạn. Siêu dữ liệu cụm chứa một số thứ như cụm sate, chẳng hạn như loại ánh xạ, phân bổ phân đoạn, phải không? siêu dữ liệu nút chứa gì? Nó có chứa một số thông tin của các chỉ số không? – Hoony

+0

Có. Bạn có thể thấy chính xác những gì nó chứa, bằng cách chạy yêu cầu này đối với một nút trong cụm của bạn: curl -XGET 'http://127.0.0.1:9200/_cluster/state?pretty=1' – DrTech

Các vấn đề liên quan