Kubernetes Bölüm 2: Mimari

Kubernetes cluster’ında iki tür node vardır: Kubernetes Master ve Kubernetes Node. Kubernetes Node Kubernetes Node worker, yani container’lar ile ilgili işler bunların üzerinde gerçekleştirilir. Cluster’ın iş yükü Node’lar üzerinde gerçekleşir. Kubernetes Node üzerindeki bileşenler: Kubelet Kube-Proxy Container Runtime Container Runtime Container Yönetiminden sorumludur. Container’ların durdurulması, başlatılması, container image’llerinin indirilmesi gibi tüm container işlemleri bu bileşenin […]

Kubernetes Bölüm 1: Kubernetes Nedir?

Container yığınlarının dağıtılması, ölçeklendirilmesi ve yönetimini otomatikleştirmek için oluşturulmuş open source container orkestrasyon aracıdır. Google tarafından, Go programlama dili kullanılarak yazılmıştır. İsmi Yunanca kökenlidir, Dümenci anlamına gelir, bu sebeple de logosunda gemi dümeni vardır. Bazı kaynaklarda k8s (k + 8[harf sayısı: ubernete] + s) veya kube olarak bahsedildiğini görebiliriz. Kubernetes proje olarak başladığında adı Procejt […]

Docker Bölüm 1: Mimari

Genelde yazılarıma mimari ile başlamam biliyorsunuz; fakat Docker’ı uzun uzun anlatmayacağım, çünkü oldukça fazla yapıldı. Herhangi bir yerden Docker’ın ne olduğunu ve ne işe yaradığını rahatlıkla öğrenebiliyoruz artık. Bu yüzden benim gibi detaycı bir karakter iseniz kolay ulaşamayacağınız bilgileri sizin için vermek bana daha cazip geldiğinden bir istisna olarak Docker mimarisinden başlıyorum. Docker Mimarisi Docker […]

Docker Bölüm 2: Komutlar

Docker Kontrol Version Docker Client ve Deamon hakkında bilgi almak için kullanılan komuttur. İşletim sisteminde:

çalıştırdığınızda size Docker hakkındaki bilgiyi verecektir. Info Docker hakkında detaylı bilgi almak için kullanılır.

Debug Yukarıdaki çıktıca Client için debug mode’un kapalı olduğunu gördük, açalım:

Help Bir komut hakkında detaylı bilgi almak için komuttan hemen sonra –help […]

Docker Bölüm 3: Docker Image

Birden çok katmandan oluşan ve Docker container’da için oluşturulmuş dosyalardır. Amaca yönelik, container’lar için tasarlanmış, önceden oluşturulmuş kalıplardır.   Docker Image Özellikleri Container oluşturmak için salt okunur şablonlardır. Bir manifest ve farklı obje dosyalarından oluşur. Manifest dosyasında indirilecek tüm dosyaların bilgileri saklanır. Container silinmeden image silinemez. Bir image silinmek istenirse, öncelikle bu image ile bağımlı […]

Docker Bölüm 4: Dockerfile

Bir image oluşturmak için var olan tüm katmanların madde madde açıklandığı ve tüm işlemlerin detaylıca belirtildiği text dosyalarıdır. Dockerfile, YAML adı verilen, insanlar tarafından kolayca okunup anlaşılabilir bir dil ile kodlanmaktadır. Satırlardan meydana gelir ve her bir satır bir işlemi gösterir. Dockerfile Dosya Yapısı Dockerfile için kullanılabilecek komutlar: https://docs.docker.com/engine/reference/builder/ FROM Hangi image dosyasının referans alınacağını […]

Docker Bölüm 5: Network

Docker sistemimize ilk kez kurulduğu zaman docker0 adında varsayılan olarak bridge network tanımlaması yapılmakta ve gerekli konfigürasyon oluşturulmaktadır. Biz bir değişiklik yapmadığımız sürece docker0 default olarak kullanılır, container’lar da bu switch sayesinde hem birbirleri ile hem de dış dünya ile iletişim sağlayabiliyorlar. Container’ların birbirleriye veya dış dünyayla iletişim kurabilmesi için 2 farklı standart geliştirilmiştir. CNM […]

Docker Bölüm 6: Volume

Container’lar, çalışma mantığı olarak ayağa kaldırıldıktan sonra işlerini yapar ve sonra kapanırlar. Container’lar tamamen izole oldukları için, içlerinde yapılan herhangi bir şey kalıcı olarak saklanmazlar ve silinince de içlerindeki bilgiler de tamamen silinirler. Kritik öneme sahip verilerin saklanacağı container’ların ise bu şekilde kaybedilmemesi gerekir. Örneğin bir üzerinde database bulunan bir container’ımızdaki bilgilerin kaybı bizim için […]

Docker Bölüm 7: Docker Compose

Çok container’lı karmaşık servislerin tanımlanmasını ve çalıştırılmasını sağlayan araçtır. Docker Compose ile çoklu container, gerekli servisler, volume, network vb. kontolünü yapabilir ve yönetebiliriz. Temelde Docker Compose, kullanacağımız her servis için Dockerfile dosyasını kullanır, sonrasında volume ve network gibi ayarları da Docker Compose üzerinde yaparız. Yazım dili YAML’dır. Dosya uzantısı yaml veya yml şeklindedir. Docker Compose […]

Docker Bölüm 8: Docker Swarm

Container mimarisinde çalışan servisleri yönetmek, ölçeklendirmek ve servislerin kesinti olmadan devamlılığını sağlamak için kullanılan cluster yönetim ve orkstrasyon aracıdır. Docker Host üzerinde çalışan container’ler, Host’un fail olmasından sonra ayakta kalamaz ve servisler kesintiye uğrar. Hem high availibility hem ölçeklendirme hem de yedeklilik sağlayabilmek için Docker Host sayısını artırmalı, bunları cluster haline getirmeli ve yönetimini sağlıklı […]

Apache Nifi Bölüm 8: Nifi Cluster Kurulumu

Öncelikle sunucularda bir kurulum yapmak için sunucuda birşeylerin kurulmamış olduğunu varsayıyorum. Kurulumda bize  ZooKeeper, JRE ve Nifi kurulum dosyaları gerekiyor. Genelde kurumlarda sunucuların internete çıkışı kapalı olduğu için .tar.gz uzantılı dosyaları öncelikle bir yere indirip sonra sunuculara yükleriz. Kurulumumuzu 5 node’luk bir cluster olarak oluşturacağız. Sunucu isimlerimiz: Nifi01.domain.com, Nifi02.domain.com, Nifi03.domain.com, Nifi04.domain.com ve Nifi05.domain.com. Öncelikle JDK için […]

Apache Nifi Bölüm 13: NiFi Toolkit

Nifi Toolkit, temelde Nifi için otomatizason, yönetim gibi konularda kullanılıyor. İçerisinde gelen yardımcı programlar şöyle: CLI: Adminlerin Nifi ve NifiRegistry instance’larıyla iletişim kurarak versiyonlanmış flow’ların deployment’ı, otomasyon, process gruplarını ve cluster node’Larını yönetmek için kullanılır. Encrypt Config (encrypt-config): Secure Nifi instance kurulumunu kolaylaştırmak için nifi.properties dosyasındaki hassas key’leri şifreler. File Manager (file-manager): Backup almak veya […]

Apache Nifi Bölüm 12: Load Balance

Nifi cluster’ı kurmamızın temeli yaptığımız işi dağıtmaktır, aksi halde cluster’ın nimetlerinden faydalanmamış oluruz. Bir processor eklediğimizde, bunun default olarak load balancer strategy kısmı Do not load balance olarak seçilidir. Burada Partition by Attribute, Single node, Round robin gibi seçenekler mevcut. Default olan dışında bir şey tercih ettiğimizde sağ alt kısımda bir daire içinde yarısı siyah […]

Apache Nifi Bölüm 11: TailFile Processor ile Log Monitoring

Nifi loglarını takip için her seferinde sunucuya gidip bilgi toplamak, her birini ayrı ayrı incelemek epey sıkıntılı olacaktır. Bunun yerine logları toplayıp bir yere basmak ve öyle analiz etmek daha doğru olacaktır. Böyle bir senaryo için TailFile Processor kullanılıyor. TailFile ile herhangi bir dosyayı izlemesi sağlanabiliyor. Her yeni gelen satır otomatik olarak takip edilebiliyor ve […]

Apache Nifi Bölüm 10: Troubleshoot

Bir node ile ilgili problem olduğunda Nifi arayüzünün read only moda girdiğini söyledik. Bir node’muz t anında crash olduğunda çalışan işlerle ilgili herhangi bir problem görmeyiz; ama bilgi almak istediğimizde node’un down olduğunu bildiren bir hata mesajı görürüz. Cluster’ın yeniden işler hale gelmesi için birkaç yol var. İlk olarak down olmuş node ayağa kaldırılmaya çalışılabilir. […]

Apache Nifi Bölüm 9: Node Offload

Bir node’un bağlantısı kesildiği zaman yapılır. Çünkü bağlantısı kopan node ayağa kalkmadıkça flow’larda problem yaşanacağı için bu tür durumlarda önce offload yapıp cluster’da üzerinde bulunan işleri devretmesi gerekiyor. Bu işleri devretme, yani boşaltma işlemine offload deniyor. Bir node’un bağlantısı kesildiği zaman da flow file, read only moduna geçiyor. Flow’lar cluster’da mevcut tüm sunuculara sync edilemeyeceği […]

Apache Nifi Bölüm 7: Nifi Cluster’ın Temel Özellikleri

NiFi, Zero-Master Clustering paradigması kullanır. Cluster’daki her node, veriler üzerinde aynı görevleri gerçekleştirir, ancak her biri farklı bir veri kümesi üzerinde çalışır. Node’lardan biri (ZooKeeper aracılığıyla) Cluster Coordinator olarak otomatik olarak seçilir. Cluster’daki tüm node’lar daha sonra coordinator node’a health / status bilgisi gönderir ve coordinator, bir süre herhangi bir heart beat göndermeyen node’ların bağlantısını […]

Apache Nifi Bölüm 6: Nifi Cluster Anahtar Terminoloji

Çoğumuzun aşina olduğu konular olsa da bir referans noktası olması açısından dokümanda bazı detaylara değilnmeye özen gösterdim. En azından konu hakkında bilmeyenlerin de bir fikir edinebilmesi açısından önemli olduğunu düşünüyorum. Node Her cluster’ı oluşturan sunuculardan her birine node denir. Her cluster birden fazla node’dan oluşur. Node’lar veri işlemeyi yapar. Cluster Coordinator Cluster içerisindeki merkezi yönetim […]

Apache Nifi Bölüm 5: Funnel

Funnel, temelde birkaç komponentten gelen verileri tek bir connection’da birleştirmek için kullanılan bir NiFi bileşenidir. Örneğin birden fazla yerden log dosyaları alıyor olalım ve bunu Log Attribute’e gönderip işletelim. 4 ayrı noktadan log file’ımızı aldık ve log attribute’a göndermek istiyoruz: Şimdi bir Funnel bileşenini ekleyelim. Ve ardından GetFile bileşenlerini Funnel’a, Funnel’ı ise Log Attribute sürükle […]

Apache Nifi Bölüm 4: Template

Template’lerin faydası bir yapının birden fazla yere taşınabilmesi kolaylığıdır. Diyelim ki dev ortamında bir flow geliştirmesi yaptınız, bunu test ortamına koyup çalışmasını görmeniz gerekiyor. Testler başarılı olduktan sonra müşteri kabul testleri için uat ortamına aktarmanız gerekiyor ve buradan da onay alınca production’a taşımanız gerekiyor. Bir flow oldukça kompleks olabileceği için bunu x ortamından y ortamına […]

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.