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
Bir yanıt yazın