No Internet Access ortamda Cassandra Cluster Kurulumu

Bu yazıda genellikle veri tabanı ortamlarında çok sıklıkla karşılaşılan durumdan nasıl kurtuluruz ve internet olmayan bir ortamda nasıl kurulum gerçekleştirilir ondan bahsedelim. Veri tabanı sunucuları güvenlik açısından saklı tutulur. Bu sebeple internete çıkmayan sunucular kurulum yapılan repository ulaşamadığından paketleri önceden indirilip veri tabanına sunucusuna eklenmelidir.

Burada iki yöntemde kullanılır. Bu örnekte ilk yöntem üzerinden ilerleme sağlanır.

  • Birinci yöntem internete çıkan bir sunucu üzerinden Cassandra için gerekli rpm paketleri indirilir. İndirilen paketler Cassandra sunucuna manuel olarak kopyalanır. Sadece Cassandra rpm yetmez buna bağlı olarak işletim sistemi düzeyinde Cassandra Veri tabanı için dependicies(bağlantılı) rpm ler de indirilmelidir.
  • İkinci yöntem ise sizin yine internete çıkan bir repository sunucunuza Cassandra repository eklenir ver gerekli paketler buradan sağlanır.

Şimdi bu anlatılanları adım-adım uygulayarak 3 node’lu Cassandra Cluster kuralım.

Öncelikli olarak birinci yötemde bahsettiğimiz rpm paketleri indirmek için kullanılan sunucuda çalıştırılacak olan komut;

  • yum install -y cassandra-3.11.9

Daha sonra local bir path oluşturulur ve bağlantılı rpm paketleri ile Cassandra rpm’i indirilir;

  • mkdir -p /opt/cassandrarepo
  • reposync -g -l -d -m –repoid=cassandra –newest-only –download-metadata –download_path=/opt/cassandrarepo

Bu komut cassandra reposunu indirmek için kullanılır. Aynı zaman da işletim sistemine kurulum için cassandra bağlantılı rpm paketleri için ise çalıştırılacak komut;

  • repoquery -R –resolve –recursive cassandra| xargs -r yumdownloader

Bu aşamaya kadar olan kısım tamamlandıktan sonra indirilen rpm paketleri “tar” komutu ile zip dosyası haline getirilir ve kurulum yapılacak olan cassandra sunucularına kopyalanır. Kopyalanan tar dosyaları unzip edilir.

  • tar -czf cassandra.tar.gz /opt/cassandrarepo
  • tar -czf cassandraextrarepo.tar.gz /opt/cassandrarepo

Dosya indirme ve kopyalama işlemleri tamamlandıktan sonra cassandra sunucuları üzerinde “createrepo” paketi yüklenmelidir.

  • yum install -y createrepo

Bu işlemde tamamlandıktan sonra cassandra sunucularında repository konfigürasyonu yapılarak internet olmayan bir ortama repository tanımlama işlemleri tamamlanmış olunur.

  • vi /etc/yum.repos.d/cassandrarepo

[cassandra]
name=cassandra
baseurl=file:///opt/cassandrarepo
gpgcheck=0
enabled=1

Artık cassandra sunucuları üzerinde install komutu çalıştırılır;

  • yum install -y cassandra-3.11.9

Kurulum işleminden sonra tüm cassandra kurulu sunucularda “enable” ve “start” komutları çalıştırılır;

NOT: 3 node’lu cassandra cluster kurulumu yaparken dikkat edilmesi gereken nokta “start” işlemi birinci node üzerinde yapıldıktan sonra default konfigürasyonlar ile birlikte kalkar. Bunu istediğimiz konfigürasyon ile yapmak için “/etc/cassandra/conf” dizini altında bulunan “cassandra.yaml” dosyası değiştirilerek yeniden ayağa kaldırılması gerekmektedir. İlk start işlemi sırasında cassandra “/var/lib/cassandra” dizini altında bulunan “/data” klasörüne birşeyler yazar. Bizim konfigürasyon ile kalkabilmesi için “/data” dizini altındakiler silinmelidir.

  • systemctl enable cassandra
  • systemctl start cassandra

Tüm bu işlemler tamamlandıktan sonra “cassandra.yaml” dosyasını düzenlenir. “Cassandra.yaml” dosyası içerisinde yapılması gereken işlemler;

  • seed provider: Cluster da yer alacak diğer host bilgileri yazılmalıdır.
  • listen_address: Hangi sunucu üzerinde kurulu ise cassandra o host bilgisi yazılmalıdır.
  • rpc_address: Hangi sunucu üzerinde kurulu ise cassandra o host bilgisi yazılmalıdır.
  • endpoint snitch: Hangi topology ile çalışılması isteniyorsa onun bilgisi girilir.
  • auto_bootstrap : Cluster yönetimi için bootstrap kapatılmalıdır.

Örnek :

  • seed provider: “192.168.1.105,192.168.1.106,192.168.1.107”
  • listen_address: 192.168.1.105
  • rpc_address: 192.168.1.105
  • endpoint snitch: GossipingPropertyFileSnitch
  • auto_bootstrap : false

İşlemler tamamlandıktan sonra “nodetool status” ile clusterdaki node’ların durumunu kontrol edebilirsiniz.

cqlsh bağlanmak için ise;

  • cqlsh hostname port
  • cqlsh 192.168.1.105 9042

İyi Okumalar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir