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

Cara Instal Apache Cassandra di CentOS

1. Pendahuluan

Kasandra adalah sistem manajemen basis data terdistribusi sumber terbuka dengan penyimpanan kolom yang luas dan basis data NoSQL yang dapat menangani sejumlah besar data di banyak server komoditas tanpa satu titik kegagalan. Itu dibuat oleh Apache Software Foundation dan ditulis dalam Java. Pada artikel ini, kita akan melalui proses langkah demi langkah untuk menginstal Cassandra di CentOS 7 Linux.

2. Prasyarat

Semua perintah yang diberikan di bawah ini harus dijalankan sebagai root atau sudo pengguna.

2.1. Instal Python 2.7

Pada CentOS 7, Python 2.7 sudah diinstal sebelumnya. Jika hilang karena suatu alasan, Anda dapat menggunakan perintah berikut untuk menginstalnya:

# yum -y install python
# python --version
Python 2.7.5

2.2. Instal Java

Gunakan perintah di bawah ini untuk menginstal versi terbaru Java 8 dan memverifikasi instalasi.

# yum install java-1.8.0-openjdk-devel
# java -version

Contoh keluaran:

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)

3. Cara menginstal Cassandra

Pertama, mari kita tambahkan repositori Cassandra. Untuk melakukannya, buat file bernama cassandra.repo di bawah /etc/yum.repos.d/ direktori:

# vi /etc/yum.repos.d/cassandra.repo

Tambahkan baris berikut di dalamnya:

[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

Tekan ESC kunci dan ketik :wq untuk menyimpan file dan menutupnya.

Verifikasi apakah repositori Cassandra ditambahkan. Perintah di bawah ini akan memastikan repositori yang diinstal dan diaktifkan:

# yum repolist

Setelah menambahkan repositori, jalankan perintah berikut untuk menginstal Cassandra di sistem CentOS Anda:

# yum -y install cassandra

Aktifkan dan mulai layanan Cassandra:

# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start Cassandra

Pastikan status Cassandra:

# systemctl status cassandra

Gunakan perintah di bawah ini untuk mendapatkan detail cluster seperti kondisi, beban, dan ID-nya:

# nodetool status

Contoh keluaran:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.08 KiB  16      100.0%            bf2df7a9-54bc-41c9-8c6c-0b9322d10e71  rack1

Pada keluarannya,

  • PBB - Naik &Normal
  • Alamat - Alamat IP Node
  • Muat - Setelah mengecualikan semua konten di subdirektori snapshot, jumlah data sistem file di bawah direktori data Cassandra. Setiap 90 detik sekali Ini akan diperbarui.
  • Token - Jumlah token yang telah ditetapkan ke node.
  • Memiliki - Berapa banyak data yang dimiliki node; sebuah node dapat memiliki 33% dari ring tetapi menampilkan 100% jika faktor replikasinya adalah 3.
  • ID Host - ID Jaringan Host
  • Rak - Rak Node di tempatnya.

4. Cqlsh – CLI untuk Cassandra

cqlsh adalah antarmuka baris perintah untuk memanfaatkan CQL untuk terhubung dengan Cassandra (Cassandra Query Language). Itu disertakan dalam setiap paket Cassandra dan dapat ditemukan di samping cassandra yang dapat dieksekusi di bin/ direktori. Driver protokol asli Python digunakan untuk mengimplementasikan cqlsh, yang terhubung ke satu node.

Untuk meluncurkan Cqlsh, jalankan:

# cqlsh

Contoh keluaran:

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.
cqlsh>

5. Contoh perintah CQL

5.1. Buat Ruang Kunci

Di Cassandra, ruang kunci berfungsi sebagai wadah data, mirip dengan basis data dalam sistem manajemen basis data relasional (RDMBS)

cqlsh> CREATE KEYSPACE IF NOT EXISTS OsTechNix WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
cqlsh>

Periksa ruang kunci dalam sistem menggunakan perintah di bawah ini.

cqlsh> SELECT * FROM system_schema.keyspaces;

Untuk menampilkan semua ruang kunci, jalankan:

cqlsh> desc keyspaces;

Semua ruang kunci di cluster akan terdaftar:

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema

5.2. Buat tabel dan masukkan data sampel

Anda dapat menggunakan CREATE TABLE pernyataan yang mendefinisikan tipe data untuk setiap kolom seperti yang biasa kita lakukan di RDBMS. Data disimpan dalam tabel CQL dengan baris kolom, seperti definisi SQL.

Anda harus menentukan 'kunci utama' dan bidang data lainnya untuk membuat tabel. Ikuti contoh di bawah ini untuk pembuatan tabel.

cqlsh> CREATE TABLE ostechnix.sample_table ( id UUID PRIMARY KEY, name text, birthday timestamp, nationality text, weight text, height text );
cqlsh>

Gunakan INSERT pernyataan untuk memasukkan data sederhana ke dalam tabel ostechnix.sample_table yang kita buat di atas. Dalam contoh di bawah ini, dua record ditambahkan ke dalam tabel.

cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'KARTHICK', 'Indian');
cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality, weight) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a804e3, 'MOHAN', 'Indian', '85');

5.3. Membuat kueri tabel

Gunakan pernyataan SELECT untuk mengembalikan satu atau beberapa baris dari sebuah tabel.

cqlsh> SELECT * FROM ostechnix.sample_table;

Di sini, * mengembalikan semua data dari tabel.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85';

Contoh keluaran:

InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
cqlsh>

Cassandra tidak akan menjalankan kueri yang tidak menentukan nilai untuk semua kolom dari kunci utama di 'where ', dan akan mengeluarkan peringatan kesalahan di atas untuk menggunakan 'ALLOW FILTERING' .

Alasan kesalahan ini adalah bahwa Cassandra tidak akan dapat mengidentifikasi node yang berisi hasil yang diperlukan jika kunci partisi lengkap tidak disertakan dalam WHERE ayat. Akibatnya, Cassandra harus memindai seluruh kumpulan data di setiap node untuk memastikannya telah mengidentifikasi data yang relevan.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85' ALLOW FILTERING;

6. Ringkasan

Pada artikel ini, kita telah melalui prosedur instalasi Cassandra dan beberapa contoh perintah CQL. Kami akan membahas lebih dalam tentang Operasi Cassandra di artikel mendatang.


Cent OS
  1. Cara Instal Apache Cassandra di CentOS 7

  2. Cara Menginstal Database Apache Cassandra NoSQL di CentOS 8

  3. Cara Menginstal Apache Kafka di CentOS 8

  1. Cara Instal Apache Cassandra di CentOS 8

  2. Cara Menginstal Apache di CentOS 7

  3. Cara Menginstal Apache Maven di CentOS 7

  1. Cara Instal Apache Cassandra di CentOS 7

  2. Cara Menginstal Apache di CentOS 8

  3. Cara Menginstal Apache Maven di CentOS 8