ELASTICSEARCH YÜK DENGELEME İŞLEMİNİN MANUEL YAPILANDIRILMASI ve BAŞARIM ÖLÇÜMÜ İÇİN YAZILIM GELİŞTİRİLMESİ

Geleneksel yöntemlerle işlenemeyen, saklanamayan devasa büyüklükteki bilgilerin oluşturduğu veri yığınına Big Data (Büyük Veri) denmektedir. Gün geçtikçe daha popüler hala gelen bu kavram, beraberinde bu verileri işleyebilecek araçların gereksinimini de ortaya çıkarmıştır. Bu büyük veri yığınının analizi ve saklanması için kullanılan araçlardan biri de Elasticsearchtür. Elasticsearch Java ile geliştirilmiş, açık kaynak kodlu Lucene tabanlı bir içerik analizi ve arama motorudur. Elasticsearch yapısı itibariyle dağıtık mimaride çalışabilen bir yazılımdır. Verileri aynı index içinde farklı shardlarda, aynı disk içinde farklı klasörlerde, aynı bilgisayar içerisinde farklı disklerde, aynı ağ içerisinde farklı sunucularda barındırabilir. Tüm bu seçenekler kullanıcıların ihtiyaçlarına göre şekillendirilebilir. Elasticsearch düğümü çalıştığı anda içinde bulunduğu kümede tüm indexler için aktif bir rol üstlenir. Diğer düğümlerle haberleşir ve yük dağılımı yapılmaya başlanır. Bu yük dağılımı normal şartlarda, düğüm üzerine düşen yükü parçalayarak performansı artırmayı hedeflemektedir. Ancak elasticsearch tarafından otomatik olarak yapılan bu yük dağılımı her zaman performans artırıcı etkiler oluşturmayabilir. Yapılan bu çalışmada geliştirilen yazılım ile Elasticsearch düğümleri üzerindeki yük takip edilebilmekte ve manuel yapılandırılmasına olanak sağlayabilmektedir. Kullanıcıların düğüm kaynaklarının kullanım oranlarını görebileceği, indexlere ait shardları manuel dağıtabileceği, otomatik shard tahsisini açıp kapatabileceği ve tüm bu yapılandırmaların verimliliğini test edebileceği bir yazılım geliştirilmiştir.

Software Development For Manual Configuration Of Elasticsearch Load Balancing And Performance Measurement

Huge amount of data stack which cannot be stored nor processed by traditional methods is called Big Data. This term, which is becoming more and more popular, led to the necessity of tools to process this data. One of the tools which is used for analysis and storage of this huge among of data is Elasticsearch. Elasticsearch is a content analysis and search server based on Lucene and developed in Java as open source. It is a software which can operate as distributed architectural structure. It also can store data in different shards in the same index, in different files in the same disk, in different disks in the same computer, and in different servers in the same network. All these options are shaped by the needs of users. As soon as Elasticsearch node starts working, it takes an active role in all indexes of clusters. It also connects with other nodes and the share of load takes place. This load distribution normally aims to increase performance by decreasing load in each node. However , this load distribution done.

___

  • Chaudhary, M., "9 Tips on ElasticSearch Configuration for High Performance", https://www.loggly.com/blog/nine-tips-configuring-elasticsearch-for-high-performance/, Son Erişim : 25.03.2016
  • Garrett, J.J., "Ajax: A New Approach to Web Applications", http://adaptivepath.org/ideas/ajax-new- approach-web-applications/, Son Erişim : 14.12.2015
  • Gheorghe, R., "Elasticsearch Refresh Interval vs Indexing Performance", https://sematext.com/blog/2013/07/08/elasticsearch-refresh-interval-vs-indexing-performance/, Son Erişim : 25.03.2016
  • Hallaç, İ.R., "Büyük veri analizlerinde dağıtık makine öğrenmesi algoritmalarının kullanılması", Yüksek Lisans Tezi, Fırat Üniversitesi, 2014
  • İrgin, D., "REST ve RESTful Web Servis Kavramı", http://www.denizirgin.com/post/2012/05/28/RESTRESTful-Web-Service.aspx/, Son Erişim : 14.12.2015
  • Mikalauskas, A., "Quick Way To Improve Elastıcsearch Performance On A Single Machine", http://www.speedemy.com/quick-way-to-improve-elastic-search-performance-on-a-single- machine/, Son Erişim : 25.03.2016
  • Netinternet, https://www.netinternet.com.tr/yuk-dengeleme, Son Erişim: 04.01.2016
  • Ohhorst, F., "Turning Big Data Into Big Money", Big Data Analytics, , New Jersey, AB.D., 2013
  • Peschlow, P., "Elasticsearch Indexing Performans Cheatsheet", https://blog.codecentric.de/en/2014/05/elasticsearch-indexing-performance-cheatsheet/, Son Erişim : 25.03.2016
  • Science Clouds., https://portal.futuregrid.org/., Son Erişim : 03.07.2014
  • Vatansever, F., Batık, Z., "İnternette Ajax Tekniği", 6th International Advanced Technologies Symposium, Elazığ, Türkiye, 2011