Apache Cassandra adalah sistem manajemen basis data NoSQL open-source berkinerja tinggi tanpa satu titik kegagalan. Apache Cassandra menggunakan model cluster sebagai gantinya menggunakan model tabel yang terlihat di MySQL/PostgreSQL. Cassandra cocok untuk aplikasi yang tidak mampu kehilangan data. Data secara otomatis direplikasi ke beberapa node untuk toleransi kesalahan. Node yang gagal dapat diganti secara otomatis tanpa waktu henti.
Apache Cassandra adalah pilihan terbaik jika Anda mencari skalabilitas, ketersediaan tinggi, dan performa tinggi.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Apache Cassandra di CentOS 8.
Persyaratan
- Server yang menjalankan CentOS 8 dengan RAM minimal 2 GB.
- Kata sandi root telah disiapkan di sistem Anda.
Memulai
Sebelum memulai, disarankan untuk memperbarui server Anda ke versi stabil terbaru. Anda dapat memperbarui server Anda dengan perintah berikut:
dnf update
Setelah server Anda diperbarui, mulai ulang untuk menerapkan perubahan.
Instal Java
Apache Cassandra membutuhkan OpenJDK 8 dan Python2 untuk diinstal pada sistem. Anda dapat menginstal OpenJDK 8 dan Python2 menggunakan perintah berikut:
dnf install java-1.8.0-openjdk-devel python2
Setelah kedua paket diinstal, Anda dapat memverifikasi versi Java menggunakan perintah berikut:
java -version
Anda akan melihat output berikut:
openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Instal Apache Cassandra
Secara default, Apache Cassandra tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu membuat repo untuk itu. Anda dapat membuat file repo baru /etc/yum.repos.d/cassandra.repo seperti gambar di bawah ini:
nano /etc/yum.repos.d/cassandra.repo
Tambahkan baris berikut:
[cassandra] name = DataStax Repo for Apache Cassandra baseurl = http://rpm.datastax.com/community enabled = 1 gpgcheck = 0
Simpan dan tutup file tersebut kemudian install Apache Cassandra dengan perintah berikut:
dnf install dsc20
Setelah Anda selesai menginstal, Anda dapat melanjutkan ke langkah berikutnya
Buat File Unit Systemd untuk Cassandra
Secara default, paket Apache Cassandra tidak dapat membuat file layanan untuk dirinya sendiri. Jadi, Anda perlu membuat file layanan systemd untuk mengelola layanan Cassandra. Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/cassandra.service
Tambahkan baris berikut:
[Unit] Description=Apache Cassandra After=network.target [Service] PIDFile=/var/run/cassandra/cassandra.pid User=cassandra Group=cassandra ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid Restart=always [Install] WantedBy=multi-user.target
Simpan dan tutup file. Kemudian, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan Cassandra dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start cassandra
systemctl enable cassandra
Anda juga dapat memeriksa status layanan Cassandra dengan perintah berikut:
systemctl status cassandra
Anda akan melihat output berikut:
? cassandra.service - Apache Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2019-12-07 01:25:26 EST; 1min 51s ago Main PID: 1888 (java) Tasks: 53 (limit: 25044) Memory: 272.7M CGroup: /system.slice/cassandra.service ??1888 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:Threa> Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,054 Writing [email protected](10104/101040 serialized/live bytes, 259 ops) Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,118 Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-4-Data.db > Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,124 Compacting [SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-> Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,169 Node localhost/127.0.0.1 state jump to normal Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,294 Compacted 4 sstables to [/var/lib/cassandra/data/system/local/system-local-jb-5,].> Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,322 Starting listening for CQL clients on localhost/127.0.0.1:9042... Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,376 Using TFramedTransport with a max frame size of 15728640 bytes. Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,378 Binding thrift service to localhost/127.0.0.1:9160 Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,391 Using synchronous/threadpool thrift server on localhost : 9160 Dec 07 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,422 Listening for thrift clients...
Uji Instalasi Apache Cassandra
Apache Cassandra sekarang terinstal dan berjalan di server Anda. Anda dapat memverifikasi apakah itu berjalan atau tidak dengan perintah berikut:
nodetool status
Anda akan melihat perintah berikut:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 46.11 KB 256 100.0% 2a680007-8c30-4bde-9a3f-9fa212b96d11 rack1
Konfigurasi Apache Cassandra
Secara default, Cassandra dikonfigurasi untuk menerima koneksi dari localhost saja.
Anda juga dapat login ke Cassandra melalui Bahasa Query Cassandra. Untuk mengakses shell CQL, jalankan perintah berikut:
cqlsh
Anda akan melihat output berikut:
Connected to Test Cluster at localhost:9160. [cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0] Use HELP for help. cqlsh>
Pada output di atas, Anda akan melihat bahwa cluster Cassandra bernama "Test Cluster". Anda juga dapat mengubah nama klaster default ini.
Untuk melakukannya, masuk ke shell CQL dengan perintah berikut:
cqlsh
Selanjutnya, jalankan perintah berikut untuk mengubah nama cluster menjadi "HowtoForge Cluster" seperti gambar di bawah ini:
cqlsh> UPDATE system.local SET cluster_name = 'HowtoForge Cluster' WHERE KEY = 'local';
Selanjutnya, keluar dari shell dengan perintah berikut:
cqlsh>exit;
Selanjutnya, Anda juga perlu mengedit file konfigurasi cassandra.yaml dan menentukan nama cluster baru Anda:
nano /etc/cassandra/default.conf/cassandra.yaml
Ubah baris berikut:
cluster_name: 'HowtoForge Cluster'
Simpan dan tutup file setelah Anda selesai. Kemudian, bersihkan cache sistem dengan perintah berikut:
nodetool flush system
Terakhir, restart layanan Apache Cassandra untuk menerapkan konfigurasi baru:
systemctl restart cassandra
Sekarang, masuk ke shell CQL dengan perintah berikut:
cqlsh
Anda akan melihat bahwa nama cluster sekarang berubah menjadi "HowtoForge Cluster":
Connected to HowtoForge Cluster at localhost:9160. [cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0] Use HELP for help. cqlsh>
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Apache Cassandra di CentOS 8. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.