Azure HDInsight ile Büyük Veri Çözümleri 2
Yazımızın ilk bölümünde büyük veri nedir kavramını daha çok incelemiştik. Bu bölümden itibaren ise Microsoft Azure tarafından büyük veri platformu olarak bizlere sunulan HDInsight ürünü üzerinden örnekler geliştirmeye başlayacağız. HDInsight, Azure tarafından hadoop ekosistemi ve bu ekosistemdeki ürünlerden faydalanmamız için bizlere açılan servisinin adı. Azure Portal üzerinden HDInsight sekmesine geldiğiniz zaman birden fazla Cluster Type için işletim sistemi olarak Ubuntu veya Windows Server 2012 R2 seçerek servisinizi oluşturabildiğinizi görebilirsiniz.

Burada karşımıza çıkan cluster türlerinden Hbase, Google’ın kullanmakta olduğu BigTable’dan esinlenerek geliştirilen sütün bazlı veritabanı diyebileceğimiz hadoop ekosisteminin bir ürünüdür. Bu sayede çok büyük boyutlara sahip verilere gerçek zamanlı okuma yazma erişimi yapabiliriz. Daha detaylı bilgiyi
http://hbase.apache.org adresinden edinebilirsiniz. Yahoo’nun data işleme alt yapılarının ana parçalarından biri haline gelen Storm veya Hadoop sistemlerinden 100 kat daha hızlı olduğunu iddia eden özellikle bellek içi veri işleme özellikleriyle öne çıkan spark ürünleri de yine HDInsight çatısı altında karşımıza çıkan ürünlerden. Bu konularla ilgili Türkçe bilgi kaynağı malesef çok bulunmamakta. Fakat Hakan Ilter’in öncülük ettiği devveri.com adresini sürekli olarak takip etmenizi öneririm.
HDInsight’ın ücretlendirmesi diğer bulut bilişim servislerinde olduğu gibi oluşturmuş olduğunuz makineye ve özelliklerine göre değişiklik göstermektedir. Hatta oluşturmak istediğiniz makinenin lokasyonu dahi ücretlendirmede değişiklik olmasına neden olmaktadır. Bu konuda daha detaylı bilgi almak için ise
https://azure.microsoft.com/en-us/pricing/details/hdinsight/ adresi inceleyebilirsiniz.
HDInsight cluster oluşturmamız için bir çok farklı yöntem kullanabiliriz. Bu yazımızda Azure Portal üzerinden oluşturacağız. Fakat devam eden yazılarımızda portal yerine Powershell, C# yazılım dili ve SQL Server Integration Services ürünlerini de kullanarak HDInsight servisleri oluşturmayı öğreneceğiz. Peki hangi yöntemi kullanmalıyım sorusunun cevabı ise aslına bakarsanız ihtiyaçlarınıza göre değişiklik göstermektedir. Eğer bir kereye mahsus servisleri açacak ve sonrasında geliştirme yapacaksanız Portal size ciddi kolaylık sağlamaktadır. HDInsight Cluster’ı oluşturmadan önce bu servisin kullanımı için bir storage oluşturalım. Burada dikkat edilmesi gereken nokta storage ile HDInsight Cluster’ının aynı lokasyonda olmasıdır. Kullanacağımız Storage’ı tanımladıktan sonra HDInsight Cluster yapımızı oluşturmaya başlayabiliriz. Bunun için portal üzerinden New seçeneğini tıkladıktan sonra Data + Analytics sekmesi altında HDInsight menüsünü görebilirsiniz. Burada gerekli tanımlamalarımızı yapalım.
İlk başta oluşturacağımız cluster için bir isim vermemiz istenmektedir. Sonrasdına tür olarak Hadoop seçeneğini seçtik ve işletim sistemi olarak Windows Server 2012 R2 Datacenter seçeneğini seçtik. Eğer Azure üzerinde birden fazla abonelik seçeneğiniz var ise bunlardan hangisi ile işlem yapmak istediğinizi seçmeniz gerekmektedir. Credentials kısmında oluşturmakta olduğunuz bu sunucuya erişim için bir username ve password istemektedir. Öte yandan bu sunucuya uzaktan bağlantı yaparak erişmek istiyorsanız yine Credentials sekmesi altında Enable Remote Desktop özelliğini açmanız gerekmektedir. Burada ise karşınıza o bağlantı yolunun ne zamana kadar açık kalacağını seçmeniz için bir DateTime Picker ve hangi kullanıcı adı şifre ile giriş yapacağınıza dair bilgileri girmenizi isteyecektir.

Daha önce bu servis için oluşturmuş olduğumuz diskimizi Data Source sekmesi altında tanımladıkltan sonra serivisimizde kaç node kullanacağımız ve bu nodelar üzerinde bulunan yapıların nasıl olması gerektiği ile ilgili işlemleri yapmamız gerekmektedir. Şu anda bir örnek çalışma olduğu için buradaki seçimlerde çok dikkatli olmasak da eğer HDInsight projemiz yayına alınacak ve gündelik hayatta kullanılacak ise bu kısımdaki ayarları ince eleyip sık dokumamız gerekmektedir.
HDInsight servisini portal üzerinden oluşturmak aslında bu kadar basit. Fakat yeri geldiğinde portal üzerinden değil de farklı yapılar üzerinden bu servisi oluşturmamız gerekebilir. Örneğin belirli periyotlarda otomatik olarak açılıp büyük veri üzerine işlemler yapıp sonrasında da otomatik olarak kapanacak sistemler inşa etmek istediğimiz zaman. Yine benzer şekilde elimizdeki kaynaklara bakarak gerekli tanımlamaları şu an yaptığımız şekilde sabit değil de dinamik olarak hesaplayıp sonrasında bu verilere dayanarak özelliklerini belirtmek istediğimiz zamanlarda ise Powershell, C# yazılım dili veya SQL Server Integration Services ile HDInsight cluster’larımızı oluşturabiliriz. İlerleyen yazılarımızda da bu platformlarda nasıl oluşturacağımızı göstereceğiz.