خانه مهندسی داده تنظیمات پیکربندی حافظه YARN و MapReduce مهندسی داده مسیر مهندسی داده نوشته شده توسط: امیرعلی میرزابیگی تاریخ انتشار: ۲۱ آذر ۱۴۰۲ آخرین بروزرسانی: ۲۱ آذر ۱۴۰۲ زمان مطالعه: 5 دقیقه ۴.۴ (۷) تنظیمات پیکربندی حافظه YARN و MapReduce در کلاستر Hadoop اهمیت فراوانی دارد و لازم است فرآیند کانفیگ آن، بهدرستی انجام شود. در این مقاله، ابتدا Apache Hadoop و اجرای اصلی آن را معرفی و سپس به بررسی نحوه تنظیم پیکربندی حافظه YARN و MapReduce پرداخته خواهد شد. Apache Hadoop چیست؟ آپاچی هودوپ (Apache Hadoop) یک فریمورک متن باز است که برای فضای ذخیرهسازی توزیعشده و پردازش مجموعه دادههای وسیع طراحی شده است و بخشی از اکوسیستم Apache به حساب میآید. Apache Hadoop یک پلتفرم مقیاسپذیر، قابل اکتفا و متحمل خطا (Fault-Tolerant) برای کلان دادهها محسوب میشود. اجزای اصلی 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 تعیین تعداد حداکثر Container های مجاز در هر node، براساس فرمول زیر است: Containers = minimum of (2*CORES, 1.8*DISKS, (Total available RAM) / MIN_CONTAINER_SIZE) جایی که MIN_CONTAINER_SIZE حداقل اندازه کانتینر (در RAM) است. این مقدار، به مقدار RAM available بستگی دارد. در Node های حافظه کوچکتر، حداقل اندازه Container نیز باید کوچکتر باشد. جدول زیر، مقادیر توصیهشده را نشان میدهد: محاسبه نهایی برای تعیین مقدار RAM در هر Container: RAM-per-Container = maximum of (MIN_CONTAINER_SIZE, (Total Available RAM) / Containers)) با این محاسبات، میتوان YARN و MapReduce را تنظیم کرد: تنظیمات مربوط به تخصیص منابع سخت حافظه (RAM) برای YARN و MapReduce براساس مشخصات سختافزاری، بهصورت زیر است: توجه شود که پس از نصب، هر دو 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 وجود داشته باشد: 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 مروری بر تنظیمات پیکربندی حافظه YARN و MapReduce YARN و MapReduce دو کامپوننت پراهمیت از Apache Hadoop تلقی میشوند. در این مطلب، تنظیمات پیکربندی حافظه YARN و MapReduce شرح داده شد. شما میتوانید با بهکارگیری YARN بهعنوان فریمورک مدیریت منابع و MapReduce به منظور پردازش مجموعه دادههای گسترده بهصورت موازی (در Node های مختلف)، از این اجزا به بهترین شکل بهرهمند شوید. چه رتبه ای میدهید؟ میانگین ۴.۴ / ۵. از مجموع ۷ اولین نفر باش دانلود مقاله تنظیمات پیکربندی حافظه YARN و MapReduce فرمت PDF 6 صفحه حجم 0/5 مگابایت دانلود مقاله معرفی نویسنده مقالات 2 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده امیرعلی میرزابیگی معرفی محصول مجتبی بنائی دوره آموزش مهندسی داده [Data Engineering] 2.380.000 تومان مقالات مرتبط ۰۴ مهر مهندسی داده معماری Data Lakehouse چیست و چگونه کار میکند؟ نگین فاتحی ۲۴ شهریور مهندسی داده ردیس چیست و انواع آن کدامند؟ نگین فاتحی ۱۸ شهریور مهندسی داده مراحل ساده برای تحلیل داده با ChatGPT و پایتون نگین فاتحی ۱۰ شهریور مهندسی داده NoSQL چیست؟ هر آن چیزی که درباره پایگاه داده NoSQL باید بدانید تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ