{"id":37342,"date":"2025-12-31T19:40:55","date_gmt":"2025-12-31T16:40:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37342"},"modified":"2025-12-31T19:40:55","modified_gmt":"2025-12-31T16:40:55","slug":"ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/","title":{"rendered":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?<\/h2>\n<p>Apache Cassandra, b\u00fcy\u00fck \u00f6l\u00e7ekli ve y\u00fcksek eri\u015filebilirlikli veri depolama gereksinimleri olan uygulamalar i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131, da\u011f\u0131t\u0131k bir NoSQL veritaban\u0131 sistemidir. Geleneksel ili\u015fkisel veritabanlar\u0131n\u0131n aksine, Cassandra do\u011frusal olarak \u00f6l\u00e7eklenebilir, yani daha fazla sunucu ekleyerek kapasitesini ve performans\u0131n\u0131 art\u0131rabilir. Ayn\u0131 zamanda hata toleransl\u0131 bir yap\u0131ya sahiptir; bir veya daha fazla d\u00fc\u011f\u00fcm\u00fcn (node) ar\u0131zalanmas\u0131 durumunda bile veri eri\u015filebilirli\u011fini s\u00fcrd\u00fcrebilir. Bu \u00f6zellikler, Cassandra&#8217;y\u0131 b\u00fcy\u00fck veri, ger\u00e7ek zamanl\u0131 analizler, IoT ve di\u011fer yo\u011fun veri i\u015fleme senaryolar\u0131 i\u00e7in ideal bir se\u00e7enek haline getirir.<\/p>\n<p>Bir Cassandra k\u00fcmesini tek bir sunucuda \u00e7al\u0131\u015ft\u0131rmak m\u00fcmk\u00fcnd\u00fcr, ancak ger\u00e7ek d\u00fcnya senaryolar\u0131nda Cassandra&#8217;n\u0131n t\u00fcm potansiyelinden yararlanmak i\u00e7in \u00e7ok d\u00fc\u011f\u00fcml\u00fc bir yap\u0131land\u0131rma gereklidir. \u00c7ok d\u00fc\u011f\u00fcml\u00fc bir k\u00fcme, verileri birden fazla sunucuya da\u011f\u0131tarak hem depolama kapasitesini hem de i\u015flem g\u00fcc\u00fcn\u00fc art\u0131r\u0131r, ayn\u0131 zamanda veri yedeklili\u011fi sa\u011flayarak sistemin genel g\u00fcvenilirli\u011fini y\u00fckseltir. Bu makalede, Ubuntu tabanl\u0131 Sanal \u00d6zel Sunucular (VPS) \u00fczerinde Apache Cassandra&#8217;n\u0131n \u00e7ok d\u00fc\u011f\u00fcml\u00fc bir k\u00fcmesini ad\u0131m ad\u0131m nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Bu rehber, hem yeni ba\u015flayanlar hem de mevcut sistemlerini geni\u015fletmek isteyenler i\u00e7in kapsaml\u0131 bir kaynak olmay\u0131 hedeflemektedir.<\/p>\n<h3>\u00d6nko\u015fullar<\/h3>\n<p>Bir Cassandra k\u00fcmesi yap\u0131land\u0131rmas\u0131na ba\u015flamadan \u00f6nce, baz\u0131 temel \u00f6nko\u015fullar\u0131 kar\u015f\u0131laman\u0131z gerekmektedir. Bu \u00f6nko\u015fullar, kurulum s\u00fcrecini sorunsuz hale getirecek ve olas\u0131 problemleri en aza indirecektir.<\/p>\n<h4>VPS \u00d6rnekleri<\/h4>\n<p>\u00c7ok d\u00fc\u011f\u00fcml\u00fc bir k\u00fcme i\u00e7in en az \u00fc\u00e7 adet Ubuntu 20.04 veya 22.04 LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fcne sahip VPS \u00f6rne\u011fine ihtiyac\u0131n\u0131z olacakt\u0131r. Cassandra&#8217;n\u0131n da\u011f\u0131t\u0131k mimarisini ve hata tolerans\u0131n\u0131 tam olarak deneyimlemek i\u00e7in \u00fc\u00e7 d\u00fc\u011f\u00fcm ideal bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Her bir VPS&#8217;in en az 2 vCPU, 8 GB RAM ve SSD depolama alan\u0131na sahip olmas\u0131 \u00f6nerilir. Daha b\u00fcy\u00fck veri setleri veya daha yo\u011fun i\u015f y\u00fckleri i\u00e7in daha g\u00fc\u00e7l\u00fc kaynaklar gerekebilir.<\/p>\n<h4>SSH Eri\u015fimi ve Sudo Yetkileri<\/h4>\n<p>Her bir VPS&#8217;e SSH (Secure Shell) \u00fczerinden eri\u015fiminiz olmal\u0131 ve kurulum ile yap\u0131land\u0131rma komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>sudo<\/code> (root yetkileri) ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z bulunmal\u0131d\u0131r.<\/p>\n<h4>Temel Linux Bilgisi<\/h4>\n<p>Temel Linux komut sat\u0131r\u0131 bilgisi (dosya sistemi navigasyonu, dosya d\u00fczenleme, servis y\u00f6netimi vb.) bu rehberi takip etmek i\u00e7in faydal\u0131 olacakt\u0131r.<\/p>\n<h4>A\u011f Yap\u0131land\u0131rmas\u0131 ve G\u00fcvenlik Duvar\u0131<\/h4>\n<p>D\u00fc\u011f\u00fcmler aras\u0131 ileti\u015fimi sa\u011flamak i\u00e7in VPS&#8217;lerinizin birbirleriyle a\u011f \u00fczerinden ileti\u015fim kurabildi\u011finden emin olun. Ayr\u0131ca, g\u00fcvenlik duvar\u0131 (UFW gibi) yap\u0131land\u0131rmas\u0131n\u0131 do\u011fru bir \u015fekilde yapman\u0131z gerekecektir. Cassandra&#8217;n\u0131n kulland\u0131\u011f\u0131 portlar\u0131 a\u00e7mak, k\u00fcmenin d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Java Geli\u015ftirme Kiti (JDK)<\/h4>\n<p>Cassandra Java ile yaz\u0131lm\u0131\u015ft\u0131r ve \u00e7al\u0131\u015fmak i\u00e7in bir Java Sanal Makinesi (JVM) gerektirir. Apache Cassandra&#8217;n\u0131n belirli bir s\u00fcr\u00fcm\u00fc i\u00e7in uygun OpenJDK s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131z gerekecektir (genellikle OpenJDK 11 veya 17).<\/p>\n<h3>Ad\u0131m 1: Ubuntu VPS \u00d6rneklerini Haz\u0131rlama<\/h3>\n<p>Her bir Ubuntu VPS \u00f6rne\u011fini Cassandra kurulumu i\u00e7in haz\u0131rlamak, k\u00fcmenin istikrarl\u0131 ve verimli \u00e7al\u0131\u015fmas\u0131 i\u00e7in temel bir ad\u0131md\u0131r. Bu ad\u0131mlar her d\u00fc\u011f\u00fcmde ayr\u0131 ayr\u0131 uygulanmal\u0131d\u0131r.<\/p>\n<h4>Sistem G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, her sunucudaki paket listesini ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h4>Ana Bilgisayar Adlar\u0131n\u0131 Ayarlama<\/h4>\n<p>Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz ve anlaml\u0131 bir ana bilgisayar ad\u0131 (hostname) belirlemek, k\u00fcme y\u00f6netimi ve hata ay\u0131klamas\u0131 i\u00e7in \u00f6nemlidir. \u00d6rne\u011fin, <code>cassandra-node1<\/code>, <code>cassandra-node2<\/code>, <code>cassandra-node3<\/code> gibi isimler kullanabilirsiniz.<\/p>\n<pre><code class=\"language-bash\"># cassandra-node1 i\u00e7in\nsudo hostnamectl set-hostname cassandra-node1<\/code><\/pre>\n<p>Di\u011fer d\u00fc\u011f\u00fcmler i\u00e7in de <code>cassandra-node2<\/code> ve <code>cassandra-node3<\/code> olarak ayarlay\u0131n.<\/p>\n<p><code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek her d\u00fc\u011f\u00fcm\u00fcn IP adresini ve ana bilgisayar ad\u0131n\u0131 eklemek, d\u00fc\u011f\u00fcmler aras\u0131 ileti\u015fimi kolayla\u015ft\u0131r\u0131r ve olas\u0131 DNS sorunlar\u0131n\u0131 \u00f6nler. Bu, \u00f6zellikle \u00f6zel a\u011flarda veya DNS \u00e7\u00f6z\u00fcmlemesi olmayan ortamlarda \u00f6nemlidir. Her d\u00fc\u011f\u00fcmde <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve t\u00fcm d\u00fc\u011f\u00fcmlerin IP adreslerini ve ana bilgisayar adlar\u0131n\u0131 ekleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hosts<\/code><\/pre>\n<p>Dosyaya \u015funlar\u0131 ekleyin (IP adreslerini kendi VPS&#8217;lerinizin adresleriyle de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-\">127.0.0.1       localhost\n192.168.1.101   cassandra-node1\n192.168.1.102   cassandra-node2\n192.168.1.103   cassandra-node3\n\n<h2>The following lines are desirable for IPv6 capable hosts<\/h2>\n::1     ip6-localhost ip6-loopback\nfe00::0 ip6-localnet\nff00::0 ip6-mcastprefix\nff02::1 ip6-allnodes\nff02::2 ip6-allrouters<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve dosyay\u0131 kapat\u0131n.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>Ubuntu&#8217;da varsay\u0131lan g\u00fcvenlik duvar\u0131 olan UFW (Uncomplicated Firewall) ile Cassandra&#8217;n\u0131n ihtiya\u00e7 duydu\u011fu portlar\u0131 a\u00e7man\u0131z gerekir. Bu, k\u00fcmenin g\u00fcvenli\u011fini sa\u011flarken d\u00fc\u011f\u00fcmlerin birbirleriyle ve istemcilerle ileti\u015fim kurmas\u0131na olanak tan\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH # SSH eri\u015fimine izin ver\nsudo ufw allow 7000\/tcp # K\u00fcme i\u00e7i ileti\u015fim (inter-node communication)\nsudo ufw allow 7001\/tcp # K\u00fcme i\u00e7i SSL ileti\u015fim (inter-node SSL communication)\nsudo ufw allow 7199\/tcp # JMX (Java Management Extensions) i\u00e7in, monitoring ama\u00e7l\u0131\nsudo ufw allow 9042\/tcp # CQL (Cassandra Query Language) istemci ba\u011flant\u0131lar\u0131\nsudo ufw allow 9160\/tcp # Thrift istemci ba\u011flant\u0131lar\u0131 (eski istemciler i\u00e7in, modern uygulamalar CQL kullan\u0131r)\nsudo ufw enable # G\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftir\nsudo ufw status # G\u00fcvenlik duvar\u0131 durumunu kontrol et<\/code><\/pre>\n<p><code>sudo ufw enable<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, mevcut SSH ba\u011flant\u0131n\u0131z\u0131n kesilebilece\u011fi konusunda bir uyar\u0131 alabilirsiniz. Onaylamak i\u00e7in <code>y<\/code> yaz\u0131p Enter tu\u015funa bas\u0131n.<\/p>\n<h4>Java Geli\u015ftirme Kiti (JDK) Kurulumu<\/h4>\n<p>Cassandra&#8217;n\u0131n gerektirdi\u011fi Java s\u00fcr\u00fcm\u00fcn\u00fc (genellikle OpenJDK 11 veya 17) her d\u00fc\u011f\u00fcme kurun. Cassandra 4.x s\u00fcr\u00fcmleri i\u00e7in OpenJDK 11 yayg\u0131n olarak kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-11-jdk -y<\/code><\/pre>\n<p>Kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">java -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, y\u00fckl\u00fc Java s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir.<\/p>\n<h4>Swap Alan\u0131n\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p>Cassandra, y\u00fcksek performansl\u0131 disk I\/O i\u015flemleri gerektiren bir sistemdir ve i\u015fletim sistemi taraf\u0131ndan kullan\u0131lan swap alan\u0131, performans d\u00fc\u015f\u00fc\u015flerine neden olabilir. Bu nedenle, Cassandra d\u00fc\u011f\u00fcmlerinde swap&#8217;\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">sudo swapoff -a # Ge\u00e7ici olarak swap'\u0131 devre d\u0131\u015f\u0131 b\u0131rak<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fi kal\u0131c\u0131 hale getirmek i\u00e7in <code>\/etc\/fstab<\/code> dosyas\u0131n\u0131 d\u00fczenlemeniz gerekir. Swap sat\u0131r\u0131n\u0131 yorum sat\u0131r\u0131 haline getirin veya silin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/fstab<\/code><\/pre>\n<p>Swap b\u00f6l\u00fcm\u00fcn\u00fc g\u00f6steren sat\u0131r\u0131n ba\u015f\u0131na <code>#<\/code> ekleyin (\u00f6rne\u011fin, <code>\/swapfile none swap sw 0 0<\/code> gibi bir sat\u0131r).<\/p>\n<h3>Ad\u0131m 2: Apache Cassandra Kurulumu<\/h3>\n<p>VPS \u00f6rnekleri haz\u0131rland\u0131ktan sonra, Apache Cassandra&#8217;y\u0131 her bir d\u00fc\u011f\u00fcme kurma i\u015flemine ge\u00e7ebiliriz. Bu ad\u0131mlar da her d\u00fc\u011f\u00fcmde ayr\u0131 ayr\u0131 uygulanmal\u0131d\u0131r.<\/p>\n<h4>Cassandra Deposu Ekleme<\/h4>\n<p>Apache Cassandra, Ubuntu&#8217;nun varsay\u0131lan depolar\u0131nda bulunmaz. Cassandra&#8217;n\u0131n kendi APT deposunu eklemeniz gerekir.<\/p>\n<p>1.  <strong>GPG Anahtar\u0131n\u0131 \u0130\u00e7e Aktarma:<\/strong> Cassandra paketlerinin do\u011frulu\u011funu sa\u011flamak i\u00e7in Apache&#8217;nin GPG anahtar\u0131n\u0131 i\u00e7e aktar\u0131n:<\/p>\n<pre><code class=\"language-bash\">curl -L https:\/\/downloads.apache.org\/cassandra\/KEYS | sudo apt-key add -<\/code><\/pre>\n<p>2.  <strong>Cassandra Deposunu Ekleme:<\/strong> <code>sources.list.d<\/code> dizinine Cassandra deposunu ekleyin. Cassandra&#8217;n\u0131n 4.x s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n. Belirli bir minor s\u00fcr\u00fcm (\u00f6rne\u011fin 4.0 veya 4.1) i\u00e7in <code>40x<\/code> yerine <code>40<\/code> veya <code>41<\/code> yazabilirsiniz. Bu \u00f6rnekte <code>40x<\/code> genel bir ifade olarak kullan\u0131lm\u0131\u015ft\u0131r, genellikle en son 4.x s\u00fcr\u00fcm\u00fcn\u00fc ifade eder.<\/p>\n<pre><code class=\"language-bash\">sudo sh -c 'echo \"deb http:\/\/www.apache.org\/dist\/cassandra\/debian 40x main\" > \/etc\/apt\/sources.list.d\/cassandra.list'<\/code><\/pre>\n<p>    E\u011fer Cassandra 4.1.x kurmak istiyorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo sh -c 'echo \"deb http:\/\/www.apache.org\/dist\/cassandra\/debian 41x main\" > \/etc\/apt\/sources.list.d\/cassandra.list'<\/code><\/pre>\n<h4>Paket Listesini G\u00fcncelleme<\/h4>\n<p>Yeni eklenen depoyu sisteminize tan\u0131tmak i\u00e7in paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<h4>Cassandra Kurulumu<\/h4>\n<p>\u015eimdi Apache Cassandra&#8217;y\u0131 y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install cassandra -y<\/code><\/pre>\n<p>Bu komut, Cassandra&#8217;y\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kuracakt\u0131r. Kurulum tamamland\u0131\u011f\u0131nda, Cassandra servisi otomatik olarak ba\u015flayabilir. Ancak, \u00e7ok d\u00fc\u011f\u00fcml\u00fc bir k\u00fcme yap\u0131land\u0131rmas\u0131 yapaca\u011f\u0131m\u0131z i\u00e7in, servisi \u015fimdilik durdurup yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyece\u011fiz.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop cassandra\nsudo systemctl disable cassandra # \u015eimdilik otomatik ba\u015flamas\u0131n\u0131 engelle<\/code><\/pre>\n<h4>Kurulumu Do\u011frulama (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>Cassandra hen\u00fcz yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131 i\u00e7in <code>nodetool<\/code> komutu tam bilgi vermeyebilir, ancak Cassandra&#8217;n\u0131n y\u00fcklendi\u011fini ve \u00e7al\u0131\u015ft\u0131r\u0131labilir oldu\u011funu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nodetool status<\/code><\/pre>\n<p>Bu komut, Cassandra servisi \u00e7al\u0131\u015fm\u0131yorsa hata verecektir veya tek bir d\u00fc\u011f\u00fcm olarak g\u00f6r\u00fcn\u00fcrse <code>UN<\/code> (Up\/Normal) durumunda olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 3: \u00c7ok D\u00fc\u011f\u00fcml\u00fc K\u00fcme \u0130\u00e7in Cassandra Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Cassandra&#8217;n\u0131n kalbi, <code>cassandra.yaml<\/code> yap\u0131land\u0131rma dosyas\u0131d\u0131r. Bu dosya, Cassandra&#8217;n\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, verileri nerede depolad\u0131\u011f\u0131n\u0131 ve di\u011fer d\u00fc\u011f\u00fcmlerle nas\u0131l ileti\u015fim kurdu\u011funu tan\u0131mlar. Her d\u00fc\u011f\u00fcmde bu dosyay\u0131 d\u00fczenleyerek k\u00fcmenin bir par\u00e7as\u0131 haline gelmelerini sa\u011flayaca\u011f\u0131z. Yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/cassandra\/cassandra.yaml<\/code> konumundad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/cassandra\/cassandra.yaml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki anahtar parametreleri her d\u00fc\u011f\u00fcmde kendi de\u011ferleriyle g\u00fcncelleyin:<\/p>\n<p>1.  <strong><code>cluster_name<\/code><\/strong>: K\u00fcmenizin ad\u0131n\u0131 belirler. T\u00fcm d\u00fc\u011f\u00fcmlerde ayn\u0131 olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-yaml\">cluster_name: 'MyCassandraCluster'<\/code><\/pre>\n<p>2.  <strong><code>num_tokens<\/code><\/strong>: Bir d\u00fc\u011f\u00fcm\u00fcn veri halkas\u0131nda sahip oldu\u011fu sanal d\u00fc\u011f\u00fcm (vnode) say\u0131s\u0131n\u0131 belirler. Varsay\u0131lan <code>256<\/code> \u00e7o\u011fu senaryo i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<pre><code class=\"language-yaml\">num_tokens: 256<\/code><\/pre>\n<p>3.  <strong><code>listen_address<\/code><\/strong>: Cassandra d\u00fc\u011f\u00fcm\u00fcn\u00fcn di\u011fer Cassandra d\u00fc\u011f\u00fcmlerinden gelen dahili (inter-node) ileti\u015fimleri dinleyece\u011fi IP adresidir. Her d\u00fc\u011f\u00fcm i\u00e7in kendi \u00f6zel IP adresini kullan\u0131n.<\/p>\n<pre><code class=\"language-yaml\"># cassandra-node1 i\u00e7in\n    listen_address: 192.168.1.101\n\n    # cassandra-node2 i\u00e7in\n    # listen_address: 192.168.1.102\n\n    # cassandra-node3 i\u00e7in\n    # listen_address: 192.168.1.103<\/code><\/pre>\n<p>    Bu de\u011feri <code>0.0.0.0<\/code> olarak ayarlamak, t\u00fcm a\u011f aray\u00fczlerinden gelen ba\u011flant\u0131lar\u0131 dinlemesini sa\u011flar, ancak belirli bir IP adresi belirtmek daha g\u00fcvenlidir.<\/p>\n<p>4.  <strong><code>rpc_address<\/code><\/strong>: \u0130stemci ba\u011flant\u0131lar\u0131n\u0131n (CQLsh, uygulama s\u00fcr\u00fcc\u00fcleri vb.) bu d\u00fc\u011f\u00fcme ba\u011flanaca\u011f\u0131 IP adresidir. Genellikle <code>listen_address<\/code> ile ayn\u0131d\u0131r veya <code>0.0.0.0<\/code> olarak ayarlanabilir. <code>0.0.0.0<\/code> olarak ayarland\u0131\u011f\u0131nda, istemcilerin herhangi bir a\u011f aray\u00fcz\u00fc \u00fczerinden ba\u011flanmas\u0131na izin verir.<\/p>\n<pre><code class=\"language-yaml\"># cassandra-node1 i\u00e7in\n    rpc_address: 192.168.1.101\n\n    # Di\u011fer d\u00fc\u011f\u00fcmler i\u00e7in de kendi IP adreslerini kullan\u0131n.<\/code><\/pre>\n<p>    E\u011fer <code>rpc_address<\/code> <code>0.0.0.0<\/code> olarak ayarlan\u0131rsa, <code>broadcast_rpc_address<\/code> de\u011ferini de d\u00fc\u011f\u00fcm\u00fcn d\u0131\u015far\u0131dan eri\u015filebilir IP adresine ayarlaman\u0131z gerekebilir.<\/p>\n<p>5.  <strong><code>seeds<\/code><\/strong>: K\u00fcmedeki \u00e7ekirdek d\u00fc\u011f\u00fcmlerin (seed nodes) IP adreslerinin virg\u00fclle ayr\u0131lm\u0131\u015f listesidir. Cassandra d\u00fc\u011f\u00fcmleri, k\u00fcmedeki di\u011fer d\u00fc\u011f\u00fcmleri ke\u015ffetmek i\u00e7in \u00e7ekirdek d\u00fc\u011f\u00fcmleri kullan\u0131r. T\u00fcm d\u00fc\u011f\u00fcmlerin \u00e7ekirdek d\u00fc\u011f\u00fcm olmas\u0131 gerekmez, ancak en az iki \u00e7ekirdek d\u00fc\u011f\u00fcm, y\u00fcksek eri\u015filebilirlik i\u00e7in \u00f6nerilir. Bu \u00f6rnekte, <code>cassandra-node1<\/code> ve <code>cassandra-node2<\/code>&#8216;yi \u00e7ekirdek d\u00fc\u011f\u00fcm olarak belirleyelim. Bu de\u011fer, t\u00fcm d\u00fc\u011f\u00fcmlerde ayn\u0131 olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-yaml\">seeds: \"192.168.1.101,192.168.1.102\"<\/code><\/pre>\n<p>6.  <strong><code>data_file_directories<\/code><\/strong>, <strong><code>commitlog_directory<\/code><\/strong>, <strong><code>saved_caches_directory<\/code><\/strong>: Bu dizinler, Cassandra&#8217;n\u0131n verilerini, commit loglar\u0131n\u0131 ve \u00f6nbelleklerini depolad\u0131\u011f\u0131 yerlerdir. Varsay\u0131lan de\u011ferler genellikle yeterlidir, ancak performans\u0131 art\u0131rmak veya depolama alan\u0131n\u0131 y\u00f6netmek i\u00e7in bunlar\u0131 farkl\u0131 disklere veya dizinlere ta\u015f\u0131yabilirsiniz. Varsay\u0131lanlar\u0131 genellikle <code>\/var\/lib\/cassandra\/data<\/code>, <code>\/var\/lib\/cassandra\/commitlog<\/code> ve <code>\/var\/lib\/cassandra\/saved_caches<\/code> \u015feklindedir.<\/p>\n<pre><code class=\"language-yaml\">data_file_directories:\n        - \/var\/lib\/cassandra\/data\n    commitlog_directory: \/var\/lib\/cassandra\/commitlog\n    saved_caches_directory: \/var\/lib\/cassandra\/saved_caches<\/code><\/pre>\n<p>7.  <strong><code>endpoint_snitch<\/code><\/strong>: Cassandra&#8217;n\u0131n d\u00fc\u011f\u00fcmlerin a\u011f topolojisini nas\u0131l yorumlad\u0131\u011f\u0131n\u0131 belirler. Basit bir k\u00fcme i\u00e7in <code>SimpleSnitch<\/code> kullan\u0131labilir, ancak \u00e7ok d\u00fc\u011f\u00fcml\u00fc ve \u00f6zellikle birden fazla veri merkezine yay\u0131lan k\u00fcmeler i\u00e7in <code>GossipingPropertyFileSnitch<\/code> veya <code>RackInferringSnitch<\/code> gibi daha geli\u015fmi\u015f snitch&#8217;ler \u00f6nerilir. <code>GossipingPropertyFileSnitch<\/code>, <code>\/etc\/cassandra\/cassandra-rackdc.properties<\/code> dosyas\u0131ndan veri merkezi ve rack bilgilerini okur.<\/p>\n<pre><code class=\"language-yaml\">endpoint_snitch: GossipingPropertyFileSnitch<\/code><\/pre>\n<p>    E\u011fer <code>GossipingPropertyFileSnitch<\/code> kullan\u0131yorsan\u0131z, her d\u00fc\u011f\u00fcmde <code>\/etc\/cassandra\/cassandra-rackdc.properties<\/code> dosyas\u0131n\u0131 da d\u00fczenlemeniz gerekir. Bu dosya, her d\u00fc\u011f\u00fcm\u00fcn hangi veri merkezine ve rack&#8217;e ait oldu\u011funu tan\u0131mlar.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/cassandra\/cassandra-rackdc.properties<\/code><\/pre>\n<p>    \u00d6rne\u011fin, t\u00fcm d\u00fc\u011f\u00fcmlerin tek bir veri merkezinde oldu\u011funu varsayal\u0131m (\u00f6rne\u011fin <code>datacenter1<\/code>) ve farkl\u0131 rack&#8217;lere da\u011f\u0131ld\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnelim (\u00f6rne\u011fin <code>rack1<\/code>, <code>rack2<\/code>, <code>rack3<\/code>).<\/p>\n<p>    <strong>cassandra-node1 i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-properties\">dc=datacenter1\n    rack=rack1<\/code><\/pre>\n<p>    <strong>cassandra-node2 i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-properties\">dc=datacenter1\n    rack=rack2<\/code><\/pre>\n<p>    <strong>cassandra-node3 i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-properties\">dc=datacenter1\n    rack=rack3<\/code><\/pre>\n<p>    Bu yap\u0131land\u0131rma, Cassandra&#8217;n\u0131n verileri co\u011frafi ve mant\u0131ksal olarak nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131 anlamas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<p>T\u00fcm bu de\u011fi\u015fiklikleri her d\u00fc\u011f\u00fcmde uygulad\u0131ktan sonra, <code>cassandra.yaml<\/code> dosyas\u0131n\u0131 kaydedin ve kapat\u0131n.<\/p>\n<h3>Ad\u0131m 4: K\u00fcmeyi Ba\u015flatma ve Do\u011frulama<\/h3>\n<p>Yap\u0131land\u0131rma tamamland\u0131ktan sonra, Cassandra d\u00fc\u011f\u00fcmlerini ba\u015flatabilir ve k\u00fcmenin d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayabiliriz.<\/p>\n<h4>D\u00fc\u011f\u00fcmleri Ba\u015flatma S\u0131ras\u0131<\/h4>\n<p>\u00c7ekirdek d\u00fc\u011f\u00fcmleri (seed nodes) \u00f6nce ba\u015flatmak iyi bir uygulamad\u0131r, \u00e7\u00fcnk\u00fc di\u011fer d\u00fc\u011f\u00fcmler k\u00fcme hakk\u0131nda bilgi almak i\u00e7in onlara g\u00fcvenir.<\/p>\n<p>1.  <strong>\u00c7ekirdek D\u00fc\u011f\u00fcmleri Ba\u015flatma (cassandra-node1 ve cassandra-node2):<\/strong><br \/>\n    Her iki \u00e7ekirdek d\u00fc\u011f\u00fcmde de Cassandra servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start cassandra\n    sudo systemctl enable cassandra<\/code><\/pre>\n<p>2.  <strong>Di\u011fer D\u00fc\u011f\u00fcmleri Ba\u015flatma (cassandra-node3):<\/strong><br \/>\n    \u00c7ekirdek d\u00fc\u011f\u00fcmler ba\u015flad\u0131ktan ve k\u0131sa bir s\u00fcre sonra (yakla\u015f\u0131k 30 saniye ile 1 dakika) di\u011fer d\u00fc\u011f\u00fcmleri ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start cassandra\n    sudo systemctl enable cassandra<\/code><\/pre>\n<h4>K\u00fcme Durumunu Do\u011frulama<\/h4>\n<p>Herhangi bir d\u00fc\u011f\u00fcmde <code>nodetool status<\/code> komutunu kullanarak k\u00fcmenin durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nodetool status<\/code><\/pre>\n<p>Beklenen \u00e7\u0131kt\u0131ya benzer bir \u015fey g\u00f6rmelisiniz:<\/p>\n<pre><code class=\"language-\">Datacenter: datacenter1\n=======================\nStatus=Up\/Normal\n| State=Normal\n|\/ Load       Tokens    Owns (effective) Host ID                               Rack\n--  ---------- --------  ---------------- ------------------------------------  --------\nUN  192.168.1.101 100.00%   34.3%            xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rack1\nUN  192.168.1.102 100.00%   33.2%            xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rack2\nUN  192.168.1.103 100.00%   32.5%            xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rack3<\/code><\/pre>\n<p>*   <code>Status=Up\/Normal<\/code>: D\u00fc\u011f\u00fcm\u00fcn \u00e7al\u0131\u015f\u0131r durumda ve normal oldu\u011funu g\u00f6sterir. <code>DN<\/code> (Down\/Normal) veya <code>UJ<\/code> (Up\/Joining) gibi durumlar sorun oldu\u011funu g\u00f6sterir.<br \/>\n*   <code>Load<\/code>: D\u00fc\u011f\u00fcmdeki veri miktar\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>Owns<\/code>: D\u00fc\u011f\u00fcm\u00fcn veri halkas\u0131n\u0131n y\u00fczde ka\u00e7\u0131na sahip oldu\u011funu g\u00f6sterir.<br \/>\n*   <code>Host ID<\/code>: Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz bir tan\u0131mlay\u0131c\u0131d\u0131r.<br \/>\n*   <code>Rack<\/code>: <code>\/etc\/cassandra\/cassandra-rackdc.properties<\/code> dosyas\u0131nda tan\u0131mlanan rack bilgisidir.<\/p>\n<p>E\u011fer t\u00fcm d\u00fc\u011f\u00fcmler <code>UN<\/code> durumundaysa, k\u00fcmeniz ba\u015far\u0131yla yap\u0131land\u0131r\u0131lm\u0131\u015f ve \u00e7al\u0131\u015f\u0131yor demektir.<\/p>\n<h4>Sorun Giderme<\/h4>\n<p>*   <strong>D\u00fc\u011f\u00fcmler g\u00f6r\u00fcnm\u00fcyor veya <code>DN<\/code> durumunda:<\/strong><br \/>\n    *   <code>sudo systemctl status cassandra<\/code> komutuyla Cassandra servisinin durumunu kontrol edin.<br \/>\n    *   <code>\/var\/log\/cassandra\/system.log<\/code> dosyas\u0131n\u0131 kontrol ederek hata mesajlar\u0131 aray\u0131n.<br \/>\n    *   G\u00fcvenlik duvar\u0131 (UFW) ayarlar\u0131n\u0131 ve portlar\u0131n a\u00e7\u0131k olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    *   <code>cassandra.yaml<\/code> dosyas\u0131ndaki <code>listen_address<\/code>, <code>rpc_address<\/code> ve <code>seeds<\/code> de\u011ferlerinin do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <code>\/etc\/hosts<\/code> dosyas\u0131ndaki IP-hostname e\u015fle\u015fmelerini kontrol edin.<br \/>\n*   <strong>Java Hatalar\u0131:<\/strong> Java kurulumunuzu ve s\u00fcr\u00fcm\u00fcn\u00fc tekrar kontrol edin.<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131s\u0131 Sorunlar\u0131:<\/strong> D\u00fc\u011f\u00fcmlerin <code>ping<\/code> komutuyla birbirlerine eri\u015febildi\u011finden emin olun.<\/p>\n<h3>Ad\u0131m 5: Cassandra K\u00fcmesini Test Etme<\/h3>\n<p>K\u00fcme ba\u015far\u0131yla kurulup do\u011fruland\u0131ktan sonra, veri ekleyip sorgulayarak i\u015flevselli\u011fini test edebiliriz. Cassandra ile etkile\u015fim kurmak i\u00e7in CQL (Cassandra Query Language) kabu\u011fu olan <code>cqlsh<\/code> kullan\u0131l\u0131r.<\/p>\n<p>Herhangi bir Cassandra d\u00fc\u011f\u00fcm\u00fcne ba\u011flanmak i\u00e7in <code>cqlsh<\/code> komutunu kullan\u0131n. E\u011fer <code>rpc_address<\/code> <code>0.0.0.0<\/code> olarak ayarlanm\u0131\u015fsa, sadece <code>cqlsh<\/code> yazman\u0131z yeterli olabilir. Aksi takdirde, bir d\u00fc\u011f\u00fcm\u00fcn IP adresini belirtmeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">cqlsh 192.168.1.101<\/code><\/pre>\n<p><code>cqlsh<\/code> prompt&#8217;una d\u00fc\u015ft\u00fc\u011f\u00fcn\u00fczde, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulayarak k\u00fcmenizi test edebilirsiniz:<\/p>\n<p>1.  <strong>Keyspace Olu\u015fturma:<\/strong> Keyspace, Cassandra&#8217;daki en \u00fcst d\u00fczey veri organizasyon birimidir ve verilerin nas\u0131l \u00e7o\u011falt\u0131laca\u011f\u0131n\u0131 (replication) tan\u0131mlar.<\/p>\n<pre><code class=\"language-cql\">CREATE KEYSPACE mykeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};<\/code><\/pre>\n<p>    *   <code>SimpleStrategy<\/code>: Tek bir veri merkezi i\u00e7in kullan\u0131l\u0131r.<br \/>\n    *   <code>replication_factor<\/code>: Verilerin ka\u00e7 d\u00fc\u011f\u00fcmde kopyalanaca\u011f\u0131n\u0131 belirler. <code>3<\/code> de\u011feri, her verinin k\u00fcmedeki \u00fc\u00e7 farkl\u0131 d\u00fc\u011f\u00fcmde depolanaca\u011f\u0131 anlam\u0131na gelir. Bu, bir veya iki d\u00fc\u011f\u00fcm\u00fcn ar\u0131zalanmas\u0131 durumunda bile verilerin eri\u015filebilir kalmas\u0131n\u0131 sa\u011flar. Ger\u00e7ek d\u00fcnya senaryolar\u0131nda, birden fazla veri merkezi varsa <code>NetworkTopologyStrategy<\/code> kullanmak daha uygundur.<\/p>\n<p>2.  <strong>Keyspace&#8217;i Kullanma:<\/strong> Olu\u015fturdu\u011funuz keyspace&#8217;i kullanmak i\u00e7in:<\/p>\n<pre><code class=\"language-cql\">USE mykeyspace;<\/code><\/pre>\n<p>3.  <strong>Tablo Olu\u015fturma:<\/strong> SQL&#8217;deki tablolara benzer \u015fekilde, Cassandra&#8217;da da tablolar olu\u015fturulur.<\/p>\n<pre><code class=\"language-cql\">CREATE TABLE users (\n        id UUID PRIMARY KEY,\n        name text,\n        email text,\n        age int\n    );<\/code><\/pre>\n<p>    *   <code>UUID PRIMARY KEY<\/code>: Her sat\u0131r i\u00e7in benzersiz bir kimlik sa\u011flar. UUID, Cassandra&#8217;da s\u0131k\u00e7a kullan\u0131lan birincil anahtar t\u00fcr\u00fcd\u00fcr.<\/p>\n<p>4.  <strong>Veri Ekleme:<\/strong> Tabloya veri ekleyin:<\/p>\n<pre><code class=\"language-cql\">INSERT INTO users (id, name, email, age) VALUES (uuid(), 'Alice', 'alice@example.com', 30);\n    INSERT INTO users (id, name, email, age) VALUES (uuid(), 'Bob', 'bob@example.com', 25);<\/code><\/pre>\n<p>5.  <strong>Veri Sorgulama:<\/strong> Ekledi\u011finiz verileri sorgulay\u0131n:<\/p>\n<pre><code class=\"language-cql\">SELECT * FROM users;<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131, ekledi\u011finiz kullan\u0131c\u0131lar\u0131 g\u00f6stermelidir.<\/p>\n<p>6.  <strong>Veri Da\u011f\u0131t\u0131m\u0131n\u0131 Do\u011frulama:<\/strong><br \/>\n    *   Bir d\u00fc\u011f\u00fcme ba\u011flan\u0131p veri ekleyin.<br \/>\n    *   Ard\u0131ndan, farkl\u0131 bir d\u00fc\u011f\u00fcme ba\u011flan\u0131n ve ayn\u0131 veriyi sorgulay\u0131n. Verinin \u00e7o\u011faltma fakt\u00f6r\u00fc nedeniyle di\u011fer d\u00fc\u011f\u00fcmlerde de g\u00f6r\u00fcnmesi gerekir.<br \/>\n    *   Bir d\u00fc\u011f\u00fcm\u00fc durdurun (<code>sudo systemctl stop cassandra<\/code>).<br \/>\n    *   Di\u011fer d\u00fc\u011f\u00fcmlerden veri sorgulamaya devam edin. Verilerin hala eri\u015filebilir olmas\u0131 gerekir.<br \/>\n    *   Durdurdu\u011funuz d\u00fc\u011f\u00fcm\u00fc tekrar ba\u015flat\u0131n (<code>sudo systemctl start cassandra<\/code>). K\u0131sa bir s\u00fcre sonra, d\u00fc\u011f\u00fcm k\u00fcme ile senkronize olacak ve <code>nodetool status<\/code> \u00e7\u0131kt\u0131s\u0131nda tekrar <code>UN<\/code> olarak g\u00f6r\u00fcnecektir.<\/p>\n<p>Bu testler, k\u00fcmenizin temel i\u015flevselli\u011fini, veri \u00e7o\u011faltmas\u0131n\u0131 ve hata tolerans\u0131n\u0131 do\u011frular.<\/p>\n<h3>En \u0130yi Uygulamalar ve \u0130leri D\u00fczey Konular<\/h3>\n<p>Cassandra k\u00fcmenizi \u00fcretim ortam\u0131na ta\u015f\u0131madan \u00f6nce veya performans\u0131 optimize etmek i\u00e7in g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z gereken baz\u0131 en iyi uygulamalar ve ileri d\u00fczey konular bulunmaktad\u0131r:<\/p>\n<h4>\u00c7o\u011faltma Stratejisi ve Fakt\u00f6r\u00fc<\/h4>\n<p>*   <strong><code>NetworkTopologyStrategy<\/code><\/strong>: Birden fazla veri merkezi veya rack i\u00e7eren k\u00fcmeler i\u00e7in \u00f6nerilir. Bu strateji, verileri farkl\u0131 veri merkezlerine ve rack&#8217;lere yayarak co\u011frafi hata tolerans\u0131 sa\u011flar.<br \/>\n*   <strong>\u00c7o\u011faltma Fakt\u00f6r\u00fc (Replication Factor &#8211; RF)<\/strong>: K\u00fcmedeki d\u00fc\u011f\u00fcm say\u0131s\u0131na ve istenen veri dayan\u0131kl\u0131l\u0131\u011f\u0131na g\u00f6re belirlenmelidir. RF=3 genellikle iyi bir denge sa\u011flar, ancak daha y\u00fcksek de\u011ferler daha fazla dayan\u0131kl\u0131l\u0131k ve daha fazla depolama alan\u0131 anlam\u0131na gelir.<\/p>\n<h4>Snitch Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>*   <code>GossipingPropertyFileSnitch<\/code> veya <code>RackInferringSnitch<\/code> gibi snitch&#8217;ler, Cassandra&#8217;n\u0131n d\u00fc\u011f\u00fcmlerin fiziksel konumunu anlamas\u0131na yard\u0131mc\u0131 olur. Bu, okuma ve yazma i\u015flemlerinde a\u011f trafi\u011fini optimize eder ve veri \u00e7o\u011faltma stratejilerini daha verimli hale getirir.<\/p>\n<h4>\u0130zleme (Monitoring)<\/h4>\n<p>*   Cassandra k\u00fcmenizin sa\u011fl\u0131\u011f\u0131n\u0131 ve performans\u0131n\u0131 s\u00fcrekli izlemek kritik \u00f6neme sahiptir. Prometheus ve Grafana gibi ara\u00e7lar, JMX metriklerini toplayarak ve g\u00f6rselle\u015ftirerek d\u00fc\u011f\u00fcm sa\u011fl\u0131\u011f\u0131, I\/O, bellek kullan\u0131m\u0131 ve gecikme s\u00fcreleri hakk\u0131nda de\u011ferli bilgiler sa\u011flar.<br \/>\n*   <code>nodetool<\/code> komutlar\u0131 (\u00f6rne\u011fin <code>nodetool cfstats<\/code>, <code>nodetool tpstats<\/code>) anl\u0131k durum izlemesi i\u00e7in faydal\u0131d\u0131r.<\/p>\n<h4>G\u00fcvenlik<\/h4>\n<p>*   <strong>Kimlik Do\u011frulama (Authentication)<\/strong> ve <strong>Yetkilendirme (Authorization)<\/strong>: \u00dcretim ortamlar\u0131nda, kullan\u0131c\u0131lar\u0131n kimliklerini do\u011frulamas\u0131n\u0131 ve yaln\u0131zca yetkili i\u015flemleri yapmas\u0131n\u0131 sa\u011flamak i\u00e7in kimlik do\u011frulama ve yetkilendirme mekanizmalar\u0131n\u0131 etkinle\u015ftirin. Cassandra, dahili kimlik do\u011frulama (PasswordAuthenticator) veya LDAP gibi harici sistemlerle entegrasyonu destekler.<br \/>\n*   <strong>SSL\/TLS \u015eifrelemesi<\/strong>: D\u00fc\u011f\u00fcmler aras\u0131 ileti\u015fimi ve istemci-d\u00fc\u011f\u00fcm ileti\u015fimini g\u00fcvence alt\u0131na almak i\u00e7in SSL\/TLS \u015fifrelemesini yap\u0131land\u0131r\u0131n.<\/p>\n<h4>Yedekleme ve Geri Y\u00fckleme<\/h4>\n<p>*   Veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in d\u00fczenli yedekleme stratejileri uygulay\u0131n. Cassandra, anl\u0131k g\u00f6r\u00fcnt\u00fc (snapshot) tabanl\u0131 yedeklemeyi destekler. Yedeklemeleri k\u00fcme d\u0131\u015f\u0131ndaki g\u00fcvenli bir depolama alan\u0131na (\u00f6rne\u011fin S3) aktar\u0131n.<\/p>\n<h4>Donan\u0131m Boyutland\u0131rmas\u0131<\/h4>\n<p>*   <strong>CPU<\/strong>: Y\u00fcksek e\u015fzamanl\u0131l\u0131k ve yo\u011fun sorgular i\u00e7in yeterli CPU \u00e7ekirde\u011fi gereklidir.<br \/>\n*   <strong>RAM<\/strong>: Cassandra, bellek yo\u011fun bir uygulamad\u0131r. \u00d6zellikle \u00f6nbellekler i\u00e7in bol miktarda RAM \u00f6nemlidir (genellikle 8GB minimum, 32GB+ \u00f6nerilir).<br \/>\n*   <strong>Disk I\/O<\/strong>: SSD&#8217;ler, Cassandra&#8217;n\u0131n rastgele okuma ve yazma performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. <code>commitlog<\/code> ve <code>data_file_directories<\/code> i\u00e7in ayr\u0131 diskler kullanmak performans\u0131 daha da optimize edebilir.<br \/>\n*   <strong>A\u011f<\/strong>: D\u00fc\u011f\u00fcmler aras\u0131 y\u00fcksek bant geni\u015fli\u011fi ve d\u00fc\u015f\u00fck gecikmeli a\u011f ba\u011flant\u0131s\u0131, k\u00fcme performans\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h4>Cassandra S\u00fcr\u00fcm Y\u00f6netimi<\/h4>\n<p>*   Apache Cassandra toplulu\u011fu taraf\u0131ndan yay\u0131nlanan g\u00fcncellemeleri ve g\u00fcvenlik yamalar\u0131n\u0131 takip edin. Yeni s\u00fcr\u00fcmler genellikle performans iyile\u015ftirmeleri ve yeni \u00f6zellikler i\u00e7erir. Y\u00fckseltme i\u015flemlerini dikkatlice planlay\u0131n ve test edin.<\/p>\n<h4>Veri Modelleme<\/h4>\n<p>*   Cassandra&#8217;n\u0131n en \u00f6nemli performans fakt\u00f6rlerinden biri do\u011fru veri modellemesidir. Cassandra, sorgu odakl\u0131 bir veritaban\u0131d\u0131r, bu nedenle verilerinizi sorgular\u0131n\u0131za g\u00f6re tasarlaman\u0131z gerekir. \u0130li\u015fkisel veritabanlar\u0131ndaki normalizasyon prensiplerinden farkl\u0131 olarak, Cassandra&#8217;da denormalizasyon ve veri tekrar\u0131 yayg\u0131nd\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu VPS \u00fczerinde \u00e7ok d\u00fc\u011f\u00fcml\u00fc bir Apache Cassandra k\u00fcmesini yap\u0131land\u0131rmak i\u00e7in gereken ad\u0131mlar\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele ald\u0131k. Her d\u00fc\u011f\u00fcm\u00fcn haz\u0131rlanmas\u0131ndan (sistem g\u00fcncelleme, hostname ayar\u0131, g\u00fcvenlik duvar\u0131, Java kurulumu, swap kapatma), Cassandra&#8217;n\u0131n kurulumuna ve <code>cassandra.yaml<\/code> dosyas\u0131n\u0131n kritik parametrelerle yap\u0131land\u0131r\u0131lmas\u0131na kadar t\u00fcm s\u00fcreci ad\u0131m ad\u0131m inceledik. Ayr\u0131ca, k\u00fcmenin ba\u015flat\u0131lmas\u0131, durumunun do\u011frulanmas\u0131 ve <code>cqlsh<\/code> ile temel veri i\u015flemleri yaparak i\u015flevselli\u011finin test edilmesi konular\u0131na de\u011findik.<\/p>\n<p>\u00c7ok d\u00fc\u011f\u00fcml\u00fc bir Cassandra k\u00fcmesi, b\u00fcy\u00fck veri setlerini y\u00f6netmek, y\u00fcksek eri\u015filebilirlik sa\u011flamak ve do\u011frusal \u00f6l\u00e7eklenebilirlik elde etmek isteyen organizasyonlar i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcmd\u00fcr. Do\u011fru yap\u0131land\u0131rma ve en iyi uygulamalar\u0131n takibi ile Cassandra, kritik uygulamalar\u0131n\u0131z i\u00e7in sa\u011flam ve performansl\u0131 bir veri altyap\u0131s\u0131 sa\u011flayabilir. Bu rehber, k\u00fcmenizi kurmak i\u00e7in sa\u011flam bir temel olu\u015ftururken, \u00fcretim ortamlar\u0131 i\u00e7in ileri d\u00fczey konular\u0131 ve optimizasyonlar\u0131 da g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z gerekti\u011fini unutmay\u0131n. Cassandra&#8217;n\u0131n g\u00fcc\u00fcnden tam olarak yararlanmak i\u00e7in s\u00fcrekli izleme, g\u00fcvenlik ve veri modelleme pratiklerine dikkat etmek \u00f6nemlidir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?\nApache Cassandra, b\u00fcy\u00fck \u00f6l\u00e7ekli ve y\u00fcksek eri\u015filebilir","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-37342","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?\" \/>\n<meta property=\"og:description\" content=\"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? Apache Cassandra, b\u00fcy\u00fck \u00f6l\u00e7ekli ve y\u00fcksek eri\u015filebilir\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-31T16:40:55+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?\",\"datePublished\":\"2025-12-31T16:40:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\"},\"wordCount\":3223,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\",\"name\":\"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-31T16:40:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?","og_description":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? Apache Cassandra, b\u00fcy\u00fck \u00f6l\u00e7ekli ve y\u00fcksek eri\u015filebilir","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-31T16:40:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?","datePublished":"2025-12-31T16:40:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/"},"wordCount":3223,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/","name":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-31T16:40:55+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerinde-cassandra-ile-cok-dugumlu-bir-kume-nasil-yapilandirilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu VPS \u00dczerinde Cassandra ile \u00c7ok D\u00fc\u011f\u00fcml\u00fc Bir K\u00fcme Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37342"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37342\/revisions"}],"predecessor-version":[{"id":37343,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37342\/revisions\/37343"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}