Ana içeriğe geç

Apache Spark

Bu makalede

Bilgi

Apache Spark, gerçek zamanlı veri akışı işleme, makine öğrenimi ve veritabanı analizi gibi çeşitli görevler için kullanılabilecek güçlü ve hızlı bir büyük veri işleme motorudur. Spark, Scala, Java, Python ve R dahil olmak üzere birden fazla programlama dilinde esnek bir API sağlar.

Apache Spark'ın Temel Özellikleri

  • Yüksek Performans: Spark, dağıtık veri işleme ve optimize edilmiş algoritmalar kullanarak geleneksel çözümlere göre büyük veri hacimlerini daha hızlı işleyebilir.
  • Dağıtıklık: Spark, birden fazla düğümden oluşan küme üzerinde çalışabilir, böylece veri işleme ihtiyacınıza göre ölçeklenebilir.
  • Çeşitli API'ler: Spark, çeşitli programlama dillerinde API'ler sunar, bu da farklı senaryolar ve geliştirme ekipleri için uygun hale getirir.
  • Çeşitli Veri Tiplerini Destekleme: Spark, yapılandırılmış veriler (tablolar), yapılandırılmamış veriler (metin, görseller) ve yarı yapılandırılmış veriler (JSON) dahil olmak üzere farklı veri tipleriyle çalışabilir.
  • Spark GraphX: Büyük grafikler üzerinde işlemleri mümkün kılan grafiksel bir API.

Çalıştırma Özellikleri

ID Yazılım Adı Uyumlu OS VM BM VGPU GPU Min CPU (Çekirdekler) Min RAM (GB) Min HDD/SSD (GB) Özel Alan Adı Aktif
204 Apache Spark Ubuntu 22.04 + + + + 6 8 160 Hayır SİPARİŞ VER
  • Kontrol paneline erişim: https://spark{Server_ID_from_Invapi}.hostkey.in
  • İşletim sistemi ile birlikte kontrol panelinin kurulum süresi yaklaşık 15 dakikadır.

Not

Aksi belirtilmedikçe, geliştiricinin web sitesinden veya işletim sistemi depolarından yazılımın en son sürümünü varsayılan olarak kurarız.

Apache Spark'ı Dağıttıktan Sonra Başlangıç

Siparişinizi ödedikten sonra, sunucu kullanıma hazır olduğunda e-posta yoluyla (kayıt sırasında belirtilen adrese) bir bildirim alırsınız. Bu bildirim, VPS IP adresini ve bağlantı için giriş bilgilerini içerecektir. Şirketimizin müşterileri, donanımlarını sunucu kontrol paneli ve API - Invapi üzerinden yönetir.

Kimlik doğrulama verileri, sunucu kontrol panelinin Configuration >> Tags sekmesinde veya sunucu kullanıma hazır olduğunda size gönderilen e-postada bulunabilir:

  • Apache Airflow web arayüzüne erişim bağlantısı: webpanel etiketinde;
  • Giriş ve Şifre: Sunucu kullanıma hazır olduğunda kayıtlı e-posta adresinize gönderilen e-postada sağlanır.

Apache Spark'ı Yapılandırma

Spark, yerel bir bilgisayarda veya dağıtık bir ortamda başlatılabilir. webpanel etiketindeki bağlantıya tıklamadan önce şunları yapmanız gerekir:

Sunucuya SSH üzerinden bağlanın:

ssh root@<server_ip>

Ardından, Bileşenleri Başlatma bölümündeki tablodaki komutu kullanarak gerekli uygulamayı başlatın.

Aksi takdirde, bağlantıya tıklamak 502 (Bad Gateway) hatası gösterecektir.

Bileşenleri Başlatma

Uygulama, Standalone Master, Standalone Worker ve History Server gibi çeşitli Spark bileşenlerini aşağıdaki tablodaki komutlarla web arayüzü kullanarak başlatabilirsiniz.

Ad Yerel Adres ve Port Harici Adres Başlatma Komutu
Uygulama localhost:4040 https://spark{Server_ID_from_Invapi}.hostkey.in /root/spark-3.5.3-bin-hadoop3/bin/./spark-shell
Standalone Master localhost:8080 https://spark{Server_ID_from_Invapi}.hostkey.in/master /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh
Standalone Worker localhost:8081 https://spark{Server_ID_from_Invapi}.hostkey.in/worker /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh spark://hostname:port
History Server localhost:18080 https://spark{Server_ID_from_Invapi}.hostkey.in/history mkdir /tmp/spark-events
/root/spark-3.5.3-bin-hadoop3/sbin/./start-history-server.sh

Spark bileşenlerini başlatma komutlarının kullanılan sürüme göre değişebileceğini lütfen unutmayın. Yukarıdaki örnekler Spark 3.5.3 sürümünü kullanır. Spark'ı güncellediğinizde, komutlardaki yolları buna göre ayarlamanız gerekecektir. Bileşen başlatma komutları hakkında en doğru bilgi için her zaman en son Spark dokümantasyonuna başvurmanız önerilir. Sürümü kontrol etmek için sunucuya SSH üzerinden bağlanın ve aşağıdaki komutu girin:

ls /root

Bu komutun çıktısı, /root dizininin içeriğini, kurulu sürümü içeren spark dizini dahil olmak üzere listeleyecektir:

Spark bileşenlerini başlattıktan sonra, belirtilen harici adresler aracılığıyla web arayüzlerine erişebilirsiniz. Spark Uygulaması arayüzünün bir örneğini düşünün:

Bu örnek, https://spark{Server_ID_from_Invapi}.hostkey.in adresinde erişilebilen Spark Uygulaması arayüzünü göstermektedir. Bu arayüz, çalışan görevler, işleme aşamaları, bellek kullanımı ve diğer temel metrikler hakkında bilgi sunar.

Bu arayüzdeki diğer Spark bileşenlerine (örneğin, Standalone Master veya Worker) bağlantıların başka bir makineden bağlanırken çalışmayacağını belirtmek önemlidir. Bu durum güvenlik ayarlarından kaynaklanmaktadır: bileşenler yerel çalışma için yapılandırılmıştır ve yalnızca alan adı aracılığıyla erişilebilen web arayüzü harici olarak sunulmaktadır.

Bu yapılandırmayı değiştirmek ve tüm bileşenlere harici erişimi etkinleştirmek için aşağıdaki adımları gerçekleştirmeniz gerekir:

  1. /root/nginx dizininde docker compose up down komutunu çalıştırarak mevcut Docker konteynerini durdurun ve kaldırın.
  2. /etc/environment dosyasından SPARK_LOCAL_IP="127.0.0.1" satırını silin.

Bu değişikliklerden sonra, Spark web arayüzü SSL sertifikası olmadan beyaz IP adresi aracılığıyla erişilebilir olacaktır. Bu değişiklik, çalışma sırasında bileşenler arasında bağlantı sorunları ortaya çıkarsa bunları da çözebilir.

Not

Bu yapılandırmanın Spark kümesinin güvenlik seviyesini düşürdüğünü unutmamak önemlidir. Yalnızca gerektiğinde ve güvenli bir ağ ortamında kullanılmalıdır. Bu yapılandırmayı kullanıyorsanız, Spark içinde SSL bağlantılarını yapılandırmayı veya kümeyi korumak için diğer güvenlik önlemlerini uygulamayı düşünün.

Yolları Özelleştirme

  1. /root/nginx dizininde docker compose up down komutunu çalıştırarak Docker konteynerini durdurun.
  2. Nginx yapılandırma dosyasında gerekli düzenlemeleri yapın: /data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf.
  3. /root/nginx dizininden docker compose up -d komutunu kullanarak Docker konteynerini yeniden başlatın.

Not

Apache Spark'ın temel ayarları hakkında ayrıntılı bilgi geliştirici dokümantasyonunda bulunabilir.

API Kullanarak Apache Spark ile Bir Sunucu Siparişi