cesi (Centralized Supervisor Interface)


    Bir önceki yazımda Supervisordan bahsetmiştim. Supervisor arayüzden de komut satırından da kullanılabilen bir API si olan Unix benzeri işletim sistemleri üzerinde çalışan bir süreç yönetim sistemidir. Bazı eksikleri şöyleydi:

  -- Supervisorun varolan arayüzü sadece kurulu olduğu makine üzerindeki süreçleri yönetebiliyordu. Ama API uzaktaki makinelerle iletişim kurmaya izin veriyordu.
  -- Arayüzde herhangi bir yetkilendirme seviyesi yoktu. Arayüzü görebilen herkes süreçlerle ilgili istediğini yapabiliyordu.
  -- Herhangi bir şekilde süreçler filtrelenerek yönetilemiyordu. Ya tek tek ya da hepsiyle birden iş yapılabiliyordu.

    Bu yaz stajımı Gamegos'ta Kaan'ın mentörlüğünde yaptım. Yaptığımız iş Supervisor'a yukarıda bahsettiğim eksiklikleri gideren yeni bir arayüz yazmaktı. Yeni arayüzü Python Flask ve Jquery kullanarak yazdık. Şimdilik paketlemedim. Nasıl kurulacağını projenin README kısmında açıkladım. Bu blogta arayüzün yeteneklerini ve kullanımını anlatacağım.
  Projeyi buradan bulabilirsiniz.

  DASHBOARD
--------------------------

    Program çalıştığında karşımıza gelen ilk sayfadır. Toplamda kaç node olduğunu kaçının bağlı kaçının sorunlu olduğunu, toplam kaç süreç olduğunu kaçının çalışıp kaçının durmuş olduğunu ve kullanıcının arayüzde yaptığı işlemlerin logunun son 12 satırını görüntüleyen paneller var.













    NODE
----------------
   
    Node özelliği bu arayüzün merkezi olmasını sağlayan özelliktir. Yani her bir node bizim iletişim kurduğumuz farklı bir supervisora denk geliyor. Kaç tane süpervisor ile iletişim kuracaksak hepsinin host port kullanıcı adı parola bilgilerini /etc/cesi.conf içine şu şekilde yazmalıyız (node isimleri eşsiz olmalıdır) :

  [node:gulsah]
 username = gulsah
 password = ***
 host = gulsah.xyz.com
 port = 9001
    
     Node seçeneğine tıkladığımızda açılan liste yapılandırma  dosyasındaki nodeların listesidir. Node eğer bağlıysa node  isminin  başında bir checkbox olacaktır. Bağlantıda bir  problem  olmuşsa node isminin başında bir çarpı olacaktır.  Buradan istediğimiz nodeları seçerek süreçlerini  yönetebiliriz.


   ENVİRONMENT
----------------------------

    Nodelardan oluşan topluluklardır. Bir filtreleme seçeneğidir. Environment'ı x node ismi y olan süreçler hakkında şunları yap dememize imkan tanır. İstediğimiz kadar environment tanımlayabiliriz. Environment isimleri eşsiz olmalıdır. /etc/cesi.conf  dosyasında şöyle tanımlanır:

  [environment:market]
  members = gulsah, kaan

  Arayüzde environment seçeneğine tıkladığımızda o environmenta üye olan ve bağlantısında problem olmayan nodeların listesini görürüz. Bu nodelardan hangisini seçersek onların süreçlerini yönetebiliriz.











  GROUP
---------------


   Grup zaten Supervisor'un sağladığı bir özellikti. Bu yüzden /etc/cesi.conf içine bununla ilgili birşey yazmaya gerek yok. Supervisor'un yapılandırma dosyasında tanımlanır. Süreçler bir gruba eklenebilir. Eğer sürecin grubu yoksa varsayılan olarak grup adı sürecin adı olur. Bu da arayüzde bir filtreleme seçeneğidir. Grubu x environmeti y olan süreçler için şunları yap deme imkanı sağlar.

    Arayüzde grup seçeneğine tıkladımızda içinde o grubu bulunduran  environmetların listesini görürüz. Buradan hangi environmentleri seçersek grubu seçtiğimiz grup, environmenti seçtiğimiz environment olan süreçleri görüntüleyip yönetebiliriz.

  *Aynı süreç birden fazla gruba ait olmamalıdır.










  SHOW ALL
---------------------

Show all seçeneği ne kadar node ve onların ne kadar süreci varsa hepsini birden görüntülemeyi ve yönetmeyi sağlar.




















    Ayrıca herhangi bir şekilde görüntülediğimiz tabloların üzerinde alt seçimler de yapabiliriz. O anda görüntülediğimiz süreçlerden hangisinin başındaki checkbox işaretliyse tabloların üstündeki turuncu butonları kullanarak sadece o süreçleri durdurup başlatabiliriz.


    Program çalıştırılmadan önce yapılandırma dosyasında veritabanı ve kullanıcı loglarının tutulduğu dosyaların yolunu /etc/cesi.conf dosyasında şu şekilde belirtmeliyiz:

    [cesi]
    database = /x/y/userinfo.db
    activity_log = /x/y/cesi_activity.log


   KULLANICI SEVİYELERİ
--------------------------------------------

   Admin:
   -- Kullanıcı ekleme silme işi sadece admin tipindeki kullanıcılar tarafından yapılır.
   -- Tüm süreçlerle ilgili herşeyi yapabilirler.

  Standart User:
   -- Tüm süreçler hakkında herşeyi yapabilir.

  Only Log
  -- Süreçlerin hepsini görüntüleyebilir
  -- Süreçlerin sadece loglarını okuyabilir.

  Read Only
  -- Sadece süreçleri görüntüleyebilir. Herhangi bir şeye müdahale edemez.




    Program ilk kurulduğunda varsayılan kullanıcı admindir. Kullanıcı adı ve parolası "admin" dir. Change password seçeneğini kullanarak admin ilk olarak parolasını değiştirmelidir. Gerek varsa istediği yetkilerde yeni kullanıcılar ekleyebilir. Eklediği yeni kullanıcılarda oturum açtıklarında aynı şekilde parolalarını değiştirebilirler.


Kullanıcı ekleme paneli:      
















Kullanıcı silme paneli:



Desteği için Kaan Özdinçer'e teşekkürler. 







29 Ağustos 2014

Posted In: Açık kaynak, bootstrap, centralized, cesi, flask, Gezegen, Özgür yazılım, ozguryazilim, process control, python, supervisor, supervisord

Hbase Shell Value Filtering

Most of Hbase Users use Hive or Pig for Advance ETL stuff. Hbase shell very slow for big stuff. But sometimes I use for small stuff. I use below code for quick resulting in Hbase Shell. This post is note for me. 

hbase(main):001:0> import org.apache.hadoop.hbase.util.Bytes

hbase(main):002:0> import org.apache.hadoop.hbase.filter.SingleColumnValueFilter

hbase(main):003:0> import org.apache.hadoop.hbase.filter.BinaryComparator

hbase(main):004:0> import org.apache.hadoop.hbase.filter.CompareFilter

hbase(main):005:0> scan ‘table_name’, { FILTER => SingleColumnValueFilter.new(Bytes.toBytes('column_family’), Bytes.toBytes('column_name’), CompareFilter::CompareOp.valueOf('EQUAL’), BinaryComparator.new(Bytes.toBytes('value_variable’)))}

26 Ağustos 2014

Posted In: hbase, hbase shell, singlecolumnvaluefilter

XIX. Türkiye’de İnternet Konferansı ve Akademik Bilişim 2015

Türkiye'de İnternet Konferanslarının ondokuzuncusu bu yıl 26-29 Kasım 2014 tarihlerinde Yaşar Üniversitesinde yapılacak.

Onyedinci Akademik Bilişim Konferansı ise 4-6 Şubat 2015 tarihleri arasında Anadolu Üniversitesinde düzenlenecek.

Bilişim camiasının en büyük iki buluşmasını takvimlerinize şimdiden işaretleyin de sonradan keşke haberim olsaydı demeyin.

7 Ağustos 2014

Posted In: akademik bilişim, eskişehir, Gezegen, inet-tr, izmir, konferans

apt-get Komutunun Güzellikleri

Debian tabanlı dağıtımlarda paket yönetim işleri için kullanılan apt-get’in birkaç farklı parametre ile çalıştırıldığını bilirsiniz. Bunların en sık kullanılanları olan install ile yeni paket kurulumu, remove ile kurulu paketlerin kaldırılması, upgrade ile kurulu paketlerin güncellenmesi gerçekleştiriliyor.

Aynı anda hem sistemde var olan paketlerin güncellenmesi, hem de yeni paketlerin kurulumu için ayrı ayrı önce apt-get upgrade, sonra apt-get install çalıştırmak yerine tek seferde “apt-get upgrade <yeni paket adı>” şeklinde bir komut çalıştırılabileceğini de 8 yıllık apt-get geçmişimde ilk defa bugün farkettim 🙂

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

5 Ağustos 2014

Posted In: apt-get, Debian, Gezegen Yazıları, Kubuntu, linux, Özgür yazılım, ubuntu

Nerelerdeyim, neler yapıyorum…

Son yazımı yazalı epey bir zaman geçti. Yazmadıkça yazmıyor insan… Devamlılık gerektiren her eylem gibi yazmak da zor kazanılan ve çabuk kaybedilen bir alışkanlık.  Tabi bir de başka bir faktör var o da zaman… Yorgunlukla mücadele edebiliyor insan ama zaman ile mücadele edip daha fazlasını kazanmak çok ama çok zor.

İşyerinde  son altı aydır çok yoğun bir dönem geçirmekteyim . Gündüz yoğunluğu nöbetini akşamın yorgunluğuna ve boşvermişliğine devretmekte, ben ise kendimi hoyratça bu dar boşluğa bırakmaktayım.

Hobiler, sosyal yaşam, planlar ve hayalcilik gibi boş zamanını harcadığım faaliyetlerim de çok iyi gitmiyor haliyle. Bu güçlükle en çok yer ayırdığı konu olan özgür yazılım ve son iki yıldır LibreOffice ile ilgili şeylere de bakamıyorum gibi gibi görünse de asgari oranda bakabiliyorum diyebilirim. Yeni bir şey katmasam da olanı muhafaza etmeye gayret ediyorum. Sadece ben değil, gördüğüm kadarıyla birçok arkadaş da benzer bir atalet içerisinde.

İşte bu çerçevede ne yaptık ne ettik dersek şöyle bir liste ile durumu özetlemeye çalışayım:

  • LibreOffice’in yeni sürümü olan 4.3 duyuruldu. Sürüm notlarına şuradan bakabilirsiniz.
  • Mazoşist ıstırabımızın keyifli aralarından biri olan çevirilerini yetiştirebildik. Arayüz %99.9 seviyesine ulaştı. Bu çevirilerde sevgili Ayhan Yalçınsoy ve her zamanki gibi yaşı ve verdiği emeği en büyük olan -bu kısımda utanmaz gerekiyor- sevgili Necdet Hocamız büyük çaba gösterdiler. Ben de elimden geleni yapmaya çalıştım ama çeviri zamanımın büyük kısmını yeni Microsoft Office Excel işlevleri ve Calc işlevlerinin çevirilerini yeknesaklaştırmaya harcadım. Bununla ilgili ayrıca bir tablo da yapmıştım. Onu da güncellemem gerekiyor.
  • Bu 4.3 sürümün notlarında da adım geçiyor çok şükür. KK(QA) çalışmaları çerçevesinde 5 adet hatayı çözüldü işaretledim bu sayede adım sürüm notlarına geçti. Yeni kayıtlar girdim. Şimdiye kadar toplamda 44 hata kaydı girmişim. Bu sürüm öncesi Türkçe yerlerini ilgilendiren bir tanesi var ki önemliydi, çözüldü(Teşekkürler Eike).
  • Küresel pazarlama listesinde LibreOffice 4.4 için bir öneri sundum: İşletmeler için daha iyi bir LibreOffice sürümü olsun dedim, işletmeler için çözülmesi iyi olacak hata kayıtlarına yoğunlaşmayı önerdim. Bu konuda uzun bir tartışma olmasına rağmen net bir çizgi çizilmiş değil fakat konferans gündemine alınması da benim için mutluluk verici.
  • TDF üyeliğimi yeniledim. Ülkemizden tek üye benim.
  • Zemberek çok eskidi, Linux sürümleri üzerinde performans sorununa ek olarak tam olarak nedenini bulamasam da güncel Ubuntu 14.04 üzerinde çalıştıramadım. Bazı paketlerde sorun var sanırım… Bu konuda biraz daha araştırma yapmak gerekiyor. Şayet diğer Linux dağıtımlarında da benzer sorun yaşanırsa TÜBİTAK’ın çalışmayan bir Zemberek ile nasıl bir ofis deneyimi sunacağını merak etmiyor değilim. Zemberek’i kaybedersek önce TÜBİTAK düşünsün!
  • Yine Zemebrek demişken, gözümüz yollarda Zemberek 3’ü bekliyoruz fakat gelişmesi ne yazık ki pek kolay olmuyor, sevgili Ahmet A. Akın’dan başka bu işe elini bulaştıran yok. Yine burada iş Zemberek’in hamisi TÜBİTAK’a düşüyor…
  • TÜBİTAK demişken Micheal Meeks LibreOffice 4.3’ün kaputunun altında neler olduğunu yazdığı yazısında, LibreOffice’e kod katkısı veren kuruluş ilişikli kişiler grafiği yayımladı. İdeal tabloda TÜBİTAK imzalı geliştirici veya “o yeni modelde” TÜBİTAK’ın hizmet aldığı Türk yazılım şirketleri olmalıydı…Hala yok, beklemiyoruz da…
Kuruluşa göre kod gönderim grafiği

Kuruluşa göre kod gönderim grafiği

  • Yukarıdaki grafikle ilgili şunu da söyleyeyim, Suudi Arabistan Kral Abdülaziz Bilim ve Teknoloji Şehri(KACST) dahi The Document Foundation Danışma Kurulu’na üye oldu da TÜBİTAK hala olmadı… Kod dahi gönderiyorlar… Arapça ve sağdan sola yazılan diller ile ilgili çok güzel gelişmeler bu sayede oldu
  • Foruma birkaç kişi hariç ilgi düşük, wiki Allah’a emanet…
  • Topluluk olma adına çok aşama kaydedemedik. Hiç yoktan iyi ama bağlarımızı güçlendirmek adına bir hafta sonu İstanbul’da bir toplantı yapalım diyorum. Detayı planı ile ilgili fikir alış verişi için e-posta listemize ilk fırsatta bir ileti göndereceğim.
  • Kod katkısı olarak sevgili Efe Gürkan Yalaman bu yıl da GSoC’a katıldı, Şablon Yöneticisini iyileştirecek ama sesi soluğu çıkmıyor pek…
  • Türkiye’de özgür yazılıma olan ilgi ve katkı çok iyi seyretmiyor, haliyle LibreOffice’e de pek ilgi yok… Onca yazı yazdık, kod katkısı verin, Andorid sürümüne geliştirici olun diye ama önemsiz işlere bulaşmayan kod okur yazarlarımızın dikkatini çekemedik maalesef.

Velhasıl-ı kelam, ölmesek de sürünmeye devam ediyoruz, bireysel yük ile 5-10 kişi çeşitli alanlarda dağınık zamanlarda katkı vermeye devam ediyoruz. Her alanda katkıcıya ihtiyacımız var. Bekleriz.

Mutlu günler.

PS: Bu yazıya tablette başladım, telefonda devam ettim ama fiziki klavyesiz olmuyor…

Sonrası Nerelerdeyim, neler yapıyorum… Günlüğüm ilk ortaya çıktı.

1 Ağustos 2014

Posted In: Genel, Gezegen, libreoffice, linux, lkd, neler yaptık, oi, sürüm duyurusu, tdf, tubitak, zemberek

Twitter Auto Publish Powered By : XYZScripts.com