به زود وب خوش آمدید

Elasticsearch چیست؟

مدیر سایت مدیر سایت
۲۸ مرداد ۱۳۹۹
۰
638
Elasticsearch چیست؟

Elasticsearch چیست؟ : سال ۲۰۱۰ که این محصول به نام Elasticsearch N.V منتشر و سپس به Elasticsearch شهرت یافت.Elasticsearch به مشهورترین موتور جستجو تبدیل شده و در مواردی مثل تحلیل لاگ، جستجوی Full-text، هوش امنیتی، تحلیل تجاری و هوش عملیاتی بیشترین استفاده را بین رقبای خودش داشته است.

کاربرد Elasticsearch چیست؟

برای جستجو امکان ترکیب و استفاده از انواع مختلف مانند داده های ساخت یافته، غیر ساخت یافته، geometric و… وجود دارد.جستجوی سریع و مؤثر در برابر حجم زیادی از داده‌ها
بسیار مقیاس پذیره و قابلیت اجرا روی یک لپ تاپ یا صدها سرور با داده های بسیاز زیاد را دارد. به منظور کنترل، نظارت و مدیریت API مورد نیاز رو در اختیار ما قرار میده و همچنین پایداری و انعطاف پذیری بالایی دارد و در هنگام بروز مشکلات سخت افزاری یا شبکه، خرابی رو تشخیص می دهد و کلاسترُ داده ی خودش رو حفط میکند تا قابل استفاده باشند. برای مسائل امنیتی امکان تعریف نام کاربری و کلمه عبور و همچنین اعمال مجوز و نقش در کلاستر وجود دارد.همچنین داده های تصویر سازی با Kibana

Elasticsearch چگونه کار می کند؟

نحوه کارکرد الستیک سرچ اینگونه است که شما با استفاده از یک API و یک موتور جمع آوری داده یا ابزارهایی برای تفسیر log مانند log stash وAmazon kinesis Firehose به راحتی می توان اطلاعات جمع آوری شده را در قالب یک فایل JSON به صورت مستقیم به Elasticsearch ارسال کرد.
Elasticsearch فایل اصلی و ارسال شده از سمت کاربر را ذخیره و به ایندکس کلاستر فایل، یک کلید که قابلیت جستجو را دارد اضافه می کند. بعد از این عمل می توان فایل ارسالی را با استفاده از API که از قبل برای Elasticsearch طراحی کرده اید، جستجو و سپس بازیابی کرد، همچنین می توان ازKibana (یک ابزار تصویر سازی متن باز(open source) است که به همراه Elasticsearchاطلاعات کاربر را تصویرسازی می کند و داشبوردهای تعاملی را ایجاد می کند) هم استفاده کرد.

مزایای نرم افزار Elasticsearch چیست؟

  • کارایی بالا هنگام استفاده از نرم افزار Elasticsearch
    توزیع بودن نرم افزار Elasticsearch سرچ باعث می شود تا حجم بسیار بالایی از داده ها را به صورت موازی پردازش کند و سریعاً بهترین جواب را در هنگام جستجو برای کاربر پیدا می کند. Kibana که ابزاری کاملاً مشهور در زمینه تصویری سازی و گزارش دهی است و به صورت یکپارچه با الستیک سرچ (Elasticsearch) استفاده می گردد. دو ابزار دیگر به نام های Beats و Logstash هم با نرم افزار الستیک سرچ یکپارچه است و امکان این را به کاربر می دهد تا به آسانی سورس کدهای خودش را تبدیل کرده و در کلاستر الستیک سرچ بارگذاری کند.
  • کمترین زمان مصرفی از زمان شروع کار تا پایان
    نرم افزار Elasticsearch، سعی می کند API های مبتنی بر REST ساده و یک رابط کاربری HTTP ارائه دهد و از فایل های JSON که کاملاً رایگان هم هست، استفاده کند. با این خصوصیات این نرم افزار برای شروع کار و تا زمان رسیدن به نتیجه کمترین زمان ممکن را طی می کند
  • توسعه ساده برنامه Elasticsearch
    نرم افزار Elasticsearch از زبان های متفاوتی مانند پایتون، جاوا، جاوا اسکریپت، PHP، Node.js، Ruby و… پشتیبانی می کند و به همین دلیل به سادگی می توان این برنامه را به علت متن باز بودنش رشد و توسعه داد.
  • عملیات Real Time
    عملیات الستیک سرچ مانند نوشتن و یا خواندن داده به طور معمول در کمتر از یک ثانیه زمان می برد و چنین سرعت بالایی این امکان را می دهد که از Elasticsearch در بیشترین فعالیت هایی که تقریباً به زمان های زیر یک ثانیه نیاز دارد مانند نرم افزارهای تشخیص خطا و یا نرم افزارهای مانیتورینگ، استفاده شود.
    .

نصب elasticsearch

در ابتدا می بایست نرم افزار فوق را از اینجا دانلود نمائید.پس از دانلود از حالت فشرده خارج کنید،سپس وارد مسیر نرم افزار شده و دستور ذیل را جهت اجرا وارد کنید.

./bin/elasticsearch

به صورت پیشفرض، الستیک سرچ روی IP و پورت ۱۲۷.۰.۰.۱:۹۲۰۰ قابلیت اجرایی و استفاده را دارد. لازم به ذکر است در نسخه ۵ به دلیل اینکه مسائل امنیتی امکان اجرای نرم افزار با یوزر ROOT وجود ندارد و برای اجرا کردن آن می بایست از یک نام کاربری دیگر استفاده کرد.در هنگام استفاده ممکن است خطایی معمول را دریافت کنید که در ذیل به مواردی اشاره می شود:

۱. خطای max file descriptors
راه حل: فایل limits.conf را در مسیر etc/security را با یک ویرایشگر باز کرده و دو خط زیر رو برای نام کاربری که elasticsearch رو با آن اجرا کردید را به انتهای فایل اضافه کنید:

username> hard nofile 65536 <username> soft nofile 65536>

۲. خطای max number of threads
راه حل: داخل ترمنیال با نام کاربری که تصمیم دارید elasticsearch رو با آن اجرا کنید لاگین شوید و قبل از اجرای خود elasticsearch دستور زیر رو اجرا کنید:

ulimit -u 2048

۳. خطای vm.max_map_count
راه حل: با یوزر root مقدار آن  را تغییر دهید:

sysctl -w vm.max_map_count=262144

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *