احسان رضایی

یک توسعه دهنده، شاید هم نه.

کتاب الگوهای طراحی به بیان ساده(design patterns/دیزاین پترن)

در مهندسی نرم افزار، design patterns(الگوهای طراحی) راه حل‌های قابل استفاده برای مشکلاتی هستند که معمولاً در طراحی نرم‌افزار اتفاق می افتند.

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



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

در big data , پایگاه داده , / تاریخ ارسال 1395/09/05 - 23:52 / 2 نظر / 5942 بازدید / آخرین ویرایش 1399/07/29 - 19:33
مهم!
از تاریخ انتشار این مطلب زمان زیادی میگذره و میدونیم در حرفه ما سرعت پیشرفت و توسعه چقدر زیاده. من این مطلب قدیمی رو پاک نکردم چون ممکنه همچنان برای شما مفید باشه اما به خاطر داشته باشید در حال حاضر شاید نسخه های جدید و تغییرات این نوشته رو از دور خارج کرده باشن.


elasticsearchelasticsearch، یک موتور جستجو و تحلیلگر توزیع شده است که با رابط کاربری وب(HTTP) و الگوی استاندارد JSON برای انتقال داده ها کار میکند. 

برای جستجو امکان ترکیب و استفاده از انواع مختلف مثل داده های ساخت یافته، غیر ساخت یافته، 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

 

 

پیشنهاد

ارسال نظر

مهداد در تاریخ 1399/02/04 - 10:23 نوشته
توی یک پاراگراف می خواستم بدونم elasticsearch چیه، چند تا سایت رو خوندم تا توی نوشته شما به جوابم رسیدم. کلی با اسم سایتت حال کردم (خندیدم) دولوپیت. یه سوال. مدتی به فکرم افتاده که سایت شخصی برای یادداشت برداری تجربیاتم درست کنم. نظر شما چیه؟ ممنون
رها در تاریخ 1399/02/08 - 23:09 نوشته
چرا کلمات تخصصی رو ترجمه میکنید اخه؟؟!!!
پاسخ احسان:

:))
کاملا درست میگی. من خودمم مخالف این موضوعم. مطلبی که خوندی قدیمی و جزو اولین تجربه های وبلاگ نویسی من هست.