Zephyrnet Logosu

AWS ProServe Hadoop Migration Delivery Kit TCO aracını derinlemesine inceleyin

Tarih:

Yayında AWS ProServe Hadoop Migration Delivery Kit TCO aracıyla tanışın, AWS ProServe Hadoop Migration Delivery Kit (HMDK) TCO aracını ve şirket içi Hadoop iş yüklerini şuraya taşımanın avantajlarını tanıttık: Amazon EMR'si. Bu gönderide, TCO'yu hesaplamak için günlük alımı, dönüşüm, görselleştirme ve mimari tasarımdan tüm adımlardan geçerek aracı derinlemesine inceleyeceğiz.

Çözüme genel bakış

HMDK TCO aracının temel özelliklerini kısaca ziyaret edelim. Araç, YARN günlüklerini toplamak üzere Hadoop Resource Manager'a bağlanmak için bir YARN günlük toplayıcı sağlar. YARN günlük analizcisi adı verilen Python tabanlı bir Hadoop iş yükü analizcisi, Hadoop uygulamalarını inceler. Amazon QuickSight panolar, analizörden alınan sonuçları gösterir. Aynı sonuçlar gelecekteki EMR bulut sunucularının tasarımını da hızlandırır. Ek olarak, bir TCO hesaplayıcısı, geçişi kolaylaştırmak için optimize edilmiş bir EMR kümesinin TCO tahminini oluşturur.

Şimdi aracın nasıl çalıştığına bakalım. Aşağıdaki diyagram, uçtan uca iş akışını göstermektedir.

Sonraki bölümlerde, aracın beş ana adımını inceleyeceğiz:

  1. YARN iş geçmişi günlüklerini toplayın.
  2. İş geçmişi günlüklerini JSON'dan CSV'ye dönüştürün.
  3. İş geçmişi günlüklerini analiz edin.
  4. Geçiş için bir EMR kümesi tasarlayın.
  5. TCO'yu hesaplayın.

Önkoşullar

Başlamadan önce, aşağıdaki ön koşulları tamamladığınızdan emin olun:

  1. klonlamak hadoop-geçiş-değerlendirme-tco deposu.
  2. Python 3'ü yerel makinenize kurun.
  3. İznine sahip bir AWS hesabına sahip olun AWS Lambda, QuickSight (Enterprise sürümü) ve AWS CloudFormation.

YARN iş geçmişi günlüklerini toplayın

İlk olarak, bir İPLİK günlük toplayıcı, yerel makinenizde start-collector.sh. Bu adım, Hadoop YARN günlüklerini toplar ve günlükleri yerel makinenize yerleştirir. Komut dosyası, yerel makinenizi Hadoop birincil düğümüne bağlar ve Kaynak Yöneticisi ile iletişim kurar. Ardından, YARN ResourceManager uygulama API'sini çağırarak iş geçmişi bilgilerini (uygulama yöneticilerinden YARN günlükleri) alır.

YARN günlük toplayıcısını çalıştırmadan önce, YARN ResourceManager'ın ve etkin YARN Zaman Çizelgesi Sunucusunun (Zaman Çizelgesi Sunucusu v8088 veya üstü desteklenir) erişilebilirliğini doğrulamak için bağlantıyı (HTTP: 8090 veya HTTPS: 1; ikincisi önerilir) yapılandırmanız ve kurmanız gerekir. ). YARN günlüklerinin toplama aralığını ve saklama politikasını tanımlamanız gerekebilir. Ardışık YARN günlüklerini topladığınızdan emin olmak için, günlük toplayıcıyı uygun bir zaman aralığında programlamak için bir cron işi kullanabilirsiniz. Örneğin, 2,000 günlük uygulama içeren ve yarn.resourcemanager.max-completed-applications ayarı 1,000 olarak ayarlanmış bir Hadoop kümesi için teorik olarak, tüm YARN günlüklerini almak için günlük toplayıcıyı en az iki kez çalıştırmanız gerekir. Ayrıca, bütünsel iş yüklerini analiz etmek için en az 7 günlük YARN günlükleri toplamanızı öneririz.

Günlük toplayıcının nasıl yapılandırılacağı ve programlanacağı hakkında daha fazla ayrıntı için bkz. yarn-log-collector GitHub deposu.

YARN iş geçmişi günlüklerini JSON'dan CSV'ye dönüştürün

YARN günlüklerini aldıktan sonra, JSON tabanlı günlükleri CSV dosyalarına dönüştürmek için bir ayrıştırıcı olan yarn-log-organizer.py adlı bir YARN günlük düzenleyicisini çalıştırırsınız. Bu çıktı CSV dosyaları, YARN günlük çözümleyicisinin girdileridir. Ayrıştırıcı, olayları zamana göre sıralama, ayrılanları kaldırma ve birden çok günlüğü birleştirme gibi başka yeteneklere de sahiptir.

YARN günlük düzenleyicisinin nasıl kullanılacağı hakkında daha fazla bilgi için bkz. yarn-log-organizer GitHub deposu.

YARN iş geçmişi günlüklerini analiz edin

Daha sonra, YARN günlüklerini CSV formatında analiz etmek için YARN günlük çözümleyicisini başlatırsınız.

QuickSight ile, YARN günlük verilerini görselleştirebilir ve önceden oluşturulmuş pano şablonları ve bir pencere öğesi tarafından oluşturulan veri kümelerine karşı analiz yapabilirsiniz. Widget, bir CloudFormation şablonunda yapılandırılan hedef AWS hesabında otomatik olarak QuickSight panoları oluşturur.

Aşağıdaki diyagram, HMDK TCO mimarisini göstermektedir.

YARN günlük analizcisi dört temel işlevsellik sağlar:

  1. Dönüştürülmüş YARN iş geçmişi günlüklerini CSV formatında yükleyin (örneğin, cluster_yarn_logs_*.csv) Ile Amazon Basit Depolama Hizmeti (Amazon S3) paketleri. Bu CSV dosyaları, YARN günlük düzenleyicisinin çıktılarıdır.
  2. Bir bildirim JSON dosyası oluşturun (örneğin, yarn-log-manifest.json) QuickSight için ve S3 klasörüne yükleyin:
    { "fileLocations": [ { "URIPrefixes": [ "s3://emr-tco-date-bucket/yarn-log/demo/logs/"] } ], "globalUploadSettings": { "format": "CSV", "delimiter": ",", "textqualifier": "'", "containsHeader": "true" } }

  3. YAML formatındaki bir CloudFormation şablonunu kullanarak QuickSight panolarını devreye alın. Dağıttıktan sonra, yığının durumunu şu şekilde görene kadar yenile simgesini seçin: CREATE_COMPLETE. Bu adım, AWS hedef hesabınızdaki QuickSight panolarında veri kümeleri oluşturur.
  4. QuickSight panosunda, çeşitli grafiklerden analiz edilen Hadoop iş yüklerinin içgörülerini bulabilirsiniz. Bu içgörüler, bir sonraki adımda gösterildiği gibi geçiş hızlandırma için gelecekteki EMR örneklerini tasarlamanıza yardımcı olur.

Geçiş için bir EMR kümesi tasarlama

YARN günlük analiz aracının sonuçları, mevcut sistemdeki gerçek Hadoop iş yüklerini anlamanıza yardımcı olur. Bu adım, geçiş için gelecekteki EMR örneklerinin tasarlanmasını hızlandırır. Excel şablonu. Şablon, iş yükü analizi ve kapasite planlaması yapmak için bir kontrol listesi içerir:

  • Cluster üzerinde çalışan uygulamalar mevcut kapasitelerine uygun olarak kullanılıyor mu?
  • Küme belirli bir zamanda yük altında mı, değil mi? Eğer öyleyse, zaman ne zaman?
  • Kümede ne tür uygulamalar ve motorlar (MR, TEZ veya Spark gibi) çalışıyor ve her tür için kaynak kullanımı nedir?
  • Farklı işlerin çalıştırma döngüleri (gerçek zamanlı, toplu, ad hoc) tek bir kümede mi çalışıyor?
  • Düzenli toplu işler halinde çalışan işler var mı ve öyleyse, bu zamanlama aralıkları nelerdir? (Örneğin her 10 dakikada bir, 1 saatte, 1 günde bir.) Uzun bir süre boyunca çok fazla kaynak kullanan işleriniz mi var?
  • Herhangi bir işin performans iyileştirmesine ihtiyacı var mı?
  • Kümeyi tekelleştiren belirli kuruluşlar veya bireyler var mı?
  • Tek bir kümede çalışan karma geliştirme ve operasyon işleri var mı?

Kontrol listesini tamamladıktan sonra, geleceğin mimarisini nasıl tasarlayacağınızı daha iyi anlayacaksınız. EMR kümesi maliyet etkinliğini optimize etmek için aşağıdaki tablo, uygun EMR kümesi türünün seçilmesi ve Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) ailesi.

Uygun küme tipini ve bulut sunucusu ailesini seçmek için, çeşitli kriterlere dayalı olarak YARN günlüklerine karşı birkaç tur analiz gerçekleştirmeniz gerekir. Bazı temel ölçümlere bakalım.

Tarihçesi

Bir zaman penceresinde çalıştırılan Hadoop uygulamalarının sayısına göre iş yükü modellerini bulabilirsiniz. Örneğin, "Başlangıç ​​Zamanına Göre Kayıt Sayısı" günlük veya saatlik grafikler aşağıdaki bilgileri sağlar:

  • Günlük zaman serisi grafiklerinde, çalışma günleri ile tatil günleri ve takvim günleri arasındaki uygulama çalıştırma sayısını karşılaştırırsınız. Sayıların benzer olması, kümenin günlük kullanımlarının karşılaştırılabilir olduğu anlamına gelir. Öte yandan, sapma büyükse, geçici işlerin oranı anlamlıdır. Ayrıca, belirli günlerde olası haftalık veya aylık işleri de anlayabilirsiniz. Durumda, iş yükü yoğunluğunun yüksek olduğu bir hafta veya bir ay içindeki belirli günleri kolayca görebilirsiniz.
  • Saatlik zaman serisi çizelgelerinde, uygulamaların saatlik pencerelerde nasıl çalıştırıldığını daha iyi anlarsınız. Bir gün içinde yoğun ve yoğun olmayan saatleri bulabilirsiniz.

Kullanıcılar

YARN günlükleri, her uygulamanın kullanıcı kimliğini içerir. Bu bilgi, bir kuyruğa kimin başvuru gönderdiğini anlamanıza yardımcı olur. Kuyruk ve kullanıcı başına bireysel ve toplu uygulama çalıştırma istatistiklerine dayanarak, kullanıcıya göre mevcut iş yükü dağılımını belirleyebilirsiniz. Genellikle, aynı ekipteki kullanıcıların ortak kuyrukları vardır. Bazen, birden fazla takımın ortak kuyrukları olabilir. Kullanıcılar için kuyruklar tasarlarken artık kuyruklar arasında eskisinden daha dengeli uygulama iş yükleri tasarlamanıza ve dağıtmanıza yardımcı olacak içgörülere sahipsiniz.

Uygulama türleri

İş yüklerini çeşitli uygulama türlerine (Hive, Spark, Presto veya HBase gibi) göre bölümlere ayırabilir ve motorları (MR, Spark veya Tez gibi) çalıştırabilirsiniz. MapReduce veya Hive-on-MR işleri gibi bilgi işlem ağırlıklı iş yükleri için CPU için optimize edilmiş örnekleri kullanın. Hive-on-TEZ, Presto ve Spark işleri gibi yoğun bellek kullanan iş yükleri için bellek açısından optimize edilmiş örnekleri kullanın.

Geçen zaman

Uygulamaları çalışma zamanına göre kategorilere ayırabilirsiniz. Gömülü CloudFormation şablonu, bir QuickSight panosunda otomatik olarak bir elapsedGroup alanı oluşturur. Bu, QuickSight panolarındaki dört grafikten birinde uzun süre devam eden işleri gözlemlemenize olanak sağlayan önemli bir özelliği etkinleştirir. Bu nedenle, bu büyük işler için özel olarak tasarlanmış gelecek mimarileri tasarlayabilirsiniz.

Karşılık gelen QuickSight panoları dört tablo içerir. Bir grupla ilişkilendirilmiş her grafiğin detayına inebilirsiniz.

grup
Numara
Bir İşin Çalışma Zamanı/Geçen Zamanı
1 10 dakikadan az
2 10 dakika ile 30 dakika arası
3 30 dakika ile 1 saat arasında
4 1 saatten fazla

Grup 4'ün grafiğinde, büyük işleri kullanıcı, sıra, uygulama türü, zaman çizelgesi, kaynak kullanımı vb. dahil olmak üzere çeşitli metriklere göre incelemeye konsantre olabilirsiniz. Bu düşünceye bağlı olarak, büyük işler için bir kümede veya özel bir EMR kümesinde ayrılmış sıralarınız olabilir. Bu arada, küçük işleri paylaşılan kuyruklara gönderebilirsiniz.

Kaynaklar

Kaynak (CPU, bellek) tüketim modellerine bağlı olarak, performans ve maliyet etkinliği için doğru EC2 bulut sunucusu boyutunu ve ailesini seçersiniz. Yoğun işlem gerektiren uygulamalar için, CPU için optimize edilmiş ailelerin örneklerini öneririz. Yoğun bellek kullanan uygulamalar için, bellek açısından optimize edilmiş bulut sunucusu aileleri önerilir.

Ayrıca, uygulama iş yüklerinin doğasına ve zaman içindeki kaynak kullanımına bağlı olarak kalıcı veya geçici bir EMR kümesi seçebilirsiniz. EKS'de Amazon EMRya da Amazon EMR Sunucusuz.

YARN günlüklerini çeşitli ölçümlerle analiz ettikten sonra, gelecekteki EMR mimarilerini tasarlamaya hazırsınız. Aşağıdaki tablo, önerilen EMR kümelerinin örneklerini listeler. Daha fazla ayrıntıyı şurada bulabilirsiniz: optimize-tco-hesaplayıcı GitHub deposu.

TCO'yu hesapla

Son olarak, optimize edilmiş TCO'yu hesaplamak için bir Excel şablonu kullanmadan önce yerel makinenizde tco-input-generator.py'yi çalıştırarak YARN iş geçmişi günlüklerini saatlik olarak toplayın. Sonuçlar, gelecekteki EMR örneklerinde Hadoop iş yüklerini simüle ettiğinden bu adım çok önemlidir.

TCO simülasyonunun ön koşulu çalıştırmaktır tco-input-generator.py, saatlik birleştirilmiş günlükler oluşturur. Ardından, makroları etkinleştirmek ve TCO'yu hesaplamak için girdilerinizi yeşil hücrelerde sağlamak için bir Excel şablon dosyası açarsınız. Giriş verileriyle ilgili olarak, çoğaltma olmadan gerçek veri boyutunu ve Hadoop birincil düğümü ile veri düğümlerinin donanım özelliklerini (vCore, mem) girersiniz. Ayrıca önceden oluşturulmuş saatlik birleştirilmiş günlükleri seçmeniz ve yüklemeniz gerekir. Bölge, EC2 türü, Amazon EMR yüksek kullanılabilirliği, motor etkisi, Amazon EC2 ve Amazon EBS indirimi (EDP), Amazon S3 toplu indirimi, yerel para birimi kuru ve EMR EC2 görev/temel fiyatlandırma oranı gibi TCO simülasyon değişkenlerini ayarladıktan sonra ve fiyat/saat, TCO simülatörü, Amazon EC2'de gelecekteki EMR bulut sunucularının optimum maliyetini otomatik olarak hesaplar. Aşağıdaki ekran görüntüleri, HMDK TCO sonuçlarının bir örneğini göstermektedir.

HMDK TCO hesaplamalarına ilişkin ek bilgi ve talimatlar için bkz. optimize-tco-hesaplayıcı GitHub deposu.

Temizlemek

Tüm adımları tamamladıktan ve testi bitirdikten sonra, maliyetlerin oluşmasını önlemek amacıyla kaynakları silmek için aşağıdaki adımları tamamlayın:

  1. AWS CloudFormation konsolunda oluşturduğunuz yığını seçin.
  2. Klinik Sil.
  3. Klinik Yığını sil.
  4. Durumu görene kadar sayfayı yenileyin DELETE_COMPLETE.
  5. Amazon S3 konsolunda, oluşturduğunuz S3 klasörünü silin.

Sonuç

AWS ProServe HMDK TCO aracı, Hadoop iş yüklerinizi değerlendirmenin zaman alıcı ve zorlu görevleri olan geçiş planlama çabalarını önemli ölçüde azaltır. HMDK TCO aracıyla, değerlendirme genellikle 2-3 hafta sürer. Gelecekteki EMR mimarilerinin hesaplanan TCO'sunu da belirleyebilirsiniz. HMDK TCO aracı ile iş yüklerinizi ve kaynak kullanım modellerinizi hızlı bir şekilde anlayabilirsiniz. Aracın ürettiği içgörülerle, gelecekteki en uygun EMR mimarilerini tasarlamak için donanımlısınız. Birçok kullanım durumunda, optimize edilmiş yeniden düzenlenmiş mimarinin 1 yıllık toplam sahip olma maliyeti, kaldır ve değiştir Hadoop geçişlerine kıyasla bilgi işlem ve depolamada önemli maliyet tasarrufu (%64-80 azalma) sağlar.

Hadoop geçişlerinizi Amazon EMR'ye ve HMDK CTO aracına hızlandırma hakkında daha fazla bilgi edinmek için bkz. Hadoop Migration Delivery Kit TCO GitHub deposuveya şuraya ulaşın: AWS-HMDK@amazon.com.


yazarlar hakkında

Sungyoul Parkı AWS ProServe'de Kıdemli Uygulama Yöneticisidir. AWS Analytics, IoT ve AI/ML hizmetleriyle müşterilerinin işlerinde yenilik yapmasına yardımcı oluyor. Büyük veri hizmetleri ve teknolojilerinde bir uzmanlığa sahiptir ve müşteri iş sonuçlarını birlikte oluşturmaya ilgi duyar.

Jiseong Kim AWS ProServe'de Kıdemli Veri Mimarıdır. Esas olarak veri gölü geçişi ve modernizasyonuna yardımcı olmak için kurumsal müşterilerle çalışır ve Hadoop, Spark gibi büyük veri projeleri, veri ambarı, gerçek zamanlı veri işleme ve büyük ölçekli makine öğrenimi gibi konularda rehberlik ve teknik yardım sağlar. Ayrıca, büyük veri sorunlarını çözmek ve iyi tasarlanmış bir veri mimarisi oluşturmak için teknolojilerin nasıl uygulanacağını da anlıyor.

George Zhao AWS ProServe'de Kıdemli Veri Mimarıdır. Modern veri çözümleri sunmak için AWS müşterileriyle birlikte çalışan deneyimli bir analitik lideridir. Ayrıca, Hadoop'tan Amazon EMR'ye geçişler için en iyi uygulamalar ve teslimat kitleri konusunda ProServe danışmanlarına olanak tanıyan bir ProServe Amazon EMR etki alanı uzmanıdır. İlgi alanları, veri gölleri ve bulut modern veri mimarisi sunumudur.

kalen zhang AWS'de İş Ortağı Verileri ve Analitiğinin Global Segment Teknoloji Lideriydi. Güvenilir bir veri ve analitik danışmanı olarak, veri dönüşümü için stratejik inisiyatifler düzenledi, veri ve analitik iş yükü taşıma ve modernizasyon programlarına liderlik etti ve iş ortaklarıyla geniş ölçekte müşteri taşıma yolculuklarını hızlandırdı. Dağıtılmış sistemler, kurumsal veri yönetimi, gelişmiş analitik ve büyük ölçekli stratejik girişimlerde uzmanlaşmıştır.

spot_img

En Son İstihbarat

spot_img