Làm cách nào để giải quyết lỗi “Elasticsearch không thoát bình thường” khi thực thi bộ chứa Docker của Elaticsearch?

Lam Cach Nao De Giai Quyet Loi Elasticsearch Khong Thoat Binh Thuong Khi Thuc Thi Bo Chua Docker Cua Elaticsearch



Elaticsearch là một công cụ tìm kiếm phân tích mã nguồn mở nổi tiếng và thường được sử dụng trong các lĩnh vực AI và máy học. Nó thường lưu trữ dữ liệu phi cấu trúc, bán cấu trúc và có cấu trúc. Nhiều người dùng được yêu cầu cài đặt và sử dụng Elaticsearch trong bộ chứa Docker để thực thi nó trong môi trường bị cô lập.

Tuy nhiên, trong khi thực thi Elaticsearch trong bộ chứa Docker dựa trên Linux, người dùng có thể phải đối mặt với “ Elaticsearch không thoát bình thường ” lỗi do một lý do không xác định và đề nghị bạn kiểm tra “ docker-cluster.log ' tài liệu.







Bài viết này sẽ trình bày phương pháp làm thế nào để giải quyết “ Elaticsearch không thoát bình thường ” lỗi trong khi thực thi bộ chứa Elaticsearch trong Docker.



Làm cách nào để giải quyết lỗi “Elasticsearch không thoát bình thường” khi thực thi bộ chứa Docker của Elaticsearch?

Đôi khi, bộ chứa Elaticsearch không thực thi bình thường do nó được thực thi trong bộ chứa Linux và theo mặc định, giới hạn bộ nhớ ảo của nó quá thấp. Điều này có thể ngăn vùng chứa thực thi đúng cách và hiển thị thông báo lỗi “ Elaticsearch không thoát bình thường ” như hình bên dưới:







Để giải quyết các sự cố đã nêu, người dùng có thể tăng số lượng mmap của bộ nhớ ảo cho bộ chứa Linux bằng các bước sau.



Bước 1: Khởi động ứng dụng Docker Desktop với WSL

Đầu tiên, khởi động Docker Desktop với WSL. Nó cho phép chúng tôi thực thi và quản lý các bộ chứa Linux trên Windows:

wsl -d docker-máy tính để bàn

Bước 2: Tăng bộ nhớ ảo

Tiếp theo, hãy chạy lệnh bên dưới để tăng giới hạn bộ nhớ ảo cho bộ chứa Linux:

hệ thống -TRONG vm.max_map_count= 262144

Sau đó, thực hiện lệnh “exit” để thoát khỏi WSL:

Bước 3: Tạo mạng

Bây giờ, hãy tạo một mạng cho bộ chứa Elaticsearch Docker. Nó là tùy chọn nhưng có thể hữu ích cho mục đích sao lưu cho mạng Elaticsearch:

mạng docker tạo đàn hồi

Bước 4: Chạy Elaticsearch

Bây giờ, hãy thực thi hình ảnh Elaticsearch để cài đặt và chạy tìm kiếm đàn hồi trong vùng chứa:

docker chạy --tên es01 --mạng lưới đàn hồi -P 9200 : 9200 -P 9300 : 9300 -t docker.elastic.co / tìm kiếm đàn hồi / elaticsearch:8.8.2

Trong lệnh đã cho ở trên:

  • -tên ” đang chỉ định tên bộ chứa Elaticsearch.
  • -mạng lưới ” cờ được sử dụng để nhúng mạng bên ngoài.
  • -P ” tùy chọn đang xác định các cổng của bộ chứa Elaticsearch.
  • -t ” được sử dụng để gán “ TTY-giả ” thiết bị đầu cuối vào vùng chứa:

Đầu ra bên dưới cho thấy rằng chúng tôi đã thực thi thành công bộ chứa Elaticsearch và giải quyết vấn đề “ Elaticsearch không thoát bình thường ' lỗi.

Tại đây, container sẽ tạo ra “ đàn hồi ” mật khẩu của người dùng. Sử dụng các thông tin đăng nhập này, người dùng có thể truy cập Elaticsearch trên trình duyệt. Điều này cũng sẽ tạo mã thông báo để định cấu hình Kibana:

Bước 5: Xác minh

Hướng đến ' http://localhost:9200 ” trong trình duyệt của bạn và xác minh xem vùng chứa có được thực thi trên cổng đã chỉ định hay không:

Đầu ra ở trên chỉ ra rằng chúng tôi đã thực hiện thành công vùng chứa trên cổng “ 9200 ” và giải quyết “ Elaticsearch không thoát bình thường ' lỗi.

Phần kết luận

Để giải quyết “ Elaticsearch không thoát bình thường ”, người dùng được yêu cầu tăng giới hạn bộ nhớ ảo cho bộ chứa Linux. Để làm như vậy, trước tiên hãy khởi động máy tính để bàn Docker với WSL bằng cách sử dụng “ wsl -d docker-desktop ' yêu cầu. Sau đó, tăng giới hạn bộ nhớ ảo bằng cách sử dụng “ sysctl -w vm.max_map_count=262144 ' yêu cầu. Sau đó, chạy lại hình ảnh để tạo và khởi động bộ chứa Elaticsearch. Bài đăng này đã minh họa phương pháp khắc phục lỗi “Elaticsearch không thoát bình thường”.