GNU/Linux >> Belajar Linux >  >> AlmaLinux

Cara Install Apache Cassandra di AlmaLinux / Rocky Linux 8

Apache Cassandra adalah sistem manajemen basis data terdistribusi NoSQL sumber terbuka. Cassandra dapat diskalakan secara horizontal dengan menambahkan lebih banyak node di mana data direplikasi secara otomatis. Node dapat ditambahkan atau dihapus tanpa downtime. Node dapat diatur secara logis sebagai kluster atau cincin dan disiapkan di beberapa pusat data untuk meningkatkan kecepatan dan keandalan aplikasi berperforma tinggi.

Dalam tutorial ini, kita akan belajar cara menginstal Apache Cassandra di OS AlmaLinux dan Rocky Linux 8. Perintah untuk kedua sistem Operasi akan sama kecuali ditentukan lain.

Prasyarat

  • Server yang menjalankan AlmaLinux atau Rocky Linux dengan RAM minimal 2GB.

  • Pengguna non-sudo dengan hak akses root.

  • Semuanya diperbarui.

    $ sudo dnf update
    

Langkah 1 - Instal Java

Apache Cassandra membutuhkan Java 8 untuk berfungsi. Versi terbaru Cassandra menyertakan dukungan eksperimental untuk Java 11, tetapi untuk tutorial kami, kami akan tetap menggunakan Java 8.

$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Konfirmasikan penginstalan Java.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Langkah 2 - Instal Apache Cassandra

Langkah pertama adalah menambahkan repositori resmi Cassandra.

Jalankan perintah berikut untuk membuat file repositori /etc/yum.repos.d/cassandra.repo dan masukkan detailnya.

$ sudo tee  /etc/yum.repos.d/cassandra.repo <<EOF
> [cassandra]
> name=Apache Cassandra
> baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
> gpgcheck=1
> repo_gpgcheck=1
> gpgkey=https://www.apache.org/dist/cassandra/KEYS
> EOF

Sekarang setelah file repo dibuat, instal, Cassandra.

$ sudo dnf install cassandra -y

Langkah 3 - Instal Cqlsh

Kami akan menggunakan CQL Shell (cqlsh ) alat untuk berinteraksi dengan Cassandra. Alat ini kompatibel dengan Python 2.7 atau Python 3.6+. Untuk tutorial kita, kita akan menggunakan Python 3.8. Instal Python 3.8.

$ sudo dnf install python38

Tetapkan Python 3.8 sebagai versi Python default.

$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter to keep the current selection[+], or type selection number: 3

Anda akan disajikan dengan beberapa pilihan. Kami akan memilih nomor 3 untuk menetapkan Python 3.8 sebagai versi default dalam kasus kami.

Konfirmasi instalasi Python.

$ python --version
Python 3.8.8

Setelah menggunakan update-alternatives utilitas, Anda tidak perlu menggunakan python3 perintah.

Instal cqlsh menggunakan pengelola paket pip Python.

$ pip3 install --user cqlsh

Konfirmasi cqlsh instal.

$ cqlsh --version
cqlsh 6.0.0

Langkah 4 - Buat file Unit Systemd untuk Cassandra

Buat dan buka /etc/systemd/system/cassandra.service untuk diedit.

$ sudo nano /etc/systemd/system/cassandra.service

Tempelkan kode berikut di dalamnya.

[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 file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Muat ulang daemon layanan.

$ sudo systemctl daemon-reload

Aktifkan dan mulai layanan Cassandra.

$ sudo systemctl enable cassandra --now

Periksa status layanan.

$ sudo systemctl status cassandra
? cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-30 11:07:43 UTC; 12s ago
 Main PID: 4679 (java)
    Tasks: 48 (limit: 23696)
   Memory: 1.3G
   CGroup: /system.slice/cassandra.service
           ??4679 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>

Anda juga dapat memverifikasi status menggunakan nodetool perintah.

$ 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  69.09 KiB  16      100.0%            2fe7ccae-2af9-4841-9bff-bffa29f10dc5  rack1

Langkah 5 - Konfigurasi Cassandra

Lokasi default file konfigurasi untuk Cassandra adalah di /etc/cassandra . Lokasi default untuk direktori log dan data adalah /var/log/cassandra dan /var/lib/cassandra .

Pengaturan level JVM seperti ukuran heap dapat diatur melalui /etc/cassandra/conf/cassandra-env.sh mengajukan. Anda dapat meneruskan argumen baris perintah JVM tambahan ke JVM_OPTS variabel. Argumen diteruskan ke Cassandra saat dimulai.

5.1 Aktifkan Otentikasi Pengguna

Untuk mengaktifkan otentikasi pengguna, pertama-tama, buat cadangan /etc/cassandra/conf/cassandra.yaml berkas.

$ sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup

Buka cassandra.yaml file untuk diedit.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Temukan parameter berikut dalam file ini.

authenticator: AllowAllAuthenticator
authorizer: AllowAllAuthorizer
roles_validity_in_ms: 2000
permissions_validity_in_ms: 2000

Ubah nilai parameter seperti yang diberikan di bawah ini.

. . .

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

. . .

Anda dapat mengonfigurasi pengaturan lain berdasarkan kebutuhan Anda. Jika dikomentari, batalkan komentarnya.

Setelah selesai, simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Mulai ulang Cassandra untuk mengaktifkan pengaturan yang diubah.

$  sudo systemctl restart cassandra

5.1.1 - Tambahkan Pengguna Super Administrator

Sekarang kita telah mengaktifkan otentikasi, kita perlu membuat pengguna. Untuk melakukan itu, kita akan menggunakan utilitas shell Cassandra Command. Masuk dengan kredensial untuk pengguna default cassandra .

$ cqlsh -u cassandra -p cassandra

Buat pengguna super baru. Ganti [username] dan [yourpassword] dengan kredensial Anda.

[email protected]> CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

Keluar.

[email protected]> exit

Masuk kembali dengan akun pengguna super baru.

$ cqlsh -u username -p yourpassword

Hapus izin yang ditinggikan dari cassandra default akun.

[email protected]> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
[email protected]> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

Berikan semua izin ke akun pengguna super.

[email protected]> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

Keluar.

[email protected]> exit

5.2 - Edit File Konfigurasi Konsol

Jika Anda ingin menyesuaikan Cassandra Shell, Anda dapat melakukannya dengan mengedit cqlshrc mengajukan. Lokasi default untuk file ada di ~/.cassandra direktori. Jika Anda ingin memuatnya dari direktori lain, Anda dapat meneruskan argumen --cqlshrc /customdirectory ke cqlsh alat saat berjalan.

Anda dapat menemukan file sampel di /etc/cassandra/conf/cqlshrc.sample berisi semua pengaturan yang dapat Anda konfigurasikan terkait Cassandra Shell.

Salin dan ganti nama file contoh menjadi ~/.cassandra direktori.

$ sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

Perbarui cqlshrc file dengan izin yang diperlukan.

$ sudo chmod 600 ~/.cassandra/cqlshrc
$ sudo chown $USER:$USER ~/.cassandra/cqlshrc

Buka file untuk diedit.

$ nano ~/.cassandra/cqlshrc

Kami akan mengonfigurasi shell untuk masuk secara otomatis dengan kredensial pengguna super. Temukan bagian berikut dan isi dengan nama pengguna dan kata sandi Anda.

....

[authentication]
;; If Cassandra has auth enabled, fill out these options
username = [superuser]
password = [password]

....

Edit pengaturan lain yang ingin Anda ubah. Beberapa pengaturan dikomentari menggunakan ;; . Batalkan komentar dengan menghapus titik koma ganda, lalu buat perubahannya.

Setelah selesai, simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Masuk ke cangkang Cassandra dengan perubahan baru Anda.

$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

5.3 - Ganti nama Cluster

Terakhir, kami akan mengganti nama cluster dari Test Cluster dengan nama pilihan Anda.

Masuk ke cqlsh terminal.

$ cqlsh

Ganti [clustername] dengan nama cluster baru Anda pada perintah di bawah ini.

[email protected]> UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

Keluar dari shell

[email protected]> exit

Buka file /etc/cassandra/conf/cassandra.yaml untuk diedit.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Ganti nilai variabel cluster_name dengan nama pilihan Anda.

...

# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: '[new_name]'

...

Setelah selesai, simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Kosongkan cache sistem Cassandra.

$  nodetool flush system

Mulai ulang Cassandra.

$  sudo systemctl restart cassandra

Masuk ke shell untuk melihat nama baru.

$  cqlsh
Connected to HowtoForge Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

Kesimpulan

Dalam tutorial ini, Anda mempelajari cara menginstal Apache Cassandra di server AlmaLinux atau Rocky Linux. Anda juga mempelajari cara menambahkan otentikasi pengguna dan melakukan beberapa konfigurasi dasar. Untuk mempelajari lebih lanjut, kunjungi dokumentasi resmi Cassandra. Jika Anda memiliki pertanyaan, kirimkan di komentar di bawah.


AlmaLinux
  1. Bagaimana cara menginstal Apache di AlmaLinux

  2. Cara Instal Apache Cassandra di Debian 10 Linux

  3. Cara Instal Docker di AlmaLinux / Rocky Linux

  1. Cara Install Jenkins di Rocky Linux 8 / AlmaLinux 8

  2. Cara Menginstal Samba di Rocky Linux dan AlmaLinux

  3. Cara Menginstal PostgreSQL 14 di Rocky Linux dan AlmaLinux

  1. Cara Instal Apache Cassandra di AlmaLinux 8 | Rocky Linux 8

  2. Cara Menginstal Kernel Linux 5.x di Almalinux 8 atau Rocky

  3. Cara Install Apache di Almalinux 8 / Rocky Linux 8