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:
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:
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:
/root/nginxdizinindedocker compose up downkomutunu çalıştırarak mevcut Docker konteynerini durdurun ve kaldırın./etc/environmentdosyasındanSPARK_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¶
/root/nginxdizinindedocker compose up downkomutunu çalıştırarak Docker konteynerini durdurun.- Nginx yapılandırma dosyasında gerekli düzenlemeleri yapın:
/data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf. /root/nginxdizinindendocker compose up -dkomutunu kullanarak Docker konteynerini yeniden başlatın.
Not
Apache Spark'ın temel ayarları hakkında ayrıntılı bilgi geliştirici dokümantasyonunda bulunabilir.