Elasticsearch

سرویس Elasticsearch یک موتور جستجو و تحلیل توزیع‌شده است که برای ذخیره‌سازی، جستجو و تجزیه و تحلیل حجم بالای داده‌ها در زمان واقعی طراحی شده است. این سیستم قابلیت جستجوی کامل متن (Full-text Search)، مقیاس‌پذیری بالا و کارایی چشمگیر در پردازش داده‌های ساختاریافته و غیرساختاریافته را فراهم می‌کند. این ابزار معماری توزیع‌شده‌ای دارد که باعث می‌شود با افزایش حجم داده‌ها، به‌سادگی در بستر ابری گسترش یابد.

مراحل استقرار

برای مشاهده راهنمای گام‌به‌گام ساخت سرویس و پیکربندی‌های پایه، به مستندات «استقرار دیتابیس‌ها» مراجعه کنید. همچنین برای تنظیمات زیرساختی نیز به بخش مدیریت اپلیکیشن مراجعه کنید:

متغیرهای محیطی پایه

کانتینر Elasticsearch برای بوت شدن و مقداردهی اولیه سیستم امنیتی خود، از پارامترها و متغیرهای زیر در پنل داشبورد پیروی می‌کند:

  • رمز عبور مدیریت (اختیاری): فیلد Elasticsearch password حاوی رمز عبور تصادفی و امنی است که توسط سیستم برای مدیریت دیتابیس تولید می‌شود. شما می‌توانید این مقدار را متناسب با نیاز خود تغییر داده یا مجددا تولید کنید.

  • نسخه ایمیج (اختیاری): امکان انتخاب نسخه نرم‌افزار (Elasticsearch version) متناسب با ساختار سورس‌کد پروژه‌تان در این بخش فراهم است.

  • کلید دسترسی عمومی: برای دسترسی به این سرویس از طریق اینترنت و خارج از کلاستر، فعال‌سازی کلید دسترسی عمومی در مراحل ساخت الزامی است.

نکته: برای آموزش گام‌به‌گام نحوه تعریف متغیرهای اختصاصی، ConfigMapها و Secretها در داشبورد، به مستندات متغیرهای محیطی مراجعه کنید.

اطلاعات اتصال و دسترسی

پس از استقرار موفقیت‌آمیز، اطلاعات دقیق احراز هویت در داشبورد سرویس نمایش داده می‌شود. در مدیریت زیرساختی این موتور جستجوی توزیع‌شده، الزامات زیر برقرار است:

  • فضای ذخیره‌سازی: الاستیک‌سرچ برای نگهداری پایدار شاردها (Shards) و دیتای ایندکس‌ها، نیازمند تخصیص دیسک اختصاصی (Volume) است.

  • سطح دسترسی سیستمی: اپلیکیشن و ترمینال کانتینر با سطح دسترسی کاربر عادی (Non-Root) اجرا می‌شوند؛ بنابراین امکان اعمال تغییرات در هسته کانتینر وجود ندارد.

  • تخصیص منابع (بسیار مهم): الاستیک‌سرچ به دلیل ساختار جاوا و نیاز به حافظه Heap بالا، پلن پایه قدرتمندی را طلب می‌کند. پلن پایه برای این سرویس در پلتفرم از ۸ گیگابایت رم، ۲ هسته پردازنده و ۱ گیگابایت فضای ذخیره‌سازی شروع می‌شود. شما می‌توانید از طریق بخش شخصی‌سازی منابع و با استفاده از اسلایدرها، مقادیر رم، پردازنده و دیسک را دقیقا تنظیم کنید. برای جلوگیری از فقدان داده‌ها، فعال نگه داشتن بکاپ خودکار توصیه می‌شود.

اتصال از طریق کلاینت‌های خارجی

برای تست، عیب‌یابی و بررسی وضعیت سلامت کلاستر الاستیک‌سرچ از خارج از محیط ابری، می‌توانید از ابزارهای مدیریتی گرافیکی مانند Elastic Vue (افزونه مرورگر) استفاده کنید یا دستور ابزار curl را در ترمینال سیستم‌عامل خود به کار ببرید.

نام کاربری پیش‌فرض:

نام کاربری اصلی و پیش‌فرض سیستم برای اتصال به دیتابیس و اجرای کوئری‌ها elastic است.

دستور تست اتصال (Cluster Health):

با جایگذاری اطلاعات اختصاصی خود، دستور زیر را در ترمینال اجرا کنید:

curl -u "elastic:<PASSWORD>" -X GET "http://<SUB-DOMAIN>:<NodePort>/_cluster/health?pretty"

نکات استخراج متغیرهای اتصال:
  • مقدار هاست: به جای متغیر <SUB-DOMAIN>، مقداری که هنگام ساخت اپلیکیشن در قسمت Sub-domain وارد کردید را قرار دهید (به عنوان مثال: my-elastic.apps.teh1.abrhapaas.com).

  • مقدار پورت: به جای متغیر <NodePort> باید مقدار پورت اختصاص‌یافته خارجی (NodePort) را از بخش «تنظیمات دامنه و IP» در منوی «مدیریت اپلیکیشن» کپی کنید. این پورت ترافیک بیرونی شما را به پورت داخلی ۹۲۰۰ کانتینر متصل می‌کند.