GNU/Linux >> Belajar Linux >  >> Linux

Cara Install Apache Cassandra Cluster di Linux

Apache Cassandra adalah sistem manajemen basis data terdistribusi NoSQL sumber terbuka dan gratis yang dibuat oleh Facebook (sekarang Meta). Sifat Cassandra yang terdistribusi memungkinkan ketersediaan tinggi dan kinerja tinggi tanpa satu titik kegagalan.

Karena skalabilitasnya, Cassandra cocok untuk kumpulan data aktif dan kritis yang masif. Organisasi besar dan terkenal seperti Apple, Bloomberg, BestBuy, eBay, Netflix, Spotify, dan banyak lagi. Dan jika Anda tertarik untuk mengetahui Apache Cassandra, Anda berada di tempat yang tepat.

Dalam artikel ini, Anda akan mempelajari cara mengatur dan mengonfigurasi Cluster Apache Cassandra di sistem Linux. Anda juga akan mempelajari cara berinteraksi dengan Cassandra menggunakan alat baris perintahnya.

Prasyarat

Untuk mengikuti contoh dalam tutorial ini, pastikan untuk memiliki persyaratan berikut.

  • Anda memerlukan dua server Linux dalam jaringan yang sama. Tutorial ini akan menggunakan dua server Rocky Linux (v8.5) dengan rincian sebagai berikut.
Nama Inang Alamat IP
cassandra01 172.16.1.10
cassandra02 172.16.1.15

Dokumentasi Apache Cassandra tidak memberikan daftar preskriptif distro Linux yang kompatibel, tetapi menyebutkan bahwa Cassandra dapat berjalan di CentOS, RHEL, Debian, dan SUSE Enterprise Linux.

  • Anda harus memiliki hak sudo atau akses ke akun root.
  • Editor teks nano atau editor teks berbasis Linux.

Menginstal Java OpenJDK dan Python

Sebelum memulai dengan instalasi Apache Cassandra, Anda terlebih dahulu menginstal dependensi perangkat lunak. Cassandra adalah aplikasi berbasis Java, dan versi terbaru (v4.0 pada tulisan ini) membutuhkan Java OpenJDK 1.8 dan Python 3.6.

Tutorial ini menggunakan manajer paket DNF untuk distro Linux berbasis RPM. Anda juga dapat menggunakan Yum atau Apt pada distro berbasis DEB seperti Ubuntu dan Debian. Lihat dokumentasi distro Anda untuk menentukan pengelola paket mana yang akan digunakan.

Ikuti langkah-langkah di bawah ini untuk menginstal Java OpenJDK 1.8 dan Python 3.6 di setiap server.

1. Buka klien SSH Anda, sambungkan ke server Anda, dan jalankan sudo su perintah untuk menjadi root.

ssh [email protected]_name_or_IP
sudo su

2. Selanjutnya, jalankan dnf perintah di bawah ini untuk menginstal paket Java OpenJDK 1.8 dan Python 3.6. Tunggu hingga penginstalan selesai.

dnf install java-1.8.0-openjdk python36 -y

3. Sekarang, verifikasi versi Java dengan menjalankan perintah di bawah ini.

java -version

Di bawah ini Anda dapat melihat versi Java OpenJDK saat ini adalah 1.8.0_312.

4. Selanjutnya, atur penerjemah Python default di server Anda ke Python 3.6. Untuk melakukannya, jalankan alternatives perintah seperti di bawah ini.

alternatives --config python

Ketik nomor yang sesuai dengan versi Python Anda pada prompt pemilihan perintah. Contoh di bawah ini menunjukkan bahwa Python3 adalah opsi 2.

5. Terakhir, jalankan perintah berikut untuk memverifikasi versi Python.

python --version

Anda akan melihat bahwa Python 3.x.x adalah default, mirip dengan tangkapan layar di bawah ini.

Memasang Basis Data Apache Cassandra NoSQL

Anda telah menginstal dependensi dan memastikan mereka adalah versi yang sesuai. Sekarang saatnya menginstal Apache Cassandra!

Meskipun ada banyak cara untuk menginstal Cassandra, cara yang paling mudah adalah melalui repositori resmi. Tetapi ada beberapa langkah cepat yang perlu Anda lakukan terlebih dahulu. Untuk menginstal Cassandra NoSQL Database pada sistem Linux, lakukan sebagai berikut.

1. Jalankan perintah berikut untuk membuat file repositori baru untuk Cassandra.

nano /etc/yum.repos.d/cassandra.repo

2. Salin konfigurasi repositori Cassandra berikut. Repositori ini tersedia untuk sebagian besar distribusi Red Hat, termasuk Rocky Linux.

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

3. Setelah mengedit, simpan dan tutup file dengan menekan Ctrl+X , Y , dan Enter .

4. Selanjutnya, jalankan dnf perintah di bawah ini untuk memverifikasi semua repositori yang tersedia di sistem Anda.

dnf repolist

Anda akan melihat repositori Apache Cassandra di daftar repo, seperti yang ditunjukkan di bawah ini.

5. Sekarang, instal Database Cassandra NoSQL dengan menjalankan perintah berikut.

dnf install cassandra -y

Anda akan melihat pesan konfirmasi setelah menginstal Apache Cassandra, mirip dengan gambar di bawah.

Mengonfigurasi Cluster Apache Cassandra

Setelah Anda menginstal Cassandra, Anda harus mengedit konfigurasi /etc/cassandra/conf/cassandra.yaml dan siapkan cluster Cassandra.

Agar cluster Cassandra berfungsi, Anda harus mengubah konfigurasi default Cassandra di semua server, seperti:

  • Ubah cluster_name default .
  • Tambahkan alamat IP server ke seeds pilihan.
  • Ubah listen_address default ke alamat IP lokal.
  • Aktifkan rpc_address untuk koneksi klien.

Sekarang, lanjutkan dengan langkah-langkah berikut untuk menyiapkan cluster Cassandra.

1. Pada cassandra01 , jalankan perintah berikut untuk membuka konfigurasi Cassandra cassandra.yaml untuk mengedit.

nano /etc/cassandra/conf/cassandra.yaml

2. Ubah nilai default cluster name dengan nama baru. Tutorial ini menggunakan nama cluster baru ATA Cluster .

cluster_name: 'ATA Cluster'

3. Sekarang, tambahkan alamat IP setiap server dengan port TCP Cassandra default 7000 ke seeds pilihan di bawah ini. Formatnya mengikuti pola IP:Port,IP:Port , dan port defaultnya adalah 7000 .

seeds: "172.16.1.10:7000,172.16.1.15:7000"

4. Selanjutnya, ubah default listen_address ke alamat IP server, bukan localhost. Opsi listen_address mendefinisikan alamat IP mana yang akan dijalankan Cassandra.

# for cassandra01
listen_address: 172.16.1.10

# for cassandra02
listen_address: 172.16.1.15

5. Selanjutnya, ubah opsi default rpc_address dengan alamat IP server, nilainya sama dengan listen_address pilihan. Pada lingkungan cluster Cassandra, semua koneksi klien melalui alamat IP server lokal pada TCP default port 9042 .

# for cassandra01
rpc_address: 172.16.1.10

# for cassandra02
rpc_address: 172.16.1.15

6. Simpan dan tutup file konfigurasi dengan menekan Ctrl+X , Y , dan Enter .

7. Setelah mengedit konfigurasi Cassandra, jalankan perintah berikut untuk memulai layanan Cassandra. Perintah ini akan secara otomatis memulai cluster dan menjangkau server lain yang alamat IP-nya ada di seeds pilihan.

service cassandra start

8. Sekarang, konfirmasikan status layanan Cassandra dengan menjalankan perintah di bawah ini.

service cassandra status

Anda akan mendapatkan output yang mirip dengan tangkapan layar di bawah ini. Seperti yang Anda lihat, layanan Cassandra aktif (berjalan) .

Mengamankan Cluster Apache Cassandra dengan Firewall

Menyiapkan firewall untuk mengamankan layanan adalah tugas penting dalam lingkungan produksi. Dengan melakukannya, Anda dapat membatasi akses ke klaster Cassandra hanya dari alamat IP atau rentang jaringan tertentu.

Pada distribusi umum Red Hat Linux, firewalld adalah perangkat lunak firewall default.

Secara default, Cassandra membutuhkan dua port TCP harus terbuka. Port 7000 adalah port cluster default, dan port 9042 adalah port transport default asli untuk koneksi klien.

Ikuti langkah-langkah berikut untuk mengamankan penyebaran cluster Cassandra dengan firewall.

1. Pertama, konfirmasikan apakah Anda sudah memiliki firewalld di server Anda dengan menjalankan perintah di bawah ini.

dnf search firewalld

Jika firewalld tidak ada, ikuti langkah #2 dan #3. Tetapi jika firewalld sudah ada di server, lewati saja ke langkah #4.

2. Jika Anda tidak memiliki firewalld di sistem Anda, jalankan perintah berikut untuk menginstalnya.

dnf install firewalld -y

3. Sekarang, mulai firewalld service dengan menjalankan perintah di bawah ini. Perintah ini akan memulai firewalld layanan dengan aturan default, membuka port dan layanan penting seperti klien SSH dan DHCP.

systemctl start firewalld

Secara default, firewalld menyediakan antarmuka baris perintah firewall-cmd untuk mengelola dan memelihara aturan firewall.

4. Jalankan firewall-cmd berikut ini perintah untuk membuat zona baru untuk klaster Cassandra dan muat ulang firewalld aturan.

# add firewalld zone cassandra-cluster
firewall-cmd --new-zone=cassandra-cluster --permanent

# reload firewalld
firewall-cmd --reload

Anda akan melihat pesan keluaran sukses , yang berarti operasi berhasil. Opsi --permanent membuat aturan firewall baru permanen.

5. Selanjutnya, tambahkan CIDR jaringan server Anda ke cassandra-cluster daerah. Aturan ini mengizinkan server atau klien apa pun di CIDR 172.16.1.0/24 untuk berbicara dan terhubung. Untuk menambahkan satu alamat IP, masukkan alamat IP 172.16.1.20 .

firewall-cmd --zone=cassandra-cluster --add-source=172.16.1.0/24 --permanent

6. Sekarang, jalankan perintah di bawah ini untuk menambahkan port layanan Cassandra 7000 dan 9042 ke cassandra-cluster daerah.

# add storage_port Apache Cassandra to the zone cassandra_cluster
firewall-cmd --zone=cassandra-cluster --add-port=7000/tcp --permanent

# add Apache Cassandra port for client connections
firewall-cmd --zone=cassandra-cluster --add-port=9042/tcp --permanent

7. Terakhir, muat ulang firewalld aturan untuk menerapkan konfigurasi baru dengan menjalankan perintah di bawah ini.

firewall-cmd --reload

Cluster Cassandra sekarang hanya dapat diakses melalui 172.16.1.0/24 jaringan dan akan memutuskan semua koneksi dari jaringan lain.

Memeriksa Status Cluster Apache Cassandra

Nodetool adalah utilitas perintah asli untuk mengelola dan memantau cluster Cassandra. Alat ini memungkinkan Anda menampilkan status metrik cluster Cassandra, seperti tabel dan ruang kunci, metrik server, aplikasi, metrik koneksi klien, dll.

Secara umum, administrator menjalankan nodetool perintah langsung di server operasional Cassandra yang melakukan pemeliharaan dan pemantauan basis data rutin.

Ikuti langkah-langkah di bawah ini untuk mempelajari dasar-dasar pemantauan cluster Cassandra menggunakan nodetool utilitas.

1. Periksa status cluster Cassandra dengan menjalankan perintah berikut.

nodetool status

Anda akan mendapatkan output yang mirip dengan screenshot di bawah ini.

  • U berarti simpulnya NAIK atau berlari.
  • N berarti simpulnya NORMAL .
  • Alamat dapat berupa alamat IP atau URL simpul.
  • Muat adalah ukuran file dalam direktori data Cassandra. Nilai ini diperbarui setiap 90 detik.
  • Token adalah jumlah token yang tersedia di node.
  • ID Host adalah id jaringan dari node. Setiap node memiliki id yang berbeda.

2. Sekarang, jalankan perintah di bawah ini untuk mendapatkan informasi rinci tentang node tunggal.

nodetool info

Di bawah ini, Anda dapat melihat informasi rinci tentang node seperti:

  • Waktu beroperasi
  • Info memori tumpukan
  • Muat
  • Cache kunci dan Cache penghitung
  • Lokasi pusat data

3. Selanjutnya, tampilkan detail cluster Cassandra dengan menjalankan perintah di bawah ini.

nodetool describecluster

Anda dapat melihat di bawah detail cluster Cassandra.

  • Informasi Klaster berisi informasi dasar tentang cluster Cassandra, termasuk nama, partisi Cassandra default, dan versi skema.
  • Statistik untuk semua node menunjukkan status semua node pada cluster Cassandra saat ini.
  • Jika Anda telah membuat klaster Cassandra di beberapa pusat data, Anda akan melihat semua pusat data Anda di Pusat data bagian.
  • Versi database bagian menunjukkan versi Cassandra pada setiap node cluster.
  • Daftar semua ruang kunci atau database yang tersedia di klaster Cassandra tersedia di bawah Ruang Kunci bagian.

Menghubungkan ke Cluster Apache Cassandra

Menginstal paket Apache Cassandra di server juga menginstal Cassandra Query Language Shell (CQLSH). Alat ini memungkinkan admin untuk terhubung ke Apache Cassandra dan mengelola database atau ruang kunci dan pengguna.

Ikuti langkah-langkah di bawah ini untuk terhubung ke cluster Cassandra menggunakan baris perintah cqlsh .

1. Jalankan cqlsh perintah di bawah ini untuk menghubungkan ke cluster Cassandra. Tentukan alamat IP Cassandra, dan port default untuk koneksi klien adalah 9042 .

cqlsh 172.16.1.10 9042

Setelah Anda terhubung ke cluster Cassandra, Anda akan melihat output serupa seperti gambar di bawah. Contoh ini menggunakan nama cluster ATA Cluster pada alamat IP server 172.16.1.10 .

2. Sekarang, jalankan kueri CQL berikut untuk memeriksa server mana yang Anda sambungkan, periksa nama cluster, dan periksa semua ruang kunci yang tersedia di Cassandra.

# show detailed host
SHOW HOST

# show cluster name
DESCRIBE CLUSTER

# list all available keyspaces (databases)
DESCRIBE KEYSPACES

Anda akan melihat output yang mirip dengan tangkapan layar di bawah ini. SHOW HOST kueri menunjukkan di mana Anda terhubung, kueri DESCRIBE CLUSTER menunjukkan nama cluster Cassandra, dan kueri DESCRIBE KEYSPACES menunjukkan daftar ruang kunci pada simpul Cassandra Anda.

3. Terakhir, ketik exit untuk keluar dari cqlsh lingkungan.

Kesimpulan

Sepanjang tutorial ini, Anda telah belajar cara menginstal dan mengkonfigurasi Apache Cassandra di Linux. Anda juga telah mengonfigurasi kluster Apache Cassandra menggunakan dua server Linux dan mengamankan penerapan menggunakan Firewalld.

Pada titik ini, Anda siap untuk menambahkan lebih banyak server dan menskalakan penerapan Anda, memberikan ketersediaan tinggi, konsistensi, dan redundansi untuk data Anda.

Apa selanjutnya untuk Anda? Mungkin mulai dengan mengatur otentikasi dan otorisasi pada cluster Cassandra Anda, kemudian mengatur replikasi keyspace/database untuk aplikasi Anda. Dan selagi Anda melakukannya, mengapa tidak mempelajari cara memelihara kluster Apache Cassandra dengan nodetool?


Linux
  1. Cara menginstal Python di Linux

  2. Cara Install Apache Cassandra di AlmaLinux / Rocky Linux 8

  3. Cara Instal Apache Cassandra di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  1. Cara menginstal Python di Linux Mint 20

  2. Cara Instal Apache Cassandra di Oracle Linux 8

  3. Cara Menginstal Apache Maven di Oracle Linux 8

  1. Cara Instal Apache Kafka di Rocky Linux 8

  2. Cara Menginstal Python 3.10 di Rocky Linux 8

  3. Cara menginstal Apache Cassandra di Ubuntu 20.04