GNU/Linux >> Belajar Linux >  >> Cent OS

Instal dan Konfigurasi Apache Cassandra 4.0 di Centos 8

Apache Cassandra adalah sistem manajemen basis data NoSQL sumber terbuka dan gratis yang dirancang untuk menangani sejumlah besar data di banyak server komoditas, menyediakan ketersediaan tinggi tanpa satu titik kegagalan. Apache Cassandra awalnya dikembangkan oleh Facebook dan kemudian diakuisisi oleh Apache Foundation.

Apache Cassandra cocok untuk data yang terus berubah dalam jumlah besar dan tumbuh secara eksponensial.

Cassandra Dibandingkan dengan RDBMS

Cassandra memiliki analogi yang mirip dengan konsep dalam database relasional:

  • Keyspace – Mirip dengan Database/skema di RDBMS
  • Table – Mirip dengan tabel di RDBMS
  • Row – Mirip dengan Baris di RDBMS
  • Column – Mirip dengan Kolom di RDBMS
  • Primary key – Mirip dengan Kunci utama di RDBMS

Prasyarat

Untuk mengikuti panduan ini, Anda perlu:

  • Server Centos 8
  • Akses root ke server atau pengguna dengan akses sudo
  • Akses internet untuk mengunduh paket

Berikut ini adalah langkah-langkah yang akan kita ikuti untuk menginstal Cassandra

  1. Pastikan sistem kami mutakhir
  2. Instal Java di sistem
  3. Instal Apache Cassandra di sistem
  4. Instal dan konfigurasikan Apache Cassandra Client (cqlsh)
  5. Konfigurasi Apache Cassandra

Langkah 1 Pastikan sistem kami mutakhir

Pastikan paket Centos 8 yang terinstal di server sudah terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:

sudo dnf -y update

Langkah 2 Instal Java di sistem

Apache Cassandra mengharuskan Anda memiliki Java 8 di sistem Anda untuk menjalankannya. Konfirmasikan bahwa Java telah diinstal dengan mengetikkan perintah ini:

java -version

Jika Anda melihat keluaran ini:

# java -version
-bash: java: command not found

Berarti java belum terinstall. Mari kita instal dengan perintah ini:

sudo dnf install -y java-1.8.0-openjdk

Setelah instalasi selesai, konfirmasikan dengan ini :

# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Sekarang Java 8 telah terinstal di sistem kita, mari kita instal Cassandra.

Langkah 3. Instal Apache Cassandra di sistem

Apache Cassandra tidak tersedia di repositori Centos 8 default. Mari membuat repo yang menunjuk ke Cassandra Repos:

Buat /etc/yum.repos.d/cassandra.repo ini file dengan konten yang diperlukan menggunakan perintah ini:

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

Sekarang kita telah menambahkan repo, mari kita instal cassandra:

sudo dnf install -y cassandra

Konfirmasikan bahwa Cassandra telah diinstal menggunakan perintah ini:

# rpm -qi cassandra
Name        : cassandra
Version     : 4.0.0
Release     : 1
Architecture: noarch
Install Date: Tue 31 Aug 2021 08:59:00 AM UTC
Group       : Development/Libraries
Size        : 54941890
License     : Apache Software License 2.0
Signature   : RSA/SHA512, Thu 22 Jul 2021 10:22:35 PM UTC, Key ID 5e85b9ae0b84c041
Source RPM  : cassandra-4.0.0-1.src.rpm
Build Date  : Thu 22 Jul 2021 10:22:10 PM UTC
Build Host  : 0b542adba94d
Relocations : (not relocatable)
URL         : http://cassandra.apache.org/
Summary     : Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
Description :
Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data.

Setelah perintah itu diinstal, Biner cassandra akan dibuat di /usr/sbin/cassandra . Karena Centos 8 mengelola layanan menggunakan systemd, mari buat file systemd di /etc/systemd/system/cassandra.service dengan konten yang diperlukan untuk mengelola layanan cassandra

sudo cat > /etc/systemd/system/cassandra.service <<EOF
[Unit]
Description=Apache Cassandra 4.0
After=network.target

[Service]
Type=simple
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
EOF

Setelah file dibuat, Anda dapat menggunakan systemd untuk mengelola layanan:

Jalankan perintah ini untuk memastikan layanan systemd baru kami terdaftar:

sudo systemctl daemon-reload 

Untuk memulai layanan:

sudo systemctl start cassandra

Konfirmasikan bahwa layanan sedang berjalan. Harap pastikan Anda melihat bahwa Active: active (running) dalam perintah status berikut:

# sudo systemctl status cassandra
● cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-31 15:50:07 UTC; 8s ago
 Main PID: 100752 (java)
    Tasks: 54 (limit: 23800)
   Memory: 1.1G
   CGroup: /system.slice/cassandra.service
           └─100752 java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA -XX:+PerfD>

Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,284 NativeTransportService.java:68 - Netty using native Epoll event loop
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [CompactionExecutor:1] 2021-08-31 15:50:13,326 CompactionTask.java:150 - Compacting (20ffe200-0a73-11ec-a273-f980f7c7aa0a) [/var/lib/cassandra>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:124 - Using Netty Version: [netty-buffer=netty-buffer-4.1.58.Final.10b03e6, netty-cod>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:125 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,334 CassandraDaemon.java:780 - Startup complete

Aktifkan layanan cassandra untuk selalu berjalan saat boot:

sudo systemctl enable cassandra

Gunakan nodetool status perintah untuk mengkonfirmasi status status node saat ini:

# 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  166.07 KiB  16      100.0%            2b8341f0-2638-46bb-a0e0-e20b86f96d0a  rack1

Sekarang layanan sudah aktif dan berjalan, mari instal klien:

Langkah 4. Instal dan konfigurasikan Apache Cassandra Client (cqlsh)

Sekarang layanan Apache Cassandra telah diinstal dan dikonfigurasi, kita perlu menghubungkannya.

Alat klien yang digunakan untuk mengakses Cassandra (cqlsh ) adalah klien python. Jadi sebelum menginstalnya kita perlu mengatur lingkungan untuk python:

Instal python3 dan python pip

sudo dnf install -y python39 python39-pip

Konfirmasi instalasi dan Python dan pip:

# python3 -V
Python 3.9.2

# pip3 -V
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)

Menggunakan pip, instal cqlsh:

sudo pip3 install cqlsh

Sekarang kita dapat menggunakan cqlsh untuk terhubung ke cassandra. Karena Cassandra diinstal secara lokal, kami tidak perlu menentukan host apa pun:

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

Sekarang klien sudah diatur, mari konfigurasikan Cassandra

Langkah 4. Konfigurasi Apache Cassandra

Mari konfigurasikan Apache Cassandra. File konfigurasi utama terletak di sini /etc/cassandra/default.conf/cassandra.yaml

Konfigurasi penting untuk diubah:

  • cluster_name – nama cluster Anda
  • seeds berisi daftar alamat IP benih klaster Anda, dipisahkan koma
  • listen_address berisi alamat IP node Anda, inilah yang memungkinkan node lain berkomunikasi dengan node ini

Selain itu, Anda juga dapat menambahkan env variabble JVM_OPTS menambahkan argumen baris perintah JVM tambahan. Ini akan diteruskan ke layanan cassandra saat memulai.

Secara default, nama cluster Cassandra adalah 'Test Cluster'. Anda dapat mengubahnya ke nama cluster pilihan Anda dengan masuk menggunakan cqlsh dan jalankan perintah di bawah ini.

UPDATE system.local 
SET cluster_name = 'Citizix Cluster' 
WHERE KEY = 'local';

Setelah itu update file konfigurasi /etc/cassandra/default.conf/cassandra.yaml dengan nama baru:

sudo vim /etc/cassandra/default.conf/cassandra.yaml

Kemudian perbarui baris ini:

cluster_name: 'Citizix Cluster'

Simpan dan keluar.

Mari bersihkan cache sistem menggunakan ini:

nodetool flush system

Kemudian restart layanan cassandra

sudo systemctl restart cassandra

Masuk lagi untuk mengonfirmasi nama cluster seperti yang ditunjukkan.

Kesimpulan

Kami berhasil menginstal dan mengkonfigurasi cassanda dalam panduan di atas. Harap perhatikan hal berikut:

  • Cassandra menyimpan lognya di direktori ini /var/log/cassandra/ dengan file log utama terletak di /var/log/cassandra/system.log
  • Karena kami membuat layanan systemd, Anda juga dapat memeriksa stdout dan stderr log menggunakan perintah ini:
    sudo journalctl -fu cassandra
  • Ini /var/lib/cassandra ditetapkan sebagai direktori data default. Anda dapat memperbaruinya di file konfigurasi
  • File konfigurasi Cassandra disimpan di direktori ini /etc/cassandra/ termasuk file konfigurasi default /etc/cassandra/default.conf/cassandra.yaml
  • Untuk mengatur service cassandra yang kita buat:
    # Start the service
    sudo systemctl start cassandra
    # Check the service status
    sudo systemctl status cassandra
    # Stop the service
    sudo systemctl stop cassandra
    # Enable the service
    sudo systemctl enable cassandra
    # Restart the service
    sudo systemctl restart cassandra

Silakan periksa juga halaman Dokumentasi Cassandra di sini untuk info lebih lanjut.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Instal Apache Cassandra di CentOS 7

  3. Instal Apache dan PHP di CentOS 7

  1. Cara Instal Apache Cassandra di CentOS 8

  2. Cara Menginstal dan Mengonfigurasi Redis di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi GitLab di CentOS 7

  1. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di CentOS 7

  2. Cara Instal dan Konfigurasi Redmine di CentOS 7

  3. Cara Instal Apache Cassandra di CentOS 7