نگهداری Data Center بر اساس Big Data

0
227

در عصر Big Data، داده‌ها تبدیل به فاکتور جدید در تولید محصول شده‌اند. در طول بهره برداری و نگهداری Data Center داده‌های عملیاتی باارزش جمع آوری شده اند. چگونه به شکل موثری داده‌های کلان جمع آوری شده را در فرایند بهره برداری و نگهداری، آنالیز و مدیریت نماییم تا مشکلاتی را که با دستورالعمل های اتوماتیک قابل حل نبودند حل نماییم، سطح مدیریت دیتاسنتر را بهبود ببخشیم و دیتاسنتر را قادر سازیم تا سرویس های بهتری را در صنایع Enterprise با چالشهای روزافزونی که کاربران با حجم گسترده داده‌ها دارند، ارائه نمایند.

بعنوان مثال طراحی و پیاده سازی سیستم آنالیز و نگهداری log در این مقاله معرفی می گردد.

مقدمه

10 سال گذشته مرحله مهمی برای پیشرفت جهش اطلاعاتی بوده است. تولید سیستم‌های نرم افزاری به سرعت توسعه یافت و میزان عملگرها، اطلاعات، بهره برداری، مدیریت و… نیازهای اصلی شرکت ها و مشاغل را برآورده كرده است. با تعمیق ساخت و ساز اطلاعاتی، برنامه های جدید به تدریج افزایش یافته و میزان سخت افزارها مانند تجهیزات اتاق، زیرساخت شبکه، سرورها و سیستم عامل های cloud به طرز چشمگیری افزایش یافته است. پلتفرم‌های نرم افزار مانند سیستم های اپلیکیشن، پایگاه های داده، سرورهای اپلیکیشن و میان افزار به طور فزاینده ای پیچیده شده اند و خدمات گسترده ای برای کاربران به وجود آمد. به منظور نگهداری از تجهیزات سخت افزاری و سیستم های نرم افزاری که همواره در حال اضافه شدن است، DataCenter ها نیاز به ایجاد یک سیستم کارایی و نگهداری فناوری اطلاعات کارآمد، منظم و استاندارد برای اطمینان از عملکرد ایمن و مطمئن سیستم های سخت افزاری و سیستم های کاربردی دارد. بنابراین، با کمک مدیریت پیشرفته، ایجاد یک سیستم مدیریت عملکرد و نگهداری فناوری اطلاعات برای ارائه خدمات با کیفیت عالی است.

در عصر Big Data، استفاده کارآمد از منابع، نظیر log ها، اطلاعات نظارتی و اطلاعات اپلیکیشن‌ها در Data Center کلید دستیابی به مزایای رقابتی شرکت ها خواهد بود. تحلیل‌های Big Data فرایندی است که از زوایای پنهان غیر قابل استخراج به دست می‌آیند اما اطلاعات مفید بدست آمده بصورت رندوم و اغلب ناقص و ناخالص می‌باشند.

در این مقاله “نگهداری و بهره‌برداری از آنالیز سیستم log” ​​بر اساس Big Data می تواند به طور موثر مشکلات کارایی و بار نظارت بر آنالیز رفتاری کاربر و خدمات اشکال زدایی غیرعادی را که کارکنان Data Center در استفاده از سیستم با آن روبرو هستند، حل کند.

طراحی و اجرای سیستم تحلیل log مبتنی بر HADOOP

در حال حاضر، اکثر سیستم های تحلیل log قادر به تأمین نیازهای فعلی از نظر عملکرد و ظرفیت ذخیره سازی داده های عظیم نیستند. به منظور پاسخگویی به نیازهای تجزیه و تحلیل Big Data، این مقاله یک سیستم تحلیل گزارش عملکرد و نگهداری کارآمد را بر اساس Hadoop طراحی کرده است.

  1. A. طراحی کلی سیستم

لایه های Hadoop Cluster سخت افزار مورد نیاز را برای تحلیل log های حجیم که بر اساس آن لایه file storage، لایه business logic، لایه calculation model ارائه شده است، فراهم می‌آورد. business logic سیستم عمدتا از چهار قسمت تشکیل شده است: گرد‌آوری log، پردازش مقدماتی log، ایندکس استاتیک log، بیرون کشیدن log. لایه business logic درخواست های کاربر را دریافت می کند و لایه compute model را برای آنالیز دیتای ذخیره شده در فایل سیستم HDFS، فراخوانی می کند. معماری کلی سیستم در شکل 1 نشان داده شده است.

B.طراحی دقیق و پیاده سازی سیستم

1)عملیات ذخیره سازی log

در خلال ارائه راه حل، HDFS از ذخیره داده های خام log و داده های تمیز (clean) log استفاده کرده است. از آنجا که پایگاه داده رابطه ای برای تجسم سیستم برنامه مناسب است، از MySQL برای ذخیره نتیجه آنالیز دیتای خروجی HDFS استفاده شده است. HDFS از توان عملیاتی بالا و تحمل خطا برخوردار است، که می تواند امنیت ذخیره سازی انبوه داده ها و توان بالای مورد نیاز برای پردازش مقدماتی کل مجموعه داده ها را تضمین کند. اگرچه HDFS به عنوان یک سرور data source برای ذخیره مقدار زیادی از داده ها عمل می کند، log فایل‌ها با فرمت های مختلف برای سرورهای مختلف تولید می شوند. در این مرحله، ذخیره این انواع ناهمگن داده ها به طور مستقیم بر روی HDFS برای تجزیه و تحلیل آماری آسان نیست. بنابراین، از دیتا ورهاوس Hive می توان به جای HDFS مستقیماً برای ذخیره سازی داده استفاده کرد. داده های موجود در پایگاه رابطه ای خارجی را می توان با استفاده از Sqoop به دیتا ورهاوس Hive وارد کرد. پس از تجزیه و تحلیل، نتایج را می توان با استفاده از Sqoop برای نمایش بصری سیستم بهره برداری و نگهداری به پایگاه داده رابطه ای صادر کرد.

2) عملیات گردآوری log

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

3) عملیات پیش پردازش log

به منظور انجام بهتر ایندکس استاتیک و استخراج دیتا از سرور log، استانداردسازی از ساختار دیتا در حالت پیشرفته میتواند آنالیز دیتا را بطرز موثری با حذف داده‌های ناقص بهبود ببخشد. سیستم پیش پردازش متداول log ، نمیتواند نیازهای محاسباتی و ذخیره‌سازی را در برابر افزایش دیتا برآورده سازد. بنابراین، طراحی ماژول پیش پردازش ورود به سیستم موازی مبتنی بر MapReduce نه تنها مشکل ذخیره داده را حل می کند، بلکه پردازش را نیز تسریع می کند. فرآیند پیش پردازش داده ها در شکل 2 نشان داده شده است.

شکل 2. نمودار جریان پیش پردازش داده ها

4) عملکرد آماری ایندکس log

آمار ایندکس، درواقع آماری از بازدیدهای صفحه، تعداد IP های مستقل و ماژول سیستم‌های عمومی از log های پیش پردازش شده است. از طریق این شاخص ها، DataCenter می تواند عملکرد سیستم اپلیکیشن را بهتر درک کند و استراتژی های خدمات را براساس تعداد کاربران، گستردگی توزیع آنها و درنظر گرفتن اولویت بندی‌ها، بهتر تدوین کند. فایل‌های خروجی به HDFS در مرحله پیش پردازش، با جداکننده های سطر و ستون مشخص شده، و با کمک Hive به جدول پایگاه داده بطور استاندارد نگاشت میگردد. بنابراین، پلتفرم Hadoop میتواند با Hive ترکیب شده و ایندکس استاتیک کامل گردد.

داده ها پس از پیش پردازش در HDFS ذخیره می شوند، بنابراین لازم است قبل از آمار به دیتا ورهاوس Hive ایمپورت شوند. Hive برای جمع آوری داده های روزانه اعمال می شود و جداول پارتیشن خارجی ایجاد می کند، دیتای روزانه یک پارتیشن را اشغال می‌کند. در جدول اول نتایج آماری ایندکس پیش پردازش ذخیره می شود.

5) عملیات واکاوی log

این سیستم با هدف تحلیل گروهی از کاربران ثبت شده و نتایج تحلیل را بر روی سیستم نگهداری اعمال می کند تا سرویس‌های شخصی به کاربران ارائه دهد. الگوریتم k-means موازی سازی MapReduce برای آنالیز کاربران ثبت شده، استفاده می شود.

فرآیند دسته‌بندی الگوریتم K-means در شکل 3 در زیر نشان داده شده است.

شکل 3. فرآیند خوشه بندی الگوریتم K-means.

در شکل پنج نقطه وجود دارد: A ، B ، C ، D و E. نقاط خاکستری نقطه ای برای یافتن مرکز گروه است. فرض بر این است که دو گروه از نقاط وجود دارد، و مقدار k در آن 2 است.

سپس فرایند اجرای الگوریتم به شرح زیر است:

  • به طور تصادفی k نقاط مرکزی را انتخاب کنید (k = 2 در شکل).
  • فاصله تمام نقاط نمودار را از نقاط مرکز k محاسبه کنید و آنها را در نزدیکترین نقاط مرکزی طبقه بندی کنید. (پس از فرآیند محاسبه شکلهای 1 تا 2 ، A و B به نقطه مرکزی بالا و C ، D و E به نقطه مرکز پایین تر محدود می شوند).
  • موقعیت نقطه مرکزی را به روز کرده و نقطه مرکزی جدید را به مرکز گروه منتقل کنید.
  • مراحل 2 و 3 را تکرار کنید تا نقطه مرکزی دیگر به طور قابل توجهی حرکت نکند. (در شکل 5 ، A ، B و C به عنوان یک گروه نقطه ای دسته بندی می شوند، در حالی که D و E به عنوان یک گروه نقطه ای دیگر جمع می شوند)

هنگامی که الگوریتم k-means موازی می شود، لازم است که نحوه اختصاص وظایف محاسباتی به چارچوب محاسبات MapReduce را در نظر بگیرید. تابع Map برای کارهای فشرده محاسباتی مناسب است، بنابراین اجازه دهید فاصله بین مجموعه نمونه و هر نقطه مرکزی را محاسبه کند و نمونه را با کمترین فاصله به عنوان نقطه مرکزی طبقه بندی کند. تابع Reduce مقدار متوسط ​​هر صفت را برای همان خروجی نمونه گروه مشابه توسط تابع Map محاسبه می کند و نتیجه محاسبه به عنوان نقطه مرکز گروه تکرار بعدی استفاده می شود. هر تکرار یک کار جدید است. فرآیند محاسبه MapReduce دوباره اجرا می شود و نقطه مرکزی خروجی تابع Reduce تکرار قبلی به عنوان نقطه مرکزی اولیه تابع Map که به تازگی راه اندازی شده گرفته می شود. قبل از ارسال یک کار تکرار شونده، لازم است که تعیین کنید آیا تغییر در نقطه مرکزی گروه خروجی عملکرد کاهش از آستانه کمتر است و اگر تغییر کمتر از آستانه تعیین شده باشد، تکرار را متوقف کنید. نمودار جریان الگوریتم در شکل 4 نشان داده شده است.

شکل 4. فرآیند کاهش موازی سازی الگوریتم خوشه بندی k-means

فریم‌ورک محاسبات MapReduce تعداد متناظر وظایف نقشه را در چندین گره از خوشه ها با توجه به تعداد بلوک های پرونده شروع می کند. فرض بر این است که تعداد وظایف نقشه p، تعداد تکرار t و پیچیدگی زمانی الگوریتم k-means پس از بهبود موازی است.

O (n ´ k ´ t/ p).

وقت گیرترین قسمت محاسبه الگوریتم k-means برای پردازش به هر گره محاسباتی خوشه اختصاص می یابد که کل روند خوشه بندی را تسریع می کند.

آزمون و نتایج تجزیه و تحلیل نتایج (LOG ANALYSIS SYSTEM SYSTEM)

ما ثبت اصلی سیستم برنامه A را به عنوان مثال در نظر می گیریم، پیش پردازش گزارش را انجام می دهیم و آن را در فهرست ذخیره سازی ایجاد شده توسط فرمان سیستم پرونده Hadoop ذخیره می کنیم. جمع آوری گزارش، پیش پردازش ورود به سیستم و آمار فهرست توسط یک اسکریپت لینوکس تکمیل می شود و نتایج آماری توسط Sqoop به پایگاه داده MySQL وارد می شود. داده های گزارش شده به داده های جدید تولید شده هر روز و همه داده های قبلی تقسیم می شوند. داده های جدید به صورت تدریجی وارد می شوند و داده های قدیمی به طور کامل وارد می شوند. ما با استفاده از روش واردات کامل، یک ماه تجزیه و تحلیل آماری روی داده های گزارش (4.6 گیگابایت) را انجام می دهیم و نماهای ورود به سیستم از قبل پردازش شده، نرخ پرش، تعداد IP های مستقل و محبوبیت ماژول های سیستم را بدست می آوریم.

بازدید از صفحه مجموع بازدید از همه صفحات یک سیستم برنامه است که نشان دهنده علاقه و توجه کاربران به سیستم برنامه است. درصدی است که با تقسیم تعداد بازدید از یک صفحه و تعداد کل بازدید به دست می آید. هرچه نرخ گزاف گویی کمتر باشد، کاربر علاقه بیشتری به سیستم برنامه دارد. نتایج آماری نشان می دهد که سیستم برنامه برای یک ماه از 47،762،200 بازدید می کند، با نرخ پرش 4.31٪ تعداد IP های مستقل مجموع IP های منحصر به فرد در گزارش آماری است که شاخص مهمی برای اندازه گیری تأثیر ارتقا برنامه است. همان آدرس IP بدون در نظر گرفتن تعداد دفعات دسترسی به آن یک بار شمارش می شود و شماره IP مستقل آن 207908 است. محبوبیت ماژول منعکس کننده تنظیمات عملکردی کاربران با استفاده از سیستم است. DataCenter می تواند طرح و بهینه سازی عملکردهای سیستم را برای کاربران مختلف با توجه به ترجیحات کاربر شخصی سازی کند و از دسترسی سیستم در دوره های مختلف به منظور انعکاس اولویت زمان کاربر برای استفاده از سیستم، استفاده کرده و بدین ترتیب هدف تنظیم پویا منابع سیستم را بر اساس دوره های زمانی 3 ، 4 و 5 نقطه مرکزی برای ورود به سیستم انتخاب شدند و تجزیه و تحلیل خوشه بندی 20 بار برای یک ماه داده (4.6 گیگابایت) تکرار شد. همانطور که در شکل 5 در زیر نشان داده شده است، از مقدار متوسط ​​به عنوان نتیجه نهایی خوشه بندی استفاده شده است.

شکل 5. نتایج خوشه بندی کاربر.

در شکل، مختصات نشان دهنده درصد کاربران متعلق به نقطه مرکزی است. هنگامی که تعداد مختلفی از نقاط مرکزی برای خوشه بندی انتخاب می شوند، نتایج متفاوتی بدست می آید. علاوه بر این، زمان اجرای الگوریتم نیز در هنگام انتخاب همان تعداد نقاط مرکزی برای خوشه بندی متفاوت است، زیرا نقاط مرکزی k اولیه تصادفی هستند، که در تعداد تکرارها تأثیر خواهد داشت. اما نتیجه نهایی خوشه بندی الگوریتم یکسان است.

به منظور آزمایش کارایی اجرای سیستم، برنامه MapReduce که پیش پردازش log را پیاده سازی می کند، در یک بسته jar بسته بندی شده و در خوشه بارگذاری می شود. اسکریپت system_init.sh برای تکمیل پیش پردازش داده های ورود به سیستم شش ماه گذشته (24.6 گیگابایت)، سه ماه (14.3 گیگابایت)، یک ماه (4.6 گیگابایت)، نیم ماه (2.1 گیگابایت) و یک هفته (875 مگابایت) استفاده می شود و وظایف تجزیه و تحلیل آماری را فهرست بندی کنید. پس از آزمایش های مکرر، نتایج در حال اجرا ثابت می مانند، که ثابت می کند سیستم از پایداری و قابلیت اطمینان بالایی برخوردار است. سپس، از سیستم مستقل برای انجام تجزیه و تحلیل آماری شاخص روی مجموعه داده های همان اندازه استفاده شد. زمان اجرا شده توسط سیستم در هر دو محیط در جدول 1 نشان داده شده است.

جدول I. زمان پردازش آماری شاخص

Data size Run time taken by the stand-alone system run time taken by the cluster system
24.6GB 3723.8 302.5
14.3GB 1809.1 203.4
4.6GB 589.7 99.6
2.1GB 182.6 66.4
875MB 34.9 51.8

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

هنگامی که مقدار داده ها به طور قابل توجهی افزایش یابد، مزایای خوشه های Hadoop آشکارتر می شوند. هنگامی که حجم داده از 2G بیشتر باشد، خوشه به طور قابل توجهی سریعتر از سیستم مستقل است. به طور خاص، هنگامی که حجم داده از 4.6 گیگابایت به 14.3 گیگابایت افزایش می یابد، سه برابر افزایش می یابد، اما زمان خوشه فقط دو برابر افزایش می یابد، در حالی که زمان پردازش سیستم مستقل مشترک سه برابر افزایش می یابد، که هرچه حجم داده بیشتر باشد، بازده عملکرد خوشه بالاتر است.

نتیجه گیری

نتایج آزمون و تجزیه و تحلیل “سیستم تجزیه و تحلیل ورود به سیستم مبتنی بر Hadoop” نشان می دهد که DataCenter با تجزیه و تحلیل و استخراج گزارش های عملیات و نگهداری می تواند عملکرد سیستم برنامه را بهتر درک کند. این سیستم می تواند با توجه به مقیاس، توزیع و اولویت کاربران، استراتژی خدمات بهتری ایجاد کند، که پشتیبانی فنی برای ساخت مرکز عملیات و نگهداری خدمات گرا و ارائه خدمات با کیفیت بالا را فراهم می کند. علاوه بر این، log mining از الگوریتم بهبود یافته K-means برای خوشه بندی کاربران ثبت شده در بستر MapReduce استفاده می کند که باعث بهبود کارایی الگوریتم هنگام پردازش داده های عظیم می شود.