Email: info@developit.ir

elasticsearch چیست؟ آموزش نصب elasticsearch در لینوکس


elasticsearchelasticsearch، یک موتور جستجو و تحلیلگر توزیع شده است که برای تعامل با آن از restful api استفاده میکنیم.

قالب ارسال و دریافت اطلاعات در این موتور جستجو json میباشد.

اولین نسخه از elasticsearch در سال 2010 عرضه شد و در حال حاضر نسخه 5.0.1 آن هم در دسترس میباشد.

elasticsearch  با جاوا توسعه داده شده، یک پروژه متن باز است و تحت مجوز ASL منتشر شده.

 

برای جستجو امکان ترکیب و استفاده از انواع مختلفی مثل ساخت یافته، غیر ساخت یافته، geometric و... رو به ما میده.

از اونجایی که همه چیز رو داخل خودش index میکنه در کمترین زمان ممکن به درخواست ما پاسخ داده خواهد داد.

بسیار مقیاس پذیر است و قابلیت اجرا روی یک لپ تاپ یا صدها سرور با داده های بسیاز زیاد را دارد.

همچنین پایداری و انعطاف پذیری بالایی داره و در هنگام بروز مشکلات سخت افزاری یا شبکه، خرابی رو تشخیص میده و کلاسترُ داده ی خودش رو حفط میکنه تا قابل استفاده باشند.

همونطور که انتظار داریم اجرا شده و به خوبی کار خودش رو انجام میدهد.

به منظور کنترل، نظارت و مدیریت API مورد نیاز را در اختیار ما قرار میده.

کتابخانه های elasticsearch برای زبان های برنامه نویسی زیادی نوشته شده تا به وسیله ی این کتابخانه ها برنامه نویس بتونه ازش استفاده کنه.

برای مسائل امنیتی امکان تعریف نام کاربری و کلمه عبور و همچنین اعمال مجوز و نقش در کلاستر وجود داره.

و اگر دیتای زیادی داخل hadoop دارید میتونید یک موتور جستجو و تحلیلگر real time هم در کنارش داشته باشید. با استفاده از کتابخانه هایی که به این منظور پیاده سازی شده اند امکان اتصال elasticsearch به hadoop فراهم شده.

 

برای نصب elasticsearch ابتدا اون رو از elastic.co دانلود، داخل سرور خود قرار داده و از حالت فشرده خارج کنید...

وارد پوشه اون بشید و فایل اجرایی elasticsearch رو در مسیر bin اجرا کنید:

./bin/elasticsearch

به طور پیش فرض elasticsearch روی IP و پورت  127.0.0.1:9200 اجرا شده و قابل استفاده است.

توجه داشته باشید، در نسخه 5 به دلیل مسائل امنیتی امکان اجرای سرویس  elasticsearch با یوزر root وجود نداره پس از یک نام کاربری دیگه جهت اجرای اون استفاده کنید.

ممکن هست هنگام اجرای سرویس با سه خطای رایج زیر مواجه بشین:

1) خطای max file descriptors

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

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

2) خطای max number of threads

راه حل: داخل ترمنیال با نام کاربری که تصمیم دارید elasticsearch رو با اون اجرا کنید لاگین کرده و قبل از اجرای خود elasticsearch دستور زیر رو اجرا کنید:

ulimit -u 2048

3) خطای vm.max_map_count

راه حل: با یوزر root مقدار اون را تغییر میدیم:

sysctl -w vm.max_map_count=262144

 

 

این مطلب آخرین بار در تاریخ 10:10 - 1395/12/04 ویرایش شده است.

ارسال نظر
2 نظر
سجاد در تاریخ 21:55 - 1395/09/08 نوشته:
من دنبال همچین چیزی میگشتم ای کاش آموزش نصبش داخل ویندوز رو هم بگین یک دنیا ممنون

محمد در تاریخ 17:22 - 1395/09/06 نوشته:
خدا خیرتون بده مطالب سطح بالایی رو به اشتراک میذارید

عضویت در خبرنامه
جهت اطلاع از آخرین فعالیت های من لطفا در خبرنامه عضو شوید