این تعهد متعلق به هیچ شعبه ای در این مخزن نیست و ممکن است متعلق به یک چنگال در خارج از مخزن باشد.
شاخه ها/برچسب ها را تغییر دهید برچسب های شاخه شاخه ها را بارگیری نکرد چیزی برای نشان دادن برچسب ها را بارگیری نکرد چیزی برای نشان دادن
نام در حال استفاده
یک برچسب در حال حاضر با نام شاخه ارائه شده وجود دارد. بسیاری از دستورات GIT نام برچسب و شاخه را می پذیرند ، بنابراین ایجاد این شاخه ممکن است باعث رفتار غیر منتظره شود. آیا مطمئن هستید که می خواهید این شاخه را ایجاد کنید؟
لغو ایجاد رمز
https github cli با استفاده از URL وب از Git یا Checkout با SVN استفاده کنید. با CLI رسمی ما سریع کار کنید. بیشتر بدانید.
ورود به سیستم لازم
لطفاً برای استفاده از برنامه های کد وارد سیستم شوید.
راه اندازی دسک تاپ GitHub
اگر هیچ اتفاقی نمی افتد ، دسک تاپ GitHub را بارگیری کنید و دوباره امتحان کنید.
راه اندازی دسک تاپ GitHub
اگر هیچ اتفاقی نمی افتد ، دسک تاپ GitHub را بارگیری کنید و دوباره امتحان کنید.
راه اندازی Xcode
اگر هیچ اتفاقی نمی افتد ، Xcode را بارگیری کنید و دوباره امتحان کنید.
راه اندازی کد ویژوال استودیو
فضای کد شما یک بار آماده خواهد شد.
مشکلی برای تهیه فضای کدگذاری شما وجود داشت ، لطفاً دوباره امتحان کنید.
آخرین تعهد
96C3D6B 12 مارس 2023 96C3D6B
آمار git
فایل ها
بارگیری آخرین اطلاعات متعهد انجام نشد.
نوع نام آخرین پیام تعهد زمان متعهد شدن رمز
readme. md
کنترل کروز برای آپاچی کافکا
Cruise Control محصولی است که به اجرای خوشه های Apache Kafka در مقیاس بزرگ کمک می کند. با توجه به محبوبیت Apache Kafka ، بسیاری از شرکت ها خوشه های کافکا بزرگتر و بزرگتر دارند. در LinkedIn ، ما داریم~کارگزاران 7k+ kafka ، این بدان معنی است که مرگ و میر کارگزار تقریباً روزانه است و متعادل کردن بار کاری کافکا نیز به یک سربار بزرگ تبدیل می شود.
کنترل کروز Kafka برای رسیدگی به این مسئله مقیاس پذیری عملکرد طراحی شده است.
Kafka Cruise Control ویژگی های زیر را از جعبه فراهم می کند:
- ردیابی استفاده از منابع برای کارگزاران ، موضوعات و پارتیشن ها.
- از حالت خوشه فعلی کافکا برای دیدن پارتیشن های آنلاین و آفلاین ، ماکت های درون همگام و خارج از همگام سازی ، ماکت های زیر min. insync. replicas ، logdirs آنلاین و آفلاین و توزیع ماکت ها در خوشه استفاده کنید.
- تولید پیشنهادی چند فلزی برای:
- رکاب آگاهی
- بررسی نقض ظرفیت منابع (پردازنده ، دیسک ، شبکه I/O)
- بررسی تخلف از ماکت برای هر کارگزار
- تعادل استفاده از منابع (CPU ، دیسک ، شبکه I/O)
- توزیع ترافیک رهبر
- توزیع ماکت برای موضوعات
- توزیع جهانی ماکت
- توزیع ماکت رهبر جهانی
- اهداف سفارشی که نوشتید و به آن وصل شده اید
- نقض هدف
- تشخیص عدم موفقیت کارگزار
- تشخیص ناهنجاری متریک
- تشخیص خرابی دیسک (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- تشخیص کارگزار آهسته (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- کارگزاران را اضافه کنید
- کارگزاران را بردارید
- کارگزاران
- خوشه را دوباره تعادل دهید
- ماکت های آفلاین را برطرف کنید (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- انتخابات رهبر ترجیحی (PLE)
- ماکت های آفلاین را برطرف کنید
- عامل تکثیر را تنظیم کنید
- شاخه MIGRATE_TO_KAFKA_2_5 کنترل کروز با Apache Kafka 2. 5 (یعنی انتشار با 2. 5.*) ، 2. 6 (یعنی انتشار با 2. 5. 11+) ، 2. 7 (یعنی انتشار با 2. 5. 36+) ، 2. 8 (یعنی انتشار با 2. 5. 66+) ، 3. 0 (یعنی انتشار با 2. 5. 85+) و 3. 1 (یعنی انتشار با 2. 5. 85+).
- شاخه MIGRATE_TO_KAFKA_2_4 کنترل کروز با Apache Kafka 2. 4 سازگار است (یعنی انتشار با 2. 4.*).
- شاخه KAFKA_2_0_TO_2_3 (مستهلک) کنترل کروز با Apache Kafka 2. 0 ، 2. 1 ، 2. 2 و 2. 3 سازگار است (یعنی انتشار با 2. 0.*).
- شعبه KAFKA_0_11_AND_1_0 (مستهلک) کنترل کروز با Apache Kafka 0. 11. 0. 0 ، 1. 0 و 1. 1 سازگار است (یعنی انتشار با 0. 1.*).
- شاخه پیش فرض فعلی کنترل کروز MIGRATE_TO_KAFKA_2_4 است.
- Message. Format. Version 0. 10. 0 و بالاتر مورد نیاز است.
- شاخه های KAFKA_2_0_TO_2_3 و KAFKA_0_11_1_1_0 با Scala 2. 11 کامپایل می شوند.
- شعبه مهاجرت کرده است_TO_KAFKA_2_4 با Scala 2. 12 کامپایل می کند.
- شعبه MIGRATE_TO_KAFKA_2_5 کامپایل با Scala 2. 13.
- این پروژه به جاوا 11 نیاز دارد.
مسائل سازگاری شناخته شده
- پشتیبانی از Apache Kafka 2. 0 ، 2. 1 ، 2. 2 و 2. 3 به Hotfix KAFKA-8875 نیاز دارد.
- کنترل کروز را دریافت کنید
- (گزینه 1): از طریق کلون git
- git کلون https://github.com/linkedin/cruise-control. git && cd cruise-control/
- (گزینه 2): از طریق مرور نسخه های موجود:
- برای انتخاب نسخه-https://github.com/linkedin/cruise-control/releases را مرور کنید-به عنوان مثال. 0. 1. 10
- دریافت و استخراج نسخه: wget https://github.com/linkedin/cruise-control/archive/0. 1. 10. tar. gz && tar zxvf 0. 1. 10. tar. gz && cd cruise-control-0. 1. 10/
- repo محلی را آغاز کنید: git init && git اضافه کنید.&& git commi t-m "init repo محلی".&& git ta g-a 0. 1. 1 0-m "نسخه محلی اولیه."
- ./gradlew jar (توجه: این پروژه به جاوا 11 نیاز دارد)
- کپی کنید. برای Apache Kafka ، پوشه می تواند هسته/ ساخت/ وابسته-libs-scala_version/ (برای پرداخت منبع Kafka) یا LIBS/ (برای بارگیری نسخه Kafka) باشد.
- پیکربندی سرور Kafka را برای تنظیم متریک. reporters به com. linkedin. kafka. cruisecontrol. metricsreporter. cruisecontrolmetricsreporter اصلاح کنید. برای Apache Kafka ، خصوصیات سرور در ./config/server. properties قرار دارد.
- اگر SSL فعال است ، اطمینان حاصل کنید که تنظیمات مشتری مربوطه به درستی برای همه کارگزاران در ./config/server. properties تنظیم شده است. توجه داشته باشید که CruiseControlMetricsReporter تمام تنظیمات مربوط به وانیل Kafkaproducer را با پیشوند Cruise. control. Metrics. Reporter می گیرد.-- به عنوان مثال. Cruise. Control. Metrics. Reporter. ssl. TrustStore. Password.
- اگر خط مشی پاکسازی کارگزار پیش فرض جمع و جور است ، اطمینان حاصل کنید که موضوعی که گزارشگر Metrics Cruise Metrics برای ارسال پیام با خط مشی پاکسازی ایجاد می شود - موضوع گزارشگر پیش فرض معیارهای پیش فرض __cruisecontrolmetrics است.
- (مورد نیاز) bootstrap. servers و zookeeper را پر کنید.
- (مورد نیاز) ظرفیت. config. file را به مسیر پرونده ظرفیت خود بروزرسانی کنید.
- پرونده ظرفیت یک فایل JSON است که ظرفیت کارگزاران را فراهم می کند
- شما می توانید سرور کنترل کروز را با پرونده پیش فرض (Config/CapitalJBOD. JSON) شروع کنید ، اما ممکن است ظرفیت واقعی کارگزاران را منعکس نکند
- برای کسب اطلاعات بیشتر و مثال های بیشتر به تنظیمات BrokerCapacityConfigurationFileresolver مراجعه کنید
./gradlew jar copydependantlibs ./kafka-cruise-control-start. sh [-jars path_to_your_jar_1 ، path_to_your_jar_2] پیکربندی/cruisecontrol. properties [پورت]
- (توجه داشته باشید) برای انتشار معیارهای کنترل کروز JMX در یک درگاه خاص (به عنوان مثال 56666) ، Export JMX_PORT = 56666 قبل از اجرای Kafka-Cruise-Control-start. sh
توجه داشته باشید :
- کنترل کروز برای خواندن معیارهای خام کافکا از خوشه به مدتی نیاز دارد.
- معیارهای یک کارگزار تازه به تازگی ممکن است چند دقیقه طول بکشد تا پایدار شود. کنترل کروز معیارهای متناقض را کاهش می دهد (به عنوان مثال وقتی بایت های موضوع بالاتر از بایت های کارگزار است) ، بنابراین ممکن است چند ویندوز اول پارتیشن های معتبر کافی نداشته باشند.
Cruise Control یک API REST را برای تعامل کاربران فراهم می کند. برای اطلاعات بیشتر به صفحه ویکی مراجعه کنید.
چگونه کار می کند
Cruise Control برای بهینه سازی خوشه به اطلاعات بار اخیر ماکت ها متکی است.
کنترل کروز به طور دوره ای نمونه های استفاده از منابع را در هر دو کارگزار و پارتیشن جمع می کند تا الگوی ترافیک هر پارتیشن را استنباط کند. بر اساس ویژگی های ترافیک و توزیع کلیه پارتیشن ها ، تأثیر بار هر پارتیشن بر روی کارگزاران را به دست می آورد. Cruise Control سپس یک مدل بار کار را برای شبیه سازی بار کاری خوشه کافکا می سازد. بهینه ساز هدف روشهای مختلفی را برای تولید پیشنهادات بهینه سازی بار کار خوشه ای بر اساس لیست مشخص شده توسط کاربر بررسی می کند.
کنترل کروز همچنین بر زندگی همه کارگزاران در خوشه نظارت می کند. برای جلوگیری از از بین رفتن افزونگی ، کنترل کروز به طور خودکار ماکت ها را از کارگزاران شکست خورده به سمت زنده ها منتقل می کند.
برای اطلاعات بیشتر در مورد چگونگی دستیابی به کنترل کروز ، این اسلایدها را ببینید.
تنظیمات برای کنترل کروز
برای مطالعه بیشتر در مورد تنظیمات. صفحه ویکی پیکربندی ها را بررسی کنید.
اطلاعات بیشتر در مورد اجزای pluggable را می توان در صفحه ویکی اجزای pluggable یافت.
نمونه متریک کاربران را قادر می سازد کنترل کروز را در محیط های مختلف مستقر کنند و با سیستم های متریک موجود همکاری کنند.
Cruise Control یک گزارشگر معیارهایی را ارائه می دهد که می تواند در سرور Apache Kafka شما پیکربندی شود. گزارشگر Metrics معیارهای عملکرد را به یک موضوع معیارهای کافکا تولید می کند که می تواند با کنترل کروز مصرف شود.
فروشگاه نمونه ذخیره سازی نمونه های متریک جمع آوری شده و نمونه های آموزش را در یک ذخیره خارجی امکان پذیر می کند.
نمونه گیری متریک از داده های مشتق شده از معیارهای خام استفاده می کند و صحت داده های مشتق شده به ابرداده خوشه در آن نقطه بستگی دارد. از این رو ، وقتی به معیارهای قدیمی نگاه می کنیم ، اگر ابرداده را در نقطه ای که متریک جمع آوری شده است نمی دانیم ، داده های مشتق شده دقیق نخواهند بود. Sample Store با ذخیره کردن داده های مشتق شده به طور مستقیم در یک ذخیره خارجی برای بارگیری بعدی ، به حل این مشکل کمک می کند.
اجرای پیش فرض نمونه فروشگاه نمونه های متریک را به کافکا تولید می کند.
اهداف موجود در کنترل کروز با اولویت های مختلف قابل انعطاف است. اهداف پیش فرض به منظور کاهش اولویت عبارتند از:
- Rackawaregoal - تضمین می کند که تمام ماکت های هر پارتیشن به روشی آگاهانه آگاهانه اختصاص داده می شوند - یعنی بیش از یک ماکت از هر پارتیشن در همان قفسه ساکن نیست.
- RackawaredIstributionGoal - نسخه ای آرام از Rackawaregoal. برخلاف Rackawaregoal ، تا زمانی که ماکت های هر پارتیشن بتوانند به یک توزیع کاملاً یکنواخت در قفسه ها برسند ، این هدف اجازه می دهد تا چندین ماکت از یک پارتیشن را در یک قفسه واحد قرار دهد.
- mintopicleadersperbrokergoal - تضمین می کند که هر کارگزار زنده حداقل تعداد مشخصی از ماکت رهبر هر موضوع را در مجموعه ای از موضوعات پیکربندی کرده است
- ReplicacapacityGoal - تضمین می کند که حداکثر تعداد ماکت در هر کارگزار تحت حداکثر حد مشخص است.
- DiskCapacityGoal - تضمین می کند که استفاده از فضای دیسک از هر کارگزار زیر یک آستانه معین است.
- NetworkInboundCapacityGoal - تضمین می کند که استفاده از شبکه ورودی از هر کارگزار زیر یک آستانه معین است.
- NetworkOutboundCapacityGoal - تضمین می کند که استفاده از شبکه برون مرزی از هر کارگزار زیر یک آستانه معین است.
- cpucapacitygoal - تضمین می کند که استفاده از CPU از هر کارگزار زیر یک آستانه معین است.
- ReplicaDistributionGoal - تلاش برای ساختن همه کارگزاران در یک خوشه ، تعداد مشابهی از ماکت دارند.
- PotesityNwoutGoal - اطمینان می دهد که خروجی بالقوه شبکه (هنگامی که تمام ماکت موجود در کارگزار رهبر می شوند) در هر یک از کارگزاران از ظرفیت پهنای باند شبکه کارگزار تجاوز نمی کنند.
- DiskUsagedIstributionGoal - تلاش برای حفظ واریانس استفاده از فضای دیسک در بین کارگزاران در یک محدوده خاص نسبت به میانگین استفاده از دیسک.
- NetworkInboundUsagedIstributeGoal - تلاش برای حفظ واریانس استفاده از شبکه ورودی در بین کارگزاران در یک محدوده خاص نسبت به میانگین استفاده از شبکه ورودی.
- NetworkOutboundUsagedIstributeGoal - تلاش برای حفظ واریانس استفاده از شبکه برون مرزی در بین کارگزاران در یک محدوده خاص نسبت به میانگین استفاده از شبکه برون مرزی.
- CPUUSAGEDISTRIBATEGOAL - تلاش برای حفظ واریانس استفاده از CPU در بین کارگزاران در یک محدوده خاص نسبت به متوسط استفاده از CPU.
- رهبری ReplicadistributionGoal - تلاش برای ساختن همه کارگزاران در یک خوشه ، تعداد مشابهی از ماکت های رهبر را دارند.
- LeaderByTesIndistributionGoal - تلاش می کند تا بایت های رهبر را در هر میزبان برابر کند.
- TimeReplicadistributionGoal - تلاش برای توزیع یکنواخت از پارتیشن های هر موضوع در کل خوشه.
- preferredleaderelectiongoal - به سادگی رهبران را به سمت اولین ماکت هر پارتیشن سوق دهید.
- kafkaassignerdiskusagedistributeGoal - (حالت kafk a-assigner) تلاش می کند تا مصرف دیسک را به طور مساوی در بین کارگزاران بر اساس مبادله توزیع کند.
- intrabrokerdiskcapacitygoal - (حالت regalanc e-disk ، در شاخه kafka_0_11_and_1_0 در دسترس نیست) اطمینان می دهد که استفاده از فضای دیسک از هر دیسک زیر یک آستانه معین است.
- IntrabrokerDiskUsageDistributeGoal - (حالت regalanc e-disk ، در شاخه kafka_0_11_and_1_0 در دسترس نیست) تلاش می کند تا واریانس استفاده از فضای دیسک را در بین دیسک ها در یک محدوده خاص نسبت به متوسط استفاده از دیسک کارگزار نگه دارد.
نوتیکر ناهنجاری به کاربران اجازه می دهد تا هنگام تشخیص ناهنجاری به آنها اطلاع داده شود. ناهنجاری ها عبارتند از:
- شکست
- نقض هدف
- ناهنجاری
- خرابی دیسک (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- کارگزاران آهسته (در شعبه kafka_0_11_and_1_0 در دسترس نیستند)
- آنومالی فاکتور تکثیر موضوع (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- ناهنجاری اندازه پارتیشن موضوع (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
- رویدادهای نگهداری (در شعبه kafka_0_11_and_1_0 در دسترس نیست)
علاوه بر اعلان های ناهنجاری ، کاربران می توانند با تبدیل خود درمانی برای آشکارسازهای ناهنجاری مربوطه ، اقدامات را در پاسخ به ناهنجاری انجام دهند. آشکارسازهای ناهنجاری چندگانه با استفاده از مکانیسم های کاهش مجزا در هماهنگی کار می کنند. اقدامات آنها به طور گسترده در دسته های زیر قرار می گیرد:
- رفع - بلافاصله مشکل را برطرف کنید (به عنوان مثال شروع به تعادل ، رفع ماکت های آفلاین)
- بررسی کنید - پس از تأخیر قابل تنظیم ، دوباره وضعیت را بررسی کنید (به عنوان مثال قبل از رفع خرابی کارگزار ، یک دوره فیض را اتخاذ کنید)
- نادیده بگیرید - ناهنجاری را نادیده بگیرید (به عنوان مثال خود درمانی غیرفعال است)
در باره
Cruise-Control اولین کسی است که به طور کامل به طور کامل تعادل کار پویا و بهبودی یک خوشه کافکا را به طور کامل خودکار می کند. این کار با ساده سازی عملکرد خوشه های کافکا ارزش بسیار خوبی را برای کاربران کافکا فراهم می کند.
پلتفرم های تجاری...
ما را در سایت پلتفرم های تجاری دنبال می کنید
برچسب :
نویسنده : مریم کاویانی
بازدید : <-PostHit->
تاريخ : جمعه
9 تير
1402 ساعت: 11:56