Thứ ba, 23/02/2016 | 00:00 GMT+7

Cách thiết lập một cụm sản xuất Elasticsearch trên CentOS 7

Elasticsearch là một server tìm kiếm nguồn mở phổ biến được sử dụng để tìm kiếm và phân tích dữ liệu được phân phối theo thời gian thực. Khi được sử dụng cho bất kỳ mục đích nào khác ngoài phát triển, Elasticsearch nên được triển khai trên nhiều server như một cụm, để có hiệu suất, độ ổn định và khả năng mở rộng tốt nhất.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình cụm Elasticsearch production trên CentOS 7, trong môi trường server cloud .

Mặc dù việc cài đặt cụm Elasticsearch theo cách thủ công rất hữu ích cho việc học, nhưng việc sử dụng công cụ quản lý cấu hình được khuyến khích với bất kỳ cài đặt cụm nào. Nếu bạn muốn sử dụng Ansible để triển khai cụm Elasticsearch, hãy làm theo hướng dẫn này: Cách sử dụng Ansible để cài đặt một cụm production Elasticsearch .

Yêu cầu

Bạn phải có ít nhất ba server CentOS 7 để hoàn thành hướng dẫn này vì một cụm Elasticsearch phải có tối thiểu 3 nút đủ điều kiện chính. Nếu bạn muốn có các node chính và nút dữ liệu chuyên dụng, bạn cần ít nhất 3 server cho các node chính cộng với các server bổ sung cho các node dữ liệu của bạn .

Nếu bạn muốn sử dụng Ubuntu thay thế, hãy xem hướng dẫn này: Cách cài đặt Cụm production Elasticsearch trên Ubuntu 14.04

Giả định

Hướng dẫn này giả định server của bạn đang sử dụng VPN giống như được mô tả ở đây: Cách sử dụng VPN Ansible và Tinc để bảo mật cơ sở hạ tầng server của bạn . Điều này sẽ cung cấp chức năng mạng riêng tư dù mạng vật lý mà server của bạn đang sử dụng.

Nếu bạn đang sử dụng mạng riêng được chia sẻ, chẳng hạn như Mạng riêng DigitalOcean, bạn phải sử dụng VPN để bảo vệ Elasticsearch khỏi truy cập trái phép. Mỗi server phải trên cùng một mạng riêng vì Elasticsearch không có bảo mật được tích hợp trong giao diện HTTP của nó. Mạng riêng không được chia sẻ với bất kỳ máy tính nào mà bạn không tin tưởng.

Ta sẽ gọi địa chỉ IP VPN của server của bạn là vpn_ip . Ta cũng sẽ giả định tất cả chúng đều có giao diện VPN được đặt tên là “tun0”, như được mô tả trong hướng dẫn được liên kết ở trên.

Cài đặt Java 8

Elasticsearch yêu cầu Java, vì vậy ta sẽ cài đặt nó ngay bây giờ. Ta sẽ cài đặt version gần đây của Oracle Java 8 vì đó là những gì Elasticsearch đề xuất. Tuy nhiên, nó sẽ hoạt động tốt với OpenJDK, nếu bạn quyết định đi theo con đường đó. Làm theo các bước trong phần này nghĩa là bạn chấp nhận Thỏa thuận cấp phép binary của Oracle cho Java SE.

Hoàn thành bước này trên tất cả các server Elasticsearch của bạn.

Thay đổi folder chính của bạn và download Oracle Java 8 (Bản cập nhật 73, mới nhất tại thời điểm viết bài này) JDK RPM với các lệnh sau:

  • cd ~
  • wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-x64.rpm"

Sau đó cài đặt RPM bằng lệnh yum này (nếu bạn đã download một bản phát hành khác, hãy thay thế tên file tại đây):

  • sudo yum -y localinstall jdk-8u73-linux-x64.rpm

Bây giờ Java sẽ được cài đặt tại /usr/java/jdk1.8.0_73/jre/bin/java và được liên kết từ /usr/bin/java .

Bạn có thể xóa file lưu trữ mà bạn đã download trước đó:

  • rm ~/jdk-8u73-linux-x64.rpm

Bây giờ Java 8 đã được cài đặt, hãy cài đặt ElasticSearch.

Cài đặt Elasticsearch

Elasticsearch có thể được cài đặt với trình quản lý gói bằng cách thêm repository của Elastic.

Chạy lệnh sau để nhập khóa GPG công khai Elasticsearch vào rpm:

  • sudo rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch

Tạo một file repository yum mới cho Elasticsearch. Lưu ý đây là một lệnh duy nhất:

  • echo '[elasticsearch-2.x]
  • name=Elasticsearch repository for 2.x packages
  • baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
  • gpgcheck=1
  • gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
  • enabled=1
  • ' | sudo tee /etc/yum.repos.d/elasticsearch.repo

Cài đặt Elasticsearch bằng lệnh này:

  • sudo yum -y install elasticsearch

Đảm bảo lặp lại bước này trên tất cả các server Elasticsearch của bạn.

Elasticsearch hiện đã được cài đặt nhưng nó cần được cấu hình trước khi bạn có thể sử dụng.

Cấu hình cụm Elasticsearch

Bây giờ là lúc chỉnh sửa cấu hình Elasticsearch. Hoàn thành các bước này trên tất cả các server Elasticsearch của bạn.

Mở file cấu hình Elasticsearch để chỉnh sửa:

  • sudo vi /etc/elasticsearch/elasticsearch.yml

Các phần tiếp theo sẽ giải thích cách cấu hình phải được sửa đổi.

Liên kết với Địa chỉ IP hoặc Giao diện VPN

Bạn cần hạn chế quyền truy cập từ bên ngoài vào version Elasticsearch của bạn , vì vậy người ngoài không thể truy cập vào dữ liệu hoặc tắt cụm Elasticsearch của bạn thông qua API HTTP. Nói cách khác, bạn phải cấu hình Elasticsearch sao cho nó chỉ cho phép truy cập vào các server trên mạng riêng của bạn (VPN). Để thực hiện việc này, ta cần cấu hình từng nút để liên kết với địa chỉ IP VPN, vpn_ip hoặc giao diện, “tun0”.

Tìm dòng chỉ định network.host , bỏ ghi chú và thay thế giá trị của nó bằng địa chỉ IP VPN của server tương ứng (ví dụ: 10.0.0.1 cho node01) hoặc tên giao diện. Vì giao diện VPN của ta được đặt tên là “tun0” trên tất cả các server của ta , ta có thể cấu hình tất cả các server của bạn với cùng một dòng:

asticsearch.yml - network.host
network.host: [_tun0_, _local_] 

Lưu ý việc bổ sung “_local_”, cấu hình Elasticsearch cũng nghe trên tất cả các loopback devide . Điều này sẽ cho phép bạn sử dụng API Elasticsearch HTTP local , từ mỗi server , bằng cách gửi yêu cầu đến localhost . Nếu bạn không bao gồm điều này, Elasticsearch sẽ chỉ phản hồi các yêu cầu đến địa chỉ IP VPN.

Cảnh báo: Vì Elasticsearch không có bất kỳ bảo mật tích hợp nào, điều rất quan trọng là bạn không đặt địa chỉ IP này thành bất kỳ địa chỉ IP nào có thể truy cập vào bất kỳ server nào mà bạn không kiểm soát hoặc tin cậy. Không ràng buộc Elasticsearch với địa chỉ IP mạng công cộng hoặc chia sẻ riêng tư !

Đặt tên cụm

Tiếp theo, đặt tên cho cụm của bạn, điều này sẽ cho phép các node Elasticsearch của bạn tham gia và tạo thành cụm. Bạn cần sử dụng một tên mô tả là duy nhất (trong mạng của bạn).

Tìm dòng chỉ định tên cluster.name , bỏ ghi chú và thay thế giá trị của nó bằng tên cụm mong muốn của bạn. Trong hướng dẫn này, ta sẽ đặt tên cho cụm của ta là "production":

asticsearch.yml - cluster.name
cluster.name: production 

Đặt tên nút

Tiếp theo, ta sẽ đặt tên của từng nút. Đây phải là tên mô tả duy nhất trong cụm.

Tìm dòng chỉ định node.name , bỏ ghi chú và thay thế giá trị của nó bằng tên node mong muốn của bạn. Trong hướng dẫn này, ta sẽ đặt từng tên nút thành tên server của server bằng cách sử dụng biến môi trường ${HOSTNAME} :

asticsearch.yml - node.name
node.name: ${HOSTNAME} 

Nếu muốn, bạn có thể đặt tên cho các node của bạn theo cách thủ công, nhưng hãy đảm bảo bạn chỉ định các tên duy nhất. Bạn cũng có thể để lại comment của node.name , nếu bạn không ngại đặt các node của bạn một cách ngẫu nhiên.

Đặt server khám phá

Tiếp theo, bạn cần phải cấu hình một danh sách ban đầu các node sẽ được liên hệ để khám phá và tạo thành một cụm. Điều này là cần thiết trong một mạng unicast.

Tìm dòng đó quy định cụ thể discovery.zen.ping.unicast.hosts và bỏ ghi chú nó. Thay thế giá trị của nó bằng một loạt các chuỗi địa chỉ IP VPN hoặc tên server (phân giải thành địa chỉ IP VPN) của tất cả các node khác.

Ví dụ: nếu bạn có ba server node01 , node02node03 với địa chỉ IP VPN tương ứng là 10.0.0.1 , 10.0.0.210.0.0.3 , bạn có thể sử dụng dòng này:

asticsearch.yml - server theo địa chỉ IP
discovery.zen.ping.unicast.hosts: ["10.0.0.1", "10.0.0.2", "10.0.0.3"] 

Ngoài ra, nếu tất cả các server của bạn được cấu hình với độ phân giải dựa trên tên của địa chỉ IP VPN của chúng (thông qua DNS hoặc /etc/hosts ), bạn có thể sử dụng dòng này:

asticsearch.yml - server theo tên
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"] 

Lưu ý: Ansible Playbook trong hướng dẫn VPN tiên quyết tự động tạo các mục nhập /etc/hosts trên mỗi server phân giải tên server khoảng không quảng cáo của mỗi server VPN (được chỉ định trong file hosts Ansible) thành địa chỉ IP VPN của nó.

Lưu và thoát

Server của bạn hiện đã được cấu hình để tạo thành một cụm Elasticsearch cơ bản. Có nhiều cài đặt khác mà bạn cần cập nhật, nhưng ta sẽ truy cập những cài đặt đó sau khi ta xác minh cụm đang hoạt động.

Lưu và thoát elasticsearch.yml .

Bắt đầu Elasticsearch

Bây giờ bắt đầu Elasticsearch:

  • sudo systemctl start elasticsearch

Sau đó chạy lệnh này để khởi động Elasticsearch khi khởi động:

  • sudo systemctl enable elasticsearch

Đảm bảo lặp lại các bước này (Định cấu hình Cụm Elasticsearch ) trên tất cả các server Elasticsearch của bạn.

Kiểm tra trạng thái cụm

Nếu mọi thứ được cấu hình chính xác, cụm Elasticsearch của bạn sẽ hoạt động. Trước khi tiếp tục, hãy xác minh nó hoạt động bình thường. Bạn có thể thực hiện bằng cách truy vấn Elasticsearch từ bất kỳ nút nào trong số các node Elasticsearch.

Từ bất kỳ server Elasticsearch nào của bạn, hãy chạy lệnh này để in trạng thái của cụm:

  • curl -XGET 'http://localhost:9200/_cluster/state?pretty'

Bạn sẽ thấy kết quả cho biết rằng một cụm có tên “sản xuất” đang chạy. Nó cũng phải cho biết tất cả các node bạn đã cấu hình đều là thành viên:

Cluster State:
{ "cluster_name" : "production", "version" : 36, "state_uuid" : "MIkS5sk7TQCl31beb45kfQ", "master_node" : "k6k2UObVQ0S-IFoRLmDcvA", "blocks" : { }, "nodes" : { "Jx_YC2sTQY6ayACU43_i3Q" : { "name" : "node02", "transport_address" : "10.0.0.2:9300", "attributes" : { } }, "k6k2UObVQ0S-IFoRLmDcvA" : { "name" : "node01", "transport_address" : "10.0.0.1:9300", "attributes" : { } }, "kQgZZUXATkSpduZxNwHfYQ" : { "name" : "node03", "transport_address" : "10.0.0.3:9300", "attributes" : { } } }, ...

Nếu bạn thấy kết quả tương tự như thế này, cụm Elasticsearch của bạn đang chạy! Nếu bất kỳ nút nào của bạn bị thiếu, hãy xem lại cấu hình cho (các) nút được đề cập trước khi tiếp tục.

Tiếp theo, ta sẽ xem xét một số cài đặt cấu hình mà bạn nên xem xét cho cụm Elasticsearch của bạn .

Bật khóa bộ nhớ

Elastic khuyến nghị tránh swap quy trình Elasticsearch bằng mọi giá, do tác động tiêu cực của nó đến hiệu suất và tính ổn định. Một cách để tránh swap quá nhiều là cấu hình Elasticsearch để khóa bộ nhớ mà nó cần.

Hoàn thành bước này trên tất cả các server Elasticsearch của bạn.

Chỉnh sửa cấu hình Elasticsearch:

  • sudo vi /etc/elasticsearch/elasticsearch.yml

Tìm dòng chỉ định bootstrap.mlockall và bỏ ghi chú:

asticsearch.yml - bootstrap.mlockall
bootstrap.mlockall: true 

Lưu và thoát.

Tiếp theo, mở file /etc/sysconfig/elasticsearch để chỉnh sửa:

  • sudo vi /etc/sysconfig/elasticsearch

Đầu tiên, tìm ES_HEAP_SIZE , bỏ ghi chú và đặt nó thành khoảng 50% bộ nhớ khả dụng của bạn. Ví dụ: nếu bạn có khoảng 4 GB trống, bạn nên đặt giá trị này thành 2 GB ( 2g ):

/ etc / default /asticsearch - ES_HEAP_SIZE
ES_HEAP_SIZE=2g 

Tiếp theo, tìm và bỏ ghi chú MAX_LOCKED_MEMORY=unlimited . Nó sẽ trông như thế này khi bạn hoàn thành:

/ etc / default /asticsearch - MAX_LOCKED_MEMORY
MAX_LOCKED_MEMORY=unlimited 

Lưu và thoát.

Tệp cuối cùng cần chỉnh sửa là file đơn vị hệ thống Elasticsearch. Mở nó ra để chỉnh sửa:

  • sudo vi /usr/lib/systemd/system/elasticsearch.service

Tìm và bỏ ghi chú LimitMEMLOCK=infinity . Nó sẽ trông như thế này khi bạn hoàn thành:

/usr/lib/systemd/system/elasticsearch.service - LimitMEMLOCK
LimitMEMLOCK=infinity 

Lưu và thoát.

Bây giờ reload daemon systemctl và khởi động lại Elasticsearch để đưa các thay đổi vào vị trí:

  • sudo systemctl daemon-reload
  • sudo systemctl restart elasticsearch

Đảm bảo lặp lại bước này trên tất cả các server Elasticsearch của bạn.

Xác minh trạng thái Mlockall

Để xác minh mlockall đang hoạt động trên tất cả các node Elasticsearch của bạn, hãy chạy lệnh này từ bất kỳ nút nào:

  • curl http://localhost:9200/_nodes/process?pretty

Mỗi nút phải có một dòng cho biết "mlockall" : true , cho biết rằng khóa bộ nhớ đã được bật và hoạt động:

Nodes process output:
... "nodes" : { "kQgZZUXATkSpduZxNwHfYQ" : { "name" : "es03", "transport_address" : "10.0.0.3:9300", "host" : "10.0.0.3", "ip" : "10.0.0.3", "version" : "2.2.0", "build" : "8ff36d1", "http_address" : "10.0.0.3:9200", "process" : { "refresh_interval_in_millis" : 1000, "id" : 1650, "mlockall" : true } ...

Nếu mlockall sai đối với bất kỳ nút nào của bạn, hãy xem lại cài đặt của nút và khởi động lại Elasticsearch. Một lý do phổ biến khiến Elasticsearch không khởi động được là ES_HEAP_SIZE được đặt quá cao.

Cấu hình giới hạn trình mô tả file mở (Tùy chọn)

Theo mặc định, nút Elasticsearch của bạn phải có “Giới hạn trình mô tả file mở” là 64k. Phần này sẽ chỉ cho bạn cách xác minh điều này và nếu bạn muốn, hãy tăng nó lên.

Cách xác minh file mở tối đa

Trước tiên, hãy tìm ID quy trình (PID) của quy trình Elasticsearch của bạn. Một cách dễ dàng để làm điều này là sử dụng ps lệnh để liệt kê tất cả các quá trình thuộc về elasticsearch người sử dụng:

  • ps -u elasticsearch

Bạn sẽ thấy kết quả giống như thế này. Số trong cột đầu tiên là PID của quy trình Elasticsearch (java) của bạn:

Output:
PID TTY TIME CMD 11708 ? 00:00:10 java

Sau đó, chạy lệnh này để hiển thị các giới hạn file đang mở cho quá trình Elasticsearch (thay thế số được đánh dấu bằng PID của bạn từ bước trước):

  • cat /proc/11708/limits | grep 'Max open files'
Output
Max open files 65535 65535 files

Các con số trong cột thứ hai và thứ ba biểu thị giới hạn mềm và cứng, tương ứng là 64k (65535). Điều này là tốt cho nhiều cài đặt , nhưng bạn có thể cần tăng cài đặt này.

Cách tăng giới hạn trình mô tả file tối đa

Để tăng số lượng bộ mô tả file đang mở tối đa trong Elasticsearch, bạn chỉ cần thay đổi một cài đặt duy nhất.

Mở file /usr/lib/systemd/system/elasticsearch.service để chỉnh sửa:

  • sudo vi /usr/lib/systemd/system/elasticsearch.service

Tìm LimitNOFILE và đặt nó ở giới hạn mà bạn mong muốn. Ví dụ: nếu bạn muốn giới hạn 128k bộ mô tả, hãy thay đổi nó thành 131070 :

/usr/lib/systemd/system/elasticsearch.service - LimitNOFILE
LimitNOFILE=131070 

Lưu và thoát.

Bây giờ reload daemon systemctl và khởi động lại Elasticsearch để đưa các thay đổi vào vị trí:

  • sudo systemctl daemon-reload
  • sudo systemctl restart elasticsearch

Sau đó, hãy làm theo phần phụ trước để xác minh các giới hạn đã được tăng lên.

Đảm bảo lặp lại bước này trên bất kỳ server Elasticsearch nào của bạn yêu cầu giới hạn trình mô tả file cao hơn.

Cấu hình các node dữ liệu và chính chuyên dụng (Tùy chọn)

Có hai loại nút Elasticsearch phổ biến: chínhdữ liệu . Các node chính thực hiện các hành động trên toàn cụm, chẳng hạn như quản lý các chỉ số và xác định các node dữ liệu nào sẽ lưu trữ các phân đoạn dữ liệu cụ thể. Các node dữ liệu giữ các phân đoạn của tài liệu được lập index của bạn và xử lý các hoạt động CRUD, tìm kiếm và tổng hợp. Theo nguyên tắc chung, các node dữ liệu tiêu thụ một lượng đáng kể CPU, bộ nhớ và I / O.

Theo mặc định, mọi nút Elasticsearch được cấu hình để trở thành nút dữ liệu “đủ điều kiện chính”, nghĩa là chúng lưu trữ dữ liệu (và thực hiện các hoạt động sử dụng nhiều tài nguyên) và có khả năng được chọn làm nút chính. Đối với một cụm nhỏ, điều này thường ổn; Tuy nhiên, một cụm Elasticsearch lớn nên được cấu hình với các node chính chuyên dụng để tính ổn định của nút chính không bị ảnh hưởng bởi công việc của nút dữ liệu chuyên sâu.

Cách cấu hình các node chính chuyên dụng

Trước khi cấu hình các node chính chuyên dụng, hãy đảm bảo cụm của bạn sẽ có ít nhất 3 nút đủ điều kiện chính. Điều này rất quan trọng để tránh tình trạng chia rẽ, có thể gây ra sự không nhất quán trong dữ liệu trong trường hợp mạng bị lỗi.

Để cấu hình một nút chính chuyên dụng, hãy chỉnh sửa cấu hình Elasticsearch của nút:

  • sudo vi /etc/elasticsearch/elasticsearch.yml

Thêm hai dòng sau:

asticsearch.yml - bậc thầy chuyên dụng
node.master: true  node.data: false 

Dòng đầu tiên, node.master: true , chỉ định rằng nút đủ điều kiện chính và thực sự là cài đặt mặc định. Dòng thứ hai, node.data: false , hạn chế nút trở thành nút dữ liệu.

Lưu và thoát.

Bây giờ khởi động lại nút Elasticsearch để thay đổi có hiệu lực:

  • sudo systemctl restart elasticsearch

Đảm bảo lặp lại bước này trên các node chính chuyên dụng khác của bạn.

Bạn có thể truy vấn cụm để xem những nút nào được cấu hình làm nút chính chuyên dụng bằng lệnh này: curl -XGET 'http://localhost:9200/_cluster/state?pretty' . Bất kỳ nút nào có data: falsemaster: true là các node chính dành riêng.

Cách cấu hình các node dữ liệu chuyên dụng

Để cấu hình một nút dữ liệu chuyên dụng — một nút dữ liệu không đủ điều kiện chính — hãy chỉnh sửa cấu hình Elasticsearch của nút:

  • sudo vi /etc/elasticsearch/elasticsearch.yml

Thêm hai dòng sau:

asticsearch.yml - dữ liệu chuyên dụng
node.master: false  node.data: true 

Dòng đầu tiên, node.master: false , chỉ định rằng nút không đủ điều kiện chính. Dòng thứ hai, node.data: true , là cài đặt mặc định cho phép nút là một nút dữ liệu.

Lưu và thoát.

Bây giờ khởi động lại nút Elasticsearch để thay đổi có hiệu lực:

  • sudo systemctl restart elasticsearch

Đảm bảo lặp lại bước này trên các node dữ liệu chuyên dụng khác của bạn.

Bạn có thể truy vấn cụm để xem những nút nào được cấu hình làm nút dữ liệu chuyên dụng bằng lệnh này: curl -XGET 'http://localhost:9200/_cluster/state?pretty' . Bất kỳ nút nào liệt kê master: falsekhông liệt kê data: false là các node dữ liệu chuyên dụng.

Cấu hình các node chính tối thiểu

Khi chạy một cụm Elasticsearch, điều quan trọng là phải đặt số lượng tối thiểu các node đủ điều kiện chính cần chạy để cụm hoạt động bình thường, đôi khi được gọi là túc số . Điều này là đảm bảo tính nhất quán của dữ liệu trong trường hợp một hoặc nhiều nút mất kết nối với phần còn lại của cụm, ngăn chặn tình trạng được gọi là tình trạng "não chia".

Để tính số nút chính tối thiểu mà cụm của bạn phải có, hãy tính n / 2 + 1 , trong đó n là tổng số nút "đủ điều kiện chính" trong cụm lành mạnh của bạn, sau đó làm tròn kết quả xuống số nguyên gần nhất. Ví dụ, đối với một cụm 3 nút, túc số là 2.

Lưu ý: Đảm bảo bao gồm tất cả các node đủ điều kiện chính trong tính toán số đại biểu của bạn, bao gồm mọi nút dữ liệu đủ điều kiện chính (cài đặt mặc định).

Cài đặt nút chính tối thiểu có thể được đặt động thông qua API Elasticsearch HTTP. Để làm như vậy, hãy chạy lệnh này trên bất kỳ nút nào (thay thế số được đánh dấu bằng túc số của bạn):

  • curl -XPUT localhost:9200/_cluster/settings?pretty -d '{
  • "persistent" : {
  • "discovery.zen.minimum_master_nodes" : 2
  • }
  • }'
Output:
{ "acknowledged" : true, "persistent" : { "discovery" : { "zen" : { "minimum_master_nodes" : "2" } } }, "transient" : { } }

Lưu ý: Lệnh này là cài đặt "liên tục", nghĩa là cài đặt nút chính tối thiểu sẽ tồn tại khi khởi động lại toàn bộ cụm và overrides file cấu hình Elasticsearch. Ngoài ra, cài đặt này có thể được chỉ định là /etc/elasticsearch.yml discovery.zen.minimum_master_nodes: 2 trong /etc/elasticsearch.yml nếu bạn chưa đặt động.

Nếu bạn muốn kiểm tra cài đặt này sau, bạn có thể chạy lệnh sau:

  • curl -XGET localhost:9200/_cluster/settings?pretty

Cách truy cập Elasticsearch

Bạn có thể truy cập API Elasticsearch HTTP bằng cách gửi yêu cầu đến địa chỉ IP VPN bất kỳ nút nào hoặc, như được trình bày trong hướng dẫn, bằng cách gửi yêu cầu đến localhost từ một trong các node .

Cụm Elasticsearch của bạn có thể truy cập vào các server khách hàng thông qua địa chỉ IP VPN của bất kỳ nút nào, nghĩa là các server khách hàng cũng phải là một phần của VPN.

Nếu bạn có phần mềm khác cần kết nối với cụm của bạn , chẳng hạn như Kibana hoặc Logstash, bạn thường có thể cấu hình kết nối bằng cách cung cấp cho ứng dụng của bạn địa chỉ IP VPN của một hoặc nhiều nút Elasticsearch.

Kết luận

Cụm Elasticsearch của bạn sẽ chạy ở trạng thái khỏe mạnh và được cấu hình với một số tối ưu hóa cơ bản!

Elasticsearch có nhiều tùy chọn cấu hình khác không được đề cập ở đây, chẳng hạn như cài đặt index , phân đoạn và sao chép. Bạn nên truy cập lại cấu hình của bạn sau cùng với tài liệu chính thức, đảm bảo rằng cụm của bạn được cấu hình để đáp ứng nhu cầu của bạn.


Tags:

Các tin liên quan

Cách bảo vệ SSH bằng Fail2Ban trên CentOS 7
2016-01-27
Cách bảo mật HAProxy bằng Let's Encrypt trên CentOS 7
2016-01-26
Cách tạo thiết lập tính khả dụng cao với Pacemaker, Corosync và IP nổi trên CentOS 7
2015-12-22
Cách sử dụng Prometheus để giám sát server CentOS 7 của bạn
2015-11-06
Cách cài đặt Elasticsearch 1.7, Logstash 1.5 và Kibana 4.1 (ELK Stack) trên CentOS 7
2015-11-04
Cách cài đặt và cấu hình scponly trên CentOS 7
2015-07-22
Cách viết quy tắc kiểm tra hệ thống tùy chỉnh trên CentOS 7
2015-07-16
Cách viết quy tắc kiểm tra hệ thống tùy chỉnh trên CentOS 7
2015-07-16
Cách thiết lập firewall bằng FirewallD trên CentOS 7
2015-06-18
Cách thiết lập firewall bằng FirewallD trên CentOS 7
2015-06-18