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.
- Doğal Dil İşleme ile Özet Çıkarma - Mayıs 20, 2022
- K-NN ve Örnek Uygulama - Ocak 18, 2021
- Polynomial Regression ve Örnek Uygulama - Ocak 6, 2021