Định cấu hình Dịch vụ Amazon OpenSearch để có tính sẵn sàng cao | Dịch vụ web của Amazon

Định cấu hình Dịch vụ Amazon OpenSearch để có tính sẵn sàng cao | Dịch vụ web của Amazon

Nút nguồn: 2691649

Dịch vụ Tìm kiếm Mở của Amazon là một công cụ phân tích và tìm kiếm hoàn toàn mã nguồn mở mở khóa một cách an toàn tìm kiếm, giám sát và phân tích dữ liệu hoạt động và kinh doanh theo thời gian thực cho các trường hợp sử dụng như công cụ đề xuất, trang web thương mại điện tử và tìm kiếm danh mục. Để thành công trong kinh doanh, bạn cần các hệ thống của mình luôn sẵn sàng và hoạt động hiệu quả, giảm thiểu thời gian ngừng hoạt động và tránh hỏng hóc. Khi bạn sử dụng Dịch vụ Tìm kiếm Mở làm phương tiện chính để giám sát cơ sở hạ tầng của mình, bạn cũng cần đảm bảo tính khả dụng của nó. Thời gian ngừng hoạt động của Dịch vụ Tìm kiếm Mở có thể ảnh hưởng đáng kể đến kết quả kinh doanh của bạn, chẳng hạn như mất doanh thu, giảm năng suất, giảm giá trị thương hiệu, v.v.

Sản phẩm tiêu chuẩn công nghiệp để đo tính khả dụng là lớp chín. Dịch vụ OpenSearch cung cấp tính khả dụng của 3 9 khi bạn theo dõi thực hành tốt nhất, có nghĩa là nó đảm bảo thời gian ngừng hoạt động ít hơn 43.83 phút mỗi tháng. Trong bài đăng này, bạn sẽ tìm hiểu cách có thể định cấu hình miền Dịch vụ tìm kiếm mở của mình để có hiệu suất và tính khả dụng cao bằng cách làm theo các phương pháp và đề xuất tốt nhất trong khi thiết lập miền của bạn.

Có hai yếu tố thiết yếu ảnh hưởng đến tính khả dụng của miền: mức sử dụng tài nguyên của miền, chủ yếu do khối lượng công việc của bạn chi phối và các sự kiện bên ngoài chẳng hạn như lỗi cơ sở hạ tầng. Mặc dù cái trước có thể được kiểm soát thông qua giám sát liên tục hiệu suất và tình trạng của miền và mở rộng phạm vi miền cho phù hợp, nhưng cái sau thì không thể. Để giảm thiểu tác động của các sự kiện bên ngoài, chẳng hạn như ngừng hoạt động của Vùng sẵn sàng, lỗi ổ đĩa hoặc phiên bản hoặc sự cố kết nối mạng trên miền của bạn, bạn phải cung cấp dung lượng bổ sung, được phân phối trên nhiều Vùng sẵn sàng và giữ nhiều bản sao dữ liệu. Nếu không làm như vậy có thể dẫn đến hiệu suất bị suy giảm, không khả dụng và trong trường hợp xấu nhất là mất dữ liệu.

Hãy xem xét các tùy chọn có sẵn cho bạn để đảm bảo miền đó khả dụng và hoạt động hiệu quả.

Cấu hình cụm

Trong phần này, chúng ta sẽ nói về các tùy chọn cấu hình khác nhau mà bạn phải thiết lập đúng cụm của mình, bao gồm chỉ định số lượng Vùng sẵn sàng cho việc triển khai, thiết lập nút chính và nút dữ liệu, thiết lập chỉ mục và phân đoạn.

Triển khai Multi-AZ

Các nút dữ liệu chịu trách nhiệm xử lý các yêu cầu lập chỉ mục và tìm kiếm trong miền của bạn. Việc triển khai các nút dữ liệu của bạn trên nhiều Vùng sẵn sàng sẽ cải thiện tính khả dụng của miền của bạn bằng cách bổ sung thêm quá trình xử lý và lưu trữ dữ liệu dự phòng cho mỗi vùng. Với triển khai Multi-AZ, miền của bạn có thể vẫn khả dụng ngay cả khi Vùng sẵn sàng đầy đủ không khả dụng. Đối với khối lượng công việc sản xuất, AWS khuyến nghị sử dụng ba Vùng sẵn sàng cho miền của bạn. Sử dụng hai Vùng sẵn sàng cho các Khu vực chỉ hỗ trợ hai vùng để cải thiện tính khả dụng. Điều này đảm bảo rằng miền của bạn khả dụng trong trường hợp xảy ra lỗi Một vùng sẵn sàng.

Trình quản lý cụm chuyên dụng (các nút chính)

AWS khuyến nghị sử dụng ba nút trình quản lý cụm (CM) chuyên dụng cho tất cả các khối lượng công việc sản xuất. Các nút CM theo dõi tình trạng của cụm, trạng thái và vị trí của các chỉ mục và phân đoạn của nó, ánh xạ cho tất cả các chỉ mục và tính khả dụng của các nút dữ liệu của nó, đồng thời nó duy trì một danh sách các tác vụ cấp cụm trong quá trình xử lý. Nếu không có các nút CM chuyên dụng, cụm sẽ sử dụng các nút dữ liệu, điều này khiến cụm dễ bị tổn thương trước nhu cầu khối lượng công việc. Bạn nên định cỡ các nút CM dựa trên kích thước của nhiệm vụ—chủ yếu là số lượng nút dữ liệu, số lượng chỉ mục và số lượng phân đoạn. Dịch vụ OpenSearch luôn triển khai các nút CM trên ba Vùng sẵn sàng, khi được Khu vực hỗ trợ (hai Vùng sẵn sàng trong một và một trong các Vùng sẵn sàng khác nếu các vùng chỉ có hai Vùng sẵn sàng). Đối với miền đang chạy, chỉ một trong ba nút CM hoạt động với tư cách là người lãnh đạo được bầu chọn. Hai nút CM khác tham gia vào một cuộc bầu chọn nếu nút CM được bầu không thành công.

Bảng sau đây cho biết các đề xuất của AWS về định cỡ CM. Các nút CM hoạt động dựa trên số lượng nút, chỉ mục, phân đoạn và ánh xạ. Càng nhiều công việc, bạn càng cần phải giữ nhiều máy tính và bộ nhớ hơn và làm việc với trạng thái cụm.

Số lượng phiên bản Trình quản lý cụm Kích thước RAM nút Số lượng mảnh được hỗ trợ tối đa Loại phiên bản trình quản lý cụm chuyên dụng tối thiểu được đề xuất
1-10 8 GiB 10,000 m5.large.search hoặc m6g.large.search
11-30 16 GiB 30,000 c5.2xlarge.search hoặc c6g.2xlarge.search
31-75 32 GiB 40,000 c5.4xlarge.search hoặc c6g.4xlarge.search
76 - 125 64 GiB 75,000 r5.2xlarge.search hoặc r6g.2xlarge.search
126 - 200 128 GiB 75,000 r5.4xlarge.search hoặc r6g.4xlarge.search

Chỉ mục và phân đoạn

Các chỉ mục là một cấu trúc logic chứa một tập hợp các tài liệu. Bạn phân vùng chỉ mục của mình để xử lý song song bằng cách chỉ định số lượng phân đoạn chính, trong đó các phân đoạn đại diện cho một đơn vị vật lý để lưu trữ và xử lý dữ liệu. Trong OpenSearch Service, một phân đoạn có thể là phân đoạn chính hoặc phân đoạn bản sao. Bạn sử dụng các bản sao để đảm bảo độ bền—nếu phân đoạn chính bị mất, OpenSearch Service sẽ thăng cấp một trong các bản sao lên chính—và để cải thiện thông lượng tìm kiếm. OpenSearch Service đảm bảo rằng các phân đoạn chính và bản sao được đặt trong các nút khác nhau và trên các Vùng sẵn sàng khác nhau, nếu được triển khai trong nhiều Vùng sẵn sàng. Để có tính sẵn sàng cao, AWS khuyên bạn nên định cấu hình ít nhất hai bản sao cho mỗi chỉ mục trong thiết lập ba vùng để tránh gián đoạn hiệu suất và tính khả dụng. Trong thiết lập Multi-AZ, nếu một nút bị lỗi hoặc trong trường hợp xấu nhất là Vùng sẵn sàng bị lỗi, bạn vẫn sẽ có một bản sao của dữ liệu.

Giám sát và quản lý cụm

Như đã thảo luận trước đó, việc chọn cấu hình của bạn dựa trên các phương pháp hay nhất mới chỉ là một nửa công việc. Chúng tôi cũng cần liên tục theo dõi việc sử dụng tài nguyên và hiệu suất để xác định xem có cần mở rộng miền hay không. Miền được cung cấp dưới mức hoặc sử dụng quá mức có thể dẫn đến suy giảm hiệu suất và cuối cùng là không khả dụng.

Sử dụng CPU

Bạn sử dụng CPU trong miền của mình để chạy khối lượng công việc của mình. Theo nguyên tắc chung, bạn nên nhắm mục tiêu mức sử dụng CPU trung bình là 60% cho bất kỳ nút dữ liệu nào, với mức cao nhất là 80% và chấp nhận mức tăng đột biến nhỏ đến 100%. Khi bạn xem xét tính khả dụng và đặc biệt là xem xét tính không khả dụng của một vùng đầy đủ, sẽ có hai tình huống. Nếu bạn có hai Vùng sẵn sàng, thì mỗi vùng sẽ xử lý 50% lưu lượng truy cập. Nếu một vùng không khả dụng, vùng khác sẽ lấy tất cả lưu lượng truy cập đó, tăng gấp đôi mức sử dụng CPU. Trong trường hợp đó, bạn cần đạt mức sử dụng CPU trung bình khoảng 30–40% trong mỗi vùng để duy trì tính khả dụng. Nếu bạn đang chạy ba Vùng sẵn sàng, thì mỗi vùng sẽ chiếm 33% lưu lượng truy cập. Nếu một khu vực không khả dụng, mỗi khu vực khác sẽ nhận được khoảng 17% lưu lượng truy cập. Trong trường hợp này, bạn nên nhắm mục tiêu mức sử dụng CPU trung bình là 50–60%.

Sử dụng bộ nhớ

OpenSearch Service hỗ trợ hai loại thu gom rác. Đầu tiên là bộ sưu tập rác G1 (G1GC), được sử dụng bởi các nút Dịch vụ tìm kiếm mở, được cung cấp bởi AWS Graviton 2. Thứ hai là Quét đánh dấu đồng thời (CMS), được sử dụng bởi tất cả các nút được cung cấp bởi các bộ xử lý khác. Trong số tất cả bộ nhớ được phân bổ cho một nút, một nửa bộ nhớ (tối đa 32 GB) được gán cho vùng heap Java và phần còn lại của bộ nhớ được sử dụng bởi các tác vụ hệ điều hành khác, bộ đệm hệ thống tệp, v.v. Để duy trì tính khả dụng cho miền, chúng tôi khuyên bạn nên duy trì mức sử dụng JVM tối đa ở mức khoảng 80% trong CMS và 95% trong G1GC. Bất cứ điều gì ngoài điều đó sẽ ảnh hưởng đến tính khả dụng của tên miền của bạn và làm cho cụm của bạn không lành mạnh. Chúng tôi cũng khuyên bạn nên bật tính năng tự động điều chỉnh, tính năng này sẽ chủ động giám sát việc sử dụng bộ nhớ và kích hoạt trình thu gom rác.

Sử dụng bộ nhớ

OpenSearch Service xuất bản một số hướng dẫn cho định cỡ miền. Chúng tôi cung cấp một công thức thực nghiệm để bạn có thể xác định đúng dung lượng lưu trữ cần thiết cho các yêu cầu của mình. Tuy nhiên, điều quan trọng là phải theo dõi tình trạng cạn kiệt dung lượng lưu trữ theo thời gian và những thay đổi về đặc điểm khối lượng công việc. Để đảm bảo miền không hết bộ nhớ và có thể tiếp tục lập chỉ mục dữ liệu, bạn nên định cấu hình amazoncloudwatch báo động và giám sát không gian lưu trữ miễn phí của bạn.

AWS cũng khuyên bạn nên chọn số lượng phân đoạn chính để mỗi phân đoạn nằm trong dải kích thước tối ưu. Bạn có thể xác định kích thước phân đoạn tối ưu thông qua thử nghiệm bằng chứng khái niệm với dữ liệu và lưu lượng truy cập của mình. Chúng tôi sử dụng kích thước phân đoạn chính 10–30 GB cho các trường hợp sử dụng tìm kiếm và kích thước phân đoạn chính 45–50 GB cho các trường hợp sử dụng phân tích nhật ký làm nguyên tắc. Vì các phân đoạn là công nhân trong miền của bạn nên chúng chịu trách nhiệm trực tiếp về việc phân phối khối lượng công việc trên các nút dữ liệu. Nếu các phân đoạn của bạn quá lớn, bạn có thể thấy căng thẳng trong đống Java của mình do các tập hợp lớn, hiệu suất truy vấn kém hơn và hiệu suất kém hơn đối với các tác vụ cấp cụm như cân bằng lại phân đoạn, ảnh chụp nhanh và di chuyển từ nóng đến ấm. Nếu các phân đoạn của bạn quá nhỏ, chúng có thể lấn át không gian heap Java của miền, làm giảm hiệu suất truy vấn thông qua kết nối mạng nội bộ quá mức và làm chậm các tác vụ cấp cụm. Chúng tôi cũng khuyên bạn nên duy trì số lượng phân đoạn trên mỗi nút tỷ lệ thuận với heap có sẵn (một nửa RAM của phiên bản lên tới 32 GB)—25 phân đoạn trên mỗi GB heap Java. Điều này tạo ra giới hạn thực tế là 1,000 phân đoạn trên bất kỳ nút dữ liệu nào trong miền của bạn.

Kết luận

Trong bài đăng này, bạn đã học được nhiều mẹo và thủ thuật khác nhau để thiết lập một miền có tính khả dụng cao bằng cách sử dụng Dịch vụ Tìm kiếm Mở, giúp bạn duy trì hoạt động và khả dụng của Dịch vụ Tìm kiếm Mở bằng cách chạy nó trên ba Vùng sẵn sàng.

Hãy theo dõi một loạt bài viết tập trung vào các tính năng và chức năng khác nhau với Dịch vụ Tìm kiếm Mở. Nếu bạn có phản hồi về bài đăng này, hãy gửi nó trong phần bình luận. Nếu bạn có câu hỏi về bài đăng này, hãy bắt đầu một chủ đề mới trên Diễn đàn Dịch vụ Tìm kiếm Mở hoặc liên hệ Hỗ trợ AWS.


Giới thiệu về tác giả

Rohin Bhargava là Giám đốc Sản phẩm của Sr. với nhóm Dịch vụ Tìm kiếm Mở của Amazon. Niềm đam mê của anh ấy tại AWS là giúp khách hàng tìm thấy sự kết hợp chính xác của các dịch vụ AWS để đạt được thành công cho các mục tiêu kinh doanh của họ.

Prashant Agrawal là Kiến trúc sư giải pháp chuyên gia tìm kiếm cấp cao với Dịch vụ tìm kiếm mở của Amazon. Anh ấy làm việc chặt chẽ với khách hàng để giúp họ di chuyển khối lượng công việc của mình sang đám mây và giúp khách hàng hiện tại tinh chỉnh các cụm của họ để đạt được hiệu suất tốt hơn và tiết kiệm chi phí. Trước khi gia nhập AWS, anh ấy đã giúp nhiều khách hàng sử dụng OpenSearch và Elaticsearch cho các trường hợp sử dụng phân tích nhật ký và tìm kiếm của họ. Khi không làm việc, bạn có thể thấy anh ấy đi du lịch và khám phá những địa điểm mới. Tóm lại, anh ấy thích Ăn → Du lịch → Lặp lại.

Dấu thời gian:

Thêm từ Dữ liệu lớn AWS