Ubuntu 18.04 üzerine Cassandra Kurulumu

Ubuntu 18.04 üzerine Cassandra Kurulumu

Büyük Veri dünyasında adı çok bilinmeyen lakin en tepelerde olan Apache Cassandra ile ilgili kurulumu klavyem döndüğünce anlatmaya çalışacağım. Apache Cassandra, hali hazırda yaygın olarak kullanılan MsSql ve MySql veritabanı dillerine benzemektedir. Aralarında ki en temel fark ise öncelikle hız sonrasında ise hem yatay hemde dikey büyütülebilen veritabanı algoritması ile benim çok ilgimi çeken ve üzerinde çalıştığım bir veritabanı modelidir.

Bütün Veritabanı sistemleri gibi iyi, kötü ve çirkin yanları yok mu? Tabi ki de var lakin o bambaşka bir günün konusu. Şimdi hızlıca Ubuntu 18.04 üzerine nasıl Apache Cassandra’yı kuracağımızı anlatayım.

Terminal veya SSH üzerinden Ubuntumuza bağlandığımızı var sayarak adımlara geçiyorum. Temel olarak Ubuntu’nun dili İngilizce olmalı. Türkçe kurulan sistemlerde muhakkak sorun çıkıyor. Veri tipi sorunu gibi. Tanımıyor Bazılarını.

  • sudo add-apt-repository ppa:webupd8team/java
  • sudo apt-get update
  • sudo add-apt-repository universe
  • sudo apt-get update
  • sudo apt install openjdk-8-jdk
  • java -version

Bu Adımları Başarı ile yaptıysanız.

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Gibi bir çıktı almış olmalısınız. Gaza gelip java jdk son sürüm filan yüklemeye kalkmayın zira cassandra çalışmıyor :D. Sonrasında kaldığımız işlemlere devam ediyoruz.

  • sudo apt install apt-transport-https
  • wget -q -O – https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add –
  • sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys A278B781FE4B2BDA
  • sudo sh -c ‘echo “deb http://www.apache.org/dist/cassandra/debian 311x main” | sudo tee -a /etc/apt/sources.list.d/cassandra.list’

Tüm bu işlemlerde hata almadıysanız artık kütüphanelerin bulunacağı adresler eklenmiş olmalı ve gerekli ayarları almış olmalıdır. apt yi güncelleyerek işleme devam ediyoruz.

  • sudo apt update
  • sudo apt install cassandra

Cassandra kurulumu temel bazda bu kadar. Şimdi Cassandramızın gerçekten doğru kurulup kurulmadığını test edelim.

  • nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load        Tokens       Owns (effective)  Host ID                               Rack
UN  127.0.0.1  114.55 KiB  256          100.0%            d8c27e24-ea26-4eeb-883c-5986218ba3ca  rack1

Buraya kadar geldiyseniz işin %50 si bitmiş demektir. Burada Connection Refused hatası alıyorsanız, hosts dosyamızın düzenlenmesi gerekiyor demektir, bunun içinde

  • vim /etc/hosts

Kodunu girdikten sonra

127.0.0.1       localhost
[dış/iç ip adresi] [domain adı].localdomain [domain adı]

olarak düzenleyip :wq! komutu ile kaydediyoruz, akabinde;

  • systemctl restart cassandra

komutunu çalıştırıp 1 dakika bekledikten sonra tekrar kontrol ediyoruz.

Artık resmi olarak Cassandramızın çalışıp çalışmadığına bakabiliriz.

  • cqlsh

Komutu bizi direkt olarak Cassandraya bağlayacaktır.

Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

Üst tarafta paylaştığım gibi bir çıktı geldi ise Cassandramız artık kullanıma hazırdır, ince ayarlarına geçebiliriz.

/etc/cassandra/cassandra.yaml

Bu dosya bizim cassandramıza ait ayarların tutulduğu dosyadır ve her şeyi buradan yöneteceğiz.

  • cd /etc/cassandra/
  • nano cassandra.yaml

en son komut ile cassandra.yaml dosyamızı düzenlemek için açıyoruz. Aşağıda ki alanları ilgili değerler ile değiştiriyoruz. Örneğin Authhenticator alanını buluyoruz ve değerini “PasswordAuthenticator” ile değiştiriyoruz

authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
role_manager: CassandraRoleManager
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
seed_privider:
            seeds: "IP ADRESINIZ"
listen_address: IP_ADRESINIZ
rpc_address: IP_ADRESINIZ

Tüm bu ayarları girip CTRL+X tuş kombinasyonu ile çıkış yapıyoruz size kayıt edelim mi diye soracak “Y” ile evet dedikten sonra Enter tuşu ile onaylayın.

  • nodetool flush system
  • sudo systemctl restart cassandra

Artık “cqlsh” komutu ile direk olarak bağlanamamanız gerekiyor.

  • cqlsh IPADRESINIZ -u cassandra -p cassandra

Komutu ile direkt bağlanabilirsiniz. Peki bu default kullanıcı adı ve şifreyi nasıl değiştireceğiz?

cqlsh ile belirttiğim gibi sisteme bağlandıktan sonra;

  • CREATE ROLE KULLANICI_ADI WITH PASSWORD = ‘GUVENDIGINIZ_SIFRE’ AND SUPERUSER = true AND LOGIN = true;

Burada “Kullanıcı_Adı” ve “Guvendiginiz_Sifre” alanlarını kendinize göre düzenleyin, lakin Türkçe karakter ve boşluk filan bırakmayın.

Bu kod da başarılı bir şekilde çalıştıysa, cqlsh ekranında “exit” yazarak “Enter” tuşuna basın ve aşağıda ki gibi tekrar bağlanın

  • cqlsh IPADRESINIZ -u BELIRLEDIGINIZ_KULLANICI_ADI -p BELIRLEDIGINIZ_SIFRE

İle bağlanandıktan sonra

  • ALTER ROLE cassandra WITH PASSWORD = ‘cassandra’ AND SUPERUSER = false AND LOGIN = false;
  • REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
  • GRANT ALL PERMISSIONS ON ALL KEYSPACES TO BELIRLEDIGINIZ_KULLANICI_ADI;
  • exit

Tekrar çıkış işlemi yaptıktan sonra son kez cache i temizleyip sistemimizi yeniden başlatıyoruz.

  • nodetool flush system
  • sudo systemctl restart cassandra
Paylaş :

Bu gönderiyi paylaş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.