نیک آموز > وبلاگ > مهندسی داده > تنظیمات پیکربندی حافظه YARN و MapReduce به همراه ۲ مثال عملی تنظیمات پیکربندی حافظه YARN و MapReduce به همراه ۲ مثال عملی مهندسی داده مسیر مهندسی داده نوشته شده توسط: امیرعلی میرزابیگی تاریخ انتشار: ۲۱ آذر ۱۴۰۲ آخرین بروزرسانی: 24 اسفند 1404 زمان مطالعه: 5 دقیقه ۴.۵ (۸) تنظیمات پیکربندی حافظه YARN و MapReduce یکی از مهمترین مراحل در بهینهسازی عملکرد کلاسترهای Apache Hadoop به شمار میرود. در محیطهای پردازش کلانداده، نحوه تخصیص منابعی مانند حافظه (RAM)، هستههای پردازنده و فضای دیسک میتواند تأثیر مستقیمی بر سرعت پردازش، پایداری سیستم و استفاده بهینه از منابع کلاستر داشته باشد. اگر این تنظیمات بهدرستی انجام نشوند، ممکن است بخشی از منابع سیستم بلااستفاده بمانند یا برعکس، پردازشها با کمبود منابع و کاهش کارایی مواجه شوند. ازاینرو آشنایی با اصول و فرمولهای تعیین اندازه Containerها و نحوه تخصیص حافظه در YARN و MapReduce برای مدیران سیستم و متخصصان داده اهمیت زیادی دارد. در این مقاله از نیک آموز، ابتدا مروری کوتاه بر Apache Hadoop و اجزای اصلی آن خواهیم داشت و سپس به بررسی نحوه تنظیمات پیکربندی حافظه YARN و MapReduce در کلاستر Hadoop میپردازیم. 💡 با شرکت در دوره Data Lakehouse مقدماتی، از مبانی ذخیرهسازی داده تا پردازش توزیعشده را گامبهگام و کاربردی آموزش ببینید. فهرست محتوایی Toggle Apache Hadoop چیست؟اجزای اصلی Apache HadoopHDFS) Hadoop Distributed File System)MapReduce(Yet Another Resource Negotiator) YARNHadoop Commonپیکربندی حافظه YARN و MapReduce چگونه است؟سخن پایانی تنظیمات پیکربندی حافظه YARN و MapReduceسوالات متداول تنظیمات پیکربندی حافظه YARN و MapReduce۱. تنظیمات پیکربندی حافظه YARN و MapReduce در کلاستر Hadoop چه اهمیتی دارد؟۲. YARN در معماری Hadoop چه نقشی دارد؟۳. Container در YARN چیست و چه کاربردی دارد؟۴. در تنظیمات پیکربندی حافظه YARN و MapReduce چه منابع سختافزاری باید بررسی شوند؟۵. Reserved Memory در کلاستر Hadoop به چه معناست؟۶. چگونه تعداد Containerها در یک Node محاسبه میشود؟۷. حداقل اندازه Container در تنظیمات پیکربندی حافظه YARN و MapReduce چگونه تعیین میشود؟۸. چگونه مقدار RAM برای هر Container محاسبه میشود؟۹. فایلهای پیکربندی YARN و MapReduce در Hadoop در کجا قرار دارند؟۱۰. تنظیمات پیکربندی حافظه YARN و MapReduce چه تأثیری بر عملکرد پردازش دادهها دارد؟ Apache Hadoop چیست؟ آپاچی هودوپ (Apache Hadoop) یک فریمورک متن باز است که برای فضای ذخیرهسازی توزیعشده و پردازش مجموعه دادههای وسیع طراحی شده است و بخشی از اکوسیستم Apache به حساب میآید. Apache Hadoop یک پلتفرم مقیاسپذیر، قابل اکتفا و متحمل خطا (Fault-Tolerant) برای کلان دادهها محسوب میشود. Apache Hadoop چیست؟ اجزای اصلی Apache Hadoop مهمترین کامپوننتهای Apache Hadoop به شرح زیر است: HDFS) Hadoop Distributed File System) HDFS یکی از پراهمیتترین اجزای اکوسیستم Hadoop محسوب میشود و وظیفه آن، ذخیرهسازی دادههای وسیع ساختاریافته و بدون ساختار در گرههای (Nodes) مختلف است. MetaData حاصل، در قالب فایلهای Log نگهداری میشوند. در عمل، HDFS فایلهای بزرگ را به بلوکهای کوچکتر تفکیک کرده و آنها را به گرههای موجود در یک کلاستر Hadoop توزیع میکند. چنین مشخصهای، پردازش موازی و تحمل خطا را امکانپذیر خواهد کرد. MapReduce MapReduce یک مدل برنامهنویسی و موتور پردازش است که برای محاسبات توزیعشده روی مجموعه دادههای گسترده مورد استفاده قرار میگیرد. MapReduce به توسعهدهندگان امکان نوشتن برنامههایی را میدهد که حجم وسیعی از دادهها را بهصورت موازی (Parallel) روی کلاستر Hadoop پردازش کند. این پردازش به دو فاز، Map (برای پردازش) و Reduce (برای خلاصهسازی) تقسیم میشود. (Yet Another Resource Negotiator) YARN YARN یک لایه مدیریت منابع برای Hadoop به حساب میآید و به کمک آن، چندین اپلیکیشن میتوانند منابع را روی یک خوشه کلاستر به اشتراک بگذارند. YARN، کار نظارت (Monitoring) و زمانبندی (Scheduling) توابع MapReduce و مدیریت منابع را ازهم جدا میکند و به سایر اپلیکیشنهای محاسبات توزیعشده، امکان اجرا در کنار MapReduce را میدهد. Hadoop Common Hadoop Common مواردی همچون ابزارها (Utilities)، کتابخانهها (Libraries) و API هایی را دربرمیگیرد که سایر ماژولهای Hadoop را پشتیبانی میکند. این کامپوننت، ابزارها و API هایی را شامل میشود که برای تسکهای رایج، ازجمله محاسبات توزیعشده، امنیت و مدیریت دادهها، به کار میروند. با این دید مقدماتی، در ادامه تنظیمات پیکربندی حافظه YARN و MapReduce و مفاهیم مربوطه پرداخته خواهد شد. 💡 چطور تسکهای مهندسی داده خود را درک کنیم؟ ۵ راهکار عملی! همین حالا قدم بردار و تسکهای دادهات را مثل یک متخصص تحلیل کن. ➡ پیکربندی حافظه YARN و MapReduce چگونه است؟ YARN تمام منابع موجود در هر ماشین را بهصورت Cluster درنظر میگیرد، سپس YARN با تخصیص Container ها، ظرفیت پردازش را برای هر برنامه فراهم میکند. Containerها، واحد اصلی ظرفیت پردازش در YARN و یک Encapsulation از عناصر (Ram ،CPU و…) هستند. در یک کلاستر Hadoop، لازم است یک حد تعادل بین استفاده از حافظه (RAM)، هستههای پردازنده (CPU cores) و دیسکها وجود داشته باشد تا پردازش توسط هیچ یک از این منابع کلاستر محدود نشود. بهعنوان یک توصیه کلی، اجازه دادن به دو Container در Disk و CPU، بهترین راه تعادل برای استفاده از کلاستر را فراهم میکند. هنگام تعیین پیکربندی حافظه YARN و MapReduce برای یک Cluster Node، از منابع سختافزاری موجود شروع کنید. بهطور خاص، به مقادیر زیر در هر node توجه کنید: مقدار RAM CPU (CPU Cores) تعداد Disk لازم است تمام RAM موجود برای YARN و MapReduce بهصورت رزرو شده در نظر گرفته شود. Reserved Memory RAM موردنیاز فرآیندهای سیستم و سایر فرآیندهای Hadoop مانند HBase است. Reserved Memory = Reserved for stack memory + Reserved for HBase memory (If HBase is on the same node) از جدول زیر برای تعیین Reserved Memory در هر Node استفاده کنید: توصیههای Reserved Memory توصیههای Reserved Memory تعیین تعداد حداکثر Container های مجاز در هر node، براساس فرمول زیر است: Containers = minimum of (2*CORES, 1.8*DISKS, (Total available RAM) / MIN_CONTAINER_SIZE) جایی که MIN_CONTAINER_SIZE حداقل اندازه کانتینر (در RAM) است. این مقدار، به مقدار RAM available بستگی دارد. در Node های حافظه کوچکتر، حداقل اندازه Container نیز باید کوچکتر باشد. جدول زیر، مقادیر توصیهشده را نشان میدهد: Container های مجاز در هر node محاسبه نهایی برای تعیین مقدار RAM در هر Container: RAM-per-Container = maximum of (MIN_CONTAINER_SIZE, (Total Available RAM) / Containers)) با این محاسبات، میتوان YARN و MapReduce را تنظیم کرد: تنظیمات مربوط به تخصیص منابع سخت حافظه (RAM) برای YARN و MapReduce براساس مشخصات سختافزاری، بهصورت زیر است: محاسبه نهایی برای تعیین مقدار RAM در هر Container توجه شود که پس از نصب، هر دو yarn-site.xml و mapred-site.xml در پوشه /etc/hadoop/conf قرار دارند. 💡 برای درک عمیقتر تسکهای واقعی، یادگیری اصولی در یک دوره مهندسی داده میتواند بهترین نقطه شروع شما باشد. ➡ مثال کلاستر داریم شامل: CPU: 12 cores RAM: 48 GIB Disk: 12 Reserved Memory = 6 GB reserved for system memory + (if HBase) 8 GB for HBase Min Container size = 2 GB اگر HBase نداریم: # Containers = minimum of (2*12, 1.8* 12, (48-6)/2) = minimum of (24, 21.6, 21) = 21 RAM-per-Container = maximum of (2, (48-6)/21) = maximum of (2, 2) = 2 بدون HBase اگر Hbase وجود داشته باشد: Containers = minimum of (2*12, 1.8* 12, (48-6-8)/2) = minimum of (24, 21.6, 17) = 17 RAM-per-Container = maximum of (2, (48-6-8)/17) = maximum of (2, 2) = 2 با Hbase سخن پایانی تنظیمات پیکربندی حافظه YARN و MapReduce YARN و MapReduce دو کامپوننت پراهمیت از Apache Hadoop تلقی میشوند. در این مطلب، تنظیمات پیکربندی حافظه YARN و MapReduce شرح داده شد. شما میتوانید با بهکارگیری YARN بهعنوان فریمورک مدیریت منابع و MapReduce به منظور پردازش مجموعه دادههای گسترده بهصورت موازی (در Node های مختلف)، از این اجزا به بهترین شکل بهرهمند شوید. سوالات متداول تنظیمات پیکربندی حافظه YARN و MapReduce ۱. تنظیمات پیکربندی حافظه YARN و MapReduce در کلاستر Hadoop چه اهمیتی دارد؟ تنظیمات پیکربندی حافظه YARN و MapReduce نقش مهمی در بهینهسازی عملکرد کلاستر Hadoop دارد. با تنظیم صحیح میزان حافظه، پردازنده و منابع دیگر، میتوان از حداکثر ظرفیت سختافزار استفاده کرد و پردازش دادههای حجیم را با سرعت و پایداری بیشتری انجام داد. ۲. YARN در معماری Hadoop چه نقشی دارد؟ YARN بهعنوان لایه مدیریت منابع در Hadoop عمل میکند و وظیفه تخصیص منابعی مانند RAM و CPU را بین برنامههای مختلف برعهده دارد. این سیستم با استفاده از Containerها امکان اجرای همزمان چندین پردازش را در کلاستر فراهم میکند. ۳. Container در YARN چیست و چه کاربردی دارد؟ Container واحد اصلی تخصیص منابع در YARN است که شامل مجموعهای از منابع مانند حافظه RAM و توان پردازشی CPU میشود. این ساختار باعث میشود هر برنامه در محیطی مشخص و با منابع تعیینشده اجرا شود. ۴. در تنظیمات پیکربندی حافظه YARN و MapReduce چه منابع سختافزاری باید بررسی شوند؟ برای انجام صحیح تنظیمات پیکربندی حافظه YARN و MapReduce باید منابعی مانند مقدار RAM، تعداد هستههای پردازنده (CPU Cores) و تعداد دیسکهای موجود در هر Node بررسی شوند تا تخصیص منابع بهصورت متعادل انجام شود. ۵. Reserved Memory در کلاستر Hadoop به چه معناست؟ Reserved Memory به بخشی از حافظه RAM گفته میشود که برای سیستمعامل و برخی سرویسهای Hadoop رزرو میشود. در صورتی که سرویسهایی مانند HBase روی همان Node اجرا شوند، مقدار بیشتری از حافظه برای این سرویسها در نظر گرفته میشود. ۶. چگونه تعداد Containerها در یک Node محاسبه میشود؟ تعداد Containerهای قابل اجرا در هر Node با در نظر گرفتن تعداد هستههای پردازنده، تعداد دیسکها و مقدار حافظه در دسترس محاسبه میشود. در این محاسبه کوچکترین مقدار حاصل از این منابع بهعنوان تعداد نهایی Containerها در نظر گرفته میشود. ۷. حداقل اندازه Container در تنظیمات پیکربندی حافظه YARN و MapReduce چگونه تعیین میشود؟ حداقل اندازه Container به مقدار حافظه در دسترس هر Node بستگی دارد. در Nodeهایی با حافظه کمتر، اندازه Container نیز باید کوچکتر در نظر گرفته شود تا بتوان از منابع به شکل بهینه استفاده کرد. ۸. چگونه مقدار RAM برای هر Container محاسبه میشود؟ برای تعیین مقدار RAM هر Container، حافظه قابل استفاده Node بر تعداد Containerها تقسیم میشود و سپس با حداقل اندازه Container مقایسه میشود تا مقدار نهایی حافظه اختصاصیافته مشخص شود. ۹. فایلهای پیکربندی YARN و MapReduce در Hadoop در کجا قرار دارند؟ پس از نصب Hadoop، فایلهای پیکربندی مربوط به تنظیمات حافظه YARN و MapReduce معمولاً در مسیر /etc/hadoop/conf قرار دارند و شامل فایلهایی مانند yarn-site.xml و mapred-site.xml هستند. ۱۰. تنظیمات پیکربندی حافظه YARN و MapReduce چه تأثیری بر عملکرد پردازش دادهها دارد؟ تنظیم صحیح این پیکربندی باعث میشود منابع کلاستر بهصورت متعادل بین پردازشها توزیع شوند. این موضوع به افزایش کارایی پردازشهای موازی، کاهش اتلاف منابع و بهبود عملکرد کلی سیستم Hadoop کمک میکند. 💡 برای آشنایی با مفاهیم بیشتر در حوزه داده و معماریهای داده مدرن، مقالات بعدی را دنبال کنید: ۷ نیاز مهندسی داده برای شرکتهای دادهمحور برای رشد! ۱۱ کاربرد لینوکس برای مهندسی داده که هر Data Engineer باید بداند! راه اندازی یک پروژه مهندسی داده برای تازه کاران مسیر راه یادگیری مهندسی داده چه رتبه ای میدهید؟ میانگین ۴.۵ / ۵. از مجموع ۸ اولین نفر باش دانلود مقاله تنظیمات پیکربندی حافظه YARN و MapReduce به همراه ۲ مثال عملی فرمت PDF 6 صفحه حجم 0/5 مگابایت دانلود مقاله معرفی نویسنده مقالات 2 مقاله توسط این نویسنده امیرعلی میرزابیگی معرفی محصول حسن احمدخانی دوره آنلاین Data Lakehouse مقدماتی طلایی55,750,000 تومان39,025,000 توماننقرهای15,750,000 تومان11,025,000 تومان مقالات مرتبط ۰۱ اسفند مهندسی داده تکامل معماریهای داده از Data Warehouse تا Data Lake و Data Lakehouse فرید طاهری ۰۴ مهر مهندسی داده معماری Data Lakehouse چیست و چگونه کار میکند؟ نگین فاتحی ۲۴ شهریور مهندسی داده ردیس چیست؟ راهنمای کامل Redis و معرفی ۱۰ نوع Data Type در آن نگین فاتحی ۱۸ شهریور مهندسی داده ۵ مرحله ساده برای تحلیل داده با ChatGPT و پایتون نگین فاتحی دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ