برای بهبود کارایی برنامه Spark، نظارت بر عملکرد و رفتار آن ضروری است. در این پست، نحوه انتشار دقیق معیارهای Spark را نشان میدهیم آمازون EMR به CloudWatch آمازون. این به شما توانایی شناسایی تنگناها را در حین بهینه سازی استفاده از منابع می دهد.
CloudWatch یک راه حل نظارتی قوی، مقیاس پذیر و مقرون به صرفه برای منابع و برنامه های AWS با گزینه های سفارشی سازی قدرتمند و ادغام یکپارچه با سایر خدمات AWS ارائه می دهد. به طور پیش فرض، آمازون EMR ارسال می کند معیارهای اساسی به CloudWatch برای ردیابی فعالیت و سلامت یک خوشه. سیستم متریک قابل تنظیم Spark امکان جمعآوری معیارها را در انواع مختلفی از فایلهای HTTP، JMX، و CSV میدهد، اما برای فعال کردن Spark برای انتشار معیارها در CloudWatch، پیکربندی بیشتری لازم است.
بررسی اجمالی راه حل
این راه حل شامل پیکربندی Spark برای ارسال معیارها به یک سینک سفارشی است. سینک سفارشی فقط معیارهای تعریف شده در فایل Metricfilter.json را جمع آوری می کند. از عامل CloudWatch برای انتشار معیارها در فضای نام Cloudwatch سفارشی استفاده می کند. اسکریپت عمل بوت استرپ شامل نصب و پیکربندی عامل CloudWatch و کتابخانه متریک در ابر محاسبه الاستیک آمازون (Amazon EC2) موارد EMR. داشبورد CloudWatch می تواند بینش فوری در مورد عملکرد یک برنامه ارائه دهد.
نمودار زیر معماری راه حل و گردش کار را نشان می دهد.
گردش کار شامل مراحل زیر است:
- کاربران یک کار Spark EMR را شروع می کنند و یک مرحله در خوشه EMR ایجاد می کنند. با Apache Spark، حجم کار در گره های مختلف خوشه EMR توزیع می شود.
- در هر گره (نمونه EC2) خوشه، یک کتابخانه Spark دادههای متریک را جمعآوری کرده و به یک عامل CloudWatch میفرستد، که دادههای متریک را قبل از فشار دادن به CloudWatch جمعآوری میکند. هر ثانیه 30.
- کاربران می توانند معیارهای دسترسی به فضای نام سفارشی را در کنسول CloudWatch مشاهده کنند.
ما ارائه می دهیم AWS CloudFormation قالب در این پست به عنوان راهنمای کلی. این الگو نحوه پیکربندی یک عامل CloudWatch را در آمازون EMR نشان میدهد تا معیارهای Spark را به CloudWatch منتقل کند. میتوانید آن را در صورت نیاز بررسی و سفارشی کنید تا پیکربندیهای امنیتی آمازون EMR خود را نیز شامل شود. به عنوان بهترین روش، توصیه می کنیم پیکربندی های امنیتی آمازون EMR خود را در قالب قرار دهید رمزگذاری داده های در حال انتقال.
همچنین باید توجه داشته باشید که برخی از منابع به کار گرفته شده توسط این پشته زمانی که در حال استفاده باقی می مانند، هزینه هایی را متحمل می شوند. علاوه بر این، معیارهای EMR هزینه های CloudWatch را متحمل نشوید. با این حال، معیارهای سفارشی هزینههایی را بر اساس قیمتگذاری معیارهای CloudWatch تحمیل میکنند. برای اطلاعات بیشتر ببین قیمت آمازون CloudWatch.
در قسمت های بعدی مراحل زیر را طی می کنیم:
- کتابخانه متریک، اسکریپت نصب و تعریف فیلتر را ایجاد و آپلود کنید سرویس ذخیره سازی ساده آمازون سطل (Amazon S3).
- از الگوی CloudFormation برای ایجاد منابع زیر استفاده کنید:
- معیارهای Spark را در کنسول CloudWatch نظارت کنید.
پیش نیازها
این پست فرض می کند که شما موارد زیر را دارید:
- An حساب AWS.
- یک سطل S3 برای ذخیره اسکریپت بوت استرپ، کتابخانه و تعریف فیلتر متریک.
- یک VPC ایجاد شده در ابر خصوصی مجازی آمازون (Amazon VPC)، جایی که خوشه EMR شما راه اندازی خواهد شد.
- نقش های پیش فرض سرویس IAM برای مجوزهای آمازون EMR به خدمات و منابع AWS. می توانید این نقش ها را با دستور aws emr create-default-roles در قسمت ایجاد کنید رابط خط فرمان AWS (AWS CLI).
- یک جفت کلید اختیاری EC2، اگر قصد دارید به جای اینکه از طریق SSH به خوشه خود متصل شوید مدیر جلسه، قابلیتی از مدیر سیستم های AWS.
معیارهای مورد نیاز را تعریف کنید
برای جلوگیری از ارسال داده های غیر ضروری به CloudWatch، راه حل ما یک فیلتر متریک را پیاده سازی می کند. بررسی کنید مستندات جرقه برای آشنایی با فضاهای نام و معیارهای مرتبط با آنها. تعیین کنید که کدام معیارها با اهداف خاص برنامه و عملکرد شما مرتبط هستند. برنامه های مختلف بسته به حجم کار، نیازهای پردازش داده ها و اهداف بهینه سازی ممکن است به معیارهای مختلفی برای نظارت نیاز داشته باشند. نامهای متریکی که میخواهید نظارت کنید باید در فایل Metricfilter.json به همراه فضاهای نام مرتبط با آنها تعریف شوند.
ما نمونهای از تعریف Metricfilter.json ایجاد کردهایم که شامل گرفتن معیارهای مربوط به ورودی/خروجی داده، جمعآوری زباله، حافظه و فشار CPU، و معیارهای Spark job، stage و task است.
توجه داشته باشید که معیارهای خاصی در همه نسخههای انتشار Spark در دسترس نیستند (به عنوان مثال، وضعیت برنامه در Spark 3.0 معرفی شد).
فایل های مورد نیاز را در یک سطل S3 ایجاد و آپلود کنید
برای اطلاعات بیشتر، نگاه کنید به بارگذاری اشیاء و نصب و اجرای عامل CloudWatch بر روی سرورهای خود.
برای ایجاد و آپلود اسکریپت بوت استرپ، مراحل زیر را انجام دهید:
- در کنسول آمازون S3، سطل S3 خود را انتخاب کنید.
- بر اشیاء برگه ، انتخاب کنید بارگذاری.
- را انتخاب کنید اضافه کردن فایل، سپس گزینه را انتخاب کنید Metricfilter.json, installer.shو examplejob.sh فایل های.
- علاوه بر این، آپلود کنید
emr-custom-cw-sink-0.0.1.jar
فایل کتابخانه متریک که با نسخه انتشار آمازون EMR که استفاده می کنید مطابقت دارد: - را انتخاب کنید بارگذاری، و URI های S3 را برای فایل ها یادداشت کنید.
منابع را با الگوی CloudFormation تهیه کنید
را انتخاب کنید Stack را راه اندازی کنید برای راه اندازی یک پشته CloudFormation در حساب خود و استقرار الگو:
این الگو یک نقش IAM، نمایه نمونه IAM، خوشه EMR و داشبورد CloudWatch ایجاد می کند. خوشه یک پایه را شروع می کند نمونه برنامه Spark. اگر پشته ای از این الگو ایجاد کنید، برای منابع AWS استفاده شده صورتحساب دریافت خواهید کرد.
جادوگر CloudFormation از شما می خواهد که این پارامترها را تغییر دهید یا ارائه دهید:
- InstanceType - نوع نمونه برای همه گروه های نمونه پیش فرض m5.2xlarge است.
- InstanceCountCore - تعداد موارد در گروه نمونه اصلی. پیش فرض 4 است.
- EMRRleaseLabel - برچسب انتشار آمازون EMR می خواهید استفاده کنید پیش فرض emr-6.9.0 است.
- BootstrapScriptPath – مسیر S3 اسکریپت بوت استرپ نصب installer.sh که قبلاً کپی کرده اید.
- MetricFilterPath – مسیر S3 تعریف Metricfilter.json که قبلاً کپی کردهاید.
- MetricsLibraryPath – مسیر S3 کتابخانه CloudWatch emr-custom-cw-sink-0.0.1.jar که قبلاً کپی کردهاید.
- CloudWatchNamespace – نام فضای نام سفارشی CloudWatch که باید استفاده شود.
- SparkDemoApplicationPath – مسیر S3 اسکریپت examplejob.sh که قبلاً کپی کردهاید.
- زیرشبکه – زیرشبکه EC2 که در آن خوشه راه اندازی می شود. شما باید این پارامتر را ارائه دهید.
- EC2KeyPairName – یک جفت کلید اختیاری EC2 برای اتصال به گره های خوشه ای، به عنوان جایگزینی برای Session Manager.
معیارها را مشاهده کنید
پس از استقرار موفقیت آمیز پشته CloudFormation، کار مثال به طور خودکار شروع می شود و تقریباً 15 دقیقه طول می کشد تا تکمیل شود. در کنسول CloudWatch، را انتخاب کنید داشبورد در صفحه ناوبری سپس لیست را با پیشوند SparkMonitoring فیلتر کنید.
داشبورد نمونه شامل اطلاعات مربوط به خوشه و نمای کلی از کارهای Spark، مراحل و وظایف است. معیارها نیز تحت یک فضای نام سفارشی با شروع در دسترس هستند EMRCustomSparkCloudWatchSink
.
حافظه، CPU، I/O، و معیارهای توزیع وظیفه اضافی نیز گنجانده شده است.
در نهایت، معیارهای دقیق جمع آوری زباله جاوا به ازای هر مجری در دسترس است.
پاک کردن
برای جلوگیری از هزینههای آتی در حسابتان، منابعی را که در این راهنمای ایجاد کردهاید حذف کنید. تا زمانی که خوشه فعال است، دسته EMR هزینه هایی را متحمل می شود، پس وقتی کارتان تمام شد آن را متوقف کنید. مراحل زیر را کامل کنید:
- در کنسول CloudFormation، در قسمت ناوبری، را انتخاب کنید پشته.
- پشته ای را که راه اندازی کردید انتخاب کنید (
EMR-CloudWatch-Demo
، سپس انتخاب کنید حذف. - سطل S3 را خالی کنید شما ایجاد کردید
- سطل S3 را حذف کنید شما ایجاد کردید
نتیجه
اکنون که مراحل این راهنما را تکمیل کردهاید، عامل CloudWatch روی میزبانهای کلاستر شما اجرا میشود و به گونهای پیکربندی شده است که معیارهای Spark را به CloudWatch منتقل کند. با استفاده از این ویژگی، میتوانید سلامت و عملکرد Spark Jobs خود را که در آمازون EMR اجرا میشوند، بهطور مؤثر کنترل کنید، مسائل مهم را در زمان واقعی شناسایی کنید و به سرعت علل اصلی را شناسایی کنید.
شما می توانید این راه حل را از طریق یک الگوی CloudFormation مانند این الگوی مثال، بسته بندی و استقرار دهید، که نقش نمایه نمونه IAM، داشبورد CloudWatch و خوشه EMR را ایجاد می کند. کد منبع برای کتابخانه در دسترس است GitHub برای سفارشی سازی
برای پیشبرد این موضوع، استفاده از این معیارها را در هشدارهای CloudWatch در نظر بگیرید. شما می توانید آنها را با آلارم های دیگر در یک جمع آوری کنید زنگ کامپوزیت یا اقدامات هشدار مانند ارسال را پیکربندی کنید سرویس اطلاع رسانی ساده آمازون اعلانهای (Amazon SNS) برای راهاندازی فرآیندهای رویداد محور مانند AWS لامبدا توابع.
درباره نویسنده
لو کلو لوبه مهندس اصلی در AWS است. او با بزرگترین مشتریان سازمانی ما کار می کند تا برخی از پیچیده ترین مشکلات فنی آنها را حل کند. او راهحلهای گستردهای را از طریق نوآوری برای تأثیرگذاری و بهبود زندگی مشتریانمان هدایت میکند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. خودرو / خودروهای الکتریکی، کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- ChartPrime. بازی معاملاتی خود را با ChartPrime ارتقا دهید. دسترسی به اینجا.
- BlockOffsets. نوسازی مالکیت افست زیست محیطی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/big-data/monitor-apache-spark-applications-on-amazon-emr-with-amazon-cloudwatch/
- :است
- :نه
- :جایی که
- 1
- 100
- 107
- ٪۱۰۰
- 20
- 30
- 9
- a
- توانایی
- دسترسی
- حساب
- آشنا شد
- در میان
- عمل
- اقدامات
- فعال
- فعالیت
- اضافی
- علاوه بر این
- عامل
- هشدار
- معرفی
- اجازه می دهد تا
- در امتداد
- همچنین
- جایگزین
- آمازون
- آمازون EC2
- آمازون EMR
- آمازون خدمات وب
- an
- و
- آپاچی
- جرقه آپاچی
- کاربرد
- برنامه های کاربردی
- تقریبا
- معماری
- معماری
- هستند
- AS
- مرتبط است
- فرض می کند
- At
- نویسنده
- بطور خودکار
- در دسترس
- اجتناب از
- مطلع
- AWS
- مستقر
- اساسی
- BE
- قبل از
- بهترین
- خود راه انداز
- پهن
- اما
- by
- CAN
- قابلیت
- جلب
- ضبط
- علل
- معین
- بار
- را انتخاب کنید
- خوشه
- رمز
- جمع آوری
- مجموعه
- جمع می کند
- کامل
- تکمیل شده
- پیچیده
- محاسبه
- پیکر بندی
- پیکربندی
- اتصال
- اتصال
- در نظر بگیرید
- کنسول
- هسته
- مطابقت دارد
- مقرون به صرفه
- هزینه
- میتوانست
- پردازنده
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- بحرانی
- سفارشی
- مشتریان
- سفارشی سازی
- سفارشی
- داشبورد
- داده ها
- پردازش داده ها
- به طور پیش فرض
- مشخص
- تعریف
- نشان دادن
- نشان می دهد
- بستگی دارد
- گسترش
- مستقر
- مستقر می کند
- دقیق
- مشخص کردن
- مختلف
- توزیع شده
- توزیع
- انجام شده
- آیا
- درایو
- هر
- پیش از آن
- به طور موثر
- بهره وری
- قادر ساختن
- مهندس
- سرمایه گذاری
- مشتریان سازمانی
- ضروری است
- اتر (ETH)
- مثال
- ویژگی
- پرونده
- فایل ها
- فیلتر
- پیروی
- برای
- از جانب
- توابع
- بیشتر
- آینده
- سوالات عمومی
- دریافت کنید
- دادن
- Go
- اهداف
- گروه
- گروه ها
- راهنمایی
- آیا
- he
- سلامتی
- میزبان
- چگونه
- چگونه
- اما
- HTML
- HTTP
- HTTPS
- IAM
- شناسایی
- شناسایی
- if
- نشان می دهد
- نشان دادن
- تأثیر
- پیاده سازی می کند
- بهبود
- in
- شامل
- مشمول
- شامل
- از جمله
- اطلاعات
- ابداع
- بینش
- نصب و راه اندازی
- نصب کردن
- نمونه
- فوری
- ادغام
- به
- معرفی
- مسائل
- IT
- ITS
- جاوه
- کار
- شغل ها
- json
- کلید
- بزرگترین
- راه اندازی
- راه اندازی
- راه اندازی
- کتابخانه
- زندگی
- پسندیدن
- لاین
- فهرست
- طولانی
- مدیر
- ممکن است..
- حافظه
- متری
- متریک
- دقیقه
- تغییر
- مانیتور
- نظارت بر
- بیش
- اکثر
- باید
- نام
- نام
- جهت یابی
- ضروری
- بعد
- گره
- گره
- توجه داشته باشید
- اخطار
- اطلاعیه ها
- عدد
- اهداف
- of
- on
- فقط
- بهینه سازی
- بهینه سازی
- گزینه
- or
- دیگر
- ما
- مروری
- بسته
- جفت
- قطعه
- پارامتر
- پارامترهای
- مسیر
- برای
- کارایی
- مجوز
- برنامه
- افلاطون
- هوش داده افلاطون
- PlatoData
- تصویر
- پست
- قوی
- تمرین
- فشار
- قیمت گذاری
- اصلی
- خصوصی
- مشکلات
- فرآیندهای
- در حال پردازش
- مشخصات
- ارائه
- فراهم می کند
- منتشر کردن
- فشار
- هل می دهد
- هل دادن
- به سرعت
- نسبتا
- واقعی
- زمان واقعی
- توصیه
- مربوط
- آزاد
- مربوط
- ماندن
- نیاز
- ضروری
- مورد نیاز
- منابع
- بهره برداری از منابع
- منابع
- مسئوليت
- این فایل نقد می نویسید:
- تنومند
- نقش
- نقش
- ریشه
- در حال اجرا
- مقیاس پذیر
- بدون درز
- بخش
- بخش
- تیم امنیت لاتاری
- دیدن
- ارسال
- در حال ارسال
- می فرستد
- سرویس
- خدمات
- جلسه
- باید
- ساده
- So
- راه حل
- مزایا
- حل
- برخی از
- منبع
- کد منبع
- جرقه
- خاص
- پشته
- صحنه
- مراحل
- شروع
- راه افتادن
- شروع می شود
- گام
- مراحل
- توقف
- ذخیره سازی
- زیر شبکه
- موفقیت
- چنین
- خلاصه
- سیستم
- سیستم های
- گرفتن
- طول می کشد
- کار
- وظایف
- فنی
- قالب
- نسبت به
- که
- La
- منبع
- شان
- آنها
- سپس
- اینها
- آنها
- این
- از طریق
- زمان
- به
- مسیر
- ماشه
- زیر
- استفاده کنید
- استفاده
- با استفاده از
- استفاده می کند
- تنوع
- نسخه
- چشم انداز
- مجازی
- خرید
- می خواهم
- بود
- we
- وب
- خدمات وب
- چه زمانی
- که
- در حین
- اراده
- با
- گردش کار
- با این نسخهها کار
- X
- یامل
- شما
- شما
- زفیرنت