Apache Cassandra adalah database NoSQL open-source. Salah satu fitur utamanya adalah sifatnya yang terdesentralisasi yang memberikan toleransi kesalahan yang unik. Data kami direplikasi di seluruh pusat data berarti produksi kami tidak akan mengalami kehilangan salah satu situs kami, sesuatu yang diimpikan oleh semua sysadmin (atau sangat senang memiliki penyiapan seperti itu).
Dalam tutorial ini kita akan menginstal Cassandra di Red Hat Enterprise Linux 8 dengan menambahkan repositori Cassandra, menginstal perangkat lunak, dan menyiapkan semua yang diperlukan agar layanan kita aktif dan berjalan serta mudah dikelola.
Dalam tutorial ini Anda akan mempelajari:
- Cara menambahkan repositori Cassandra
- Cara menginstal paket yang dibutuhkan
- Cara memperbaiki file unit systemd
- Cara menguji Cassandra dengan cqlsh
Menanyakan tabel sistem di Cassandra pada RHEL 8
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | Red Hat Enterprise Linux 8 |
Perangkat Lunak | Apache Cassandra 3.11 |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Cara menginstal cassandra di Redhat 8 petunjuk langkah demi langkah
Red Hat Enterprise Linux menggunakan pengemasan berbasis rpm, dan Apache Cassandra menyediakan repositori rpm. Meskipun tidak semua dependensi disertakan, masalah yang perlu diselesaikan tidak terlalu merepotkan. Yang kita perlukan adalah menginstal Java 8 (OpenJDK atau Oracle JDK) terlebih dahulu.
- Kami akan menginstal Cassandra dari repositori resmi Apache. Untuk bisa melakukan itu, kita buat file teks
/etc/yum.repos.d/cassandra.repo
dengan konten berikut:[cassandra] name=Apache Cassandra baseurl=https://www.apache.org/dist/cassandra/redhat/311x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.apache.org/dist/cassandra/KEYS
- Dengan definisi repositori itu, kita dapat menginstal Cassandra dengan
dnf
:# dnf install cassandra
Instalasi akan meminta untuk menerima kunci dari pengembang. Karena kami percaya mereka tidak memublikasikan sesuatu yang rumit, kami akan menerima kunci untuk melanjutkan penginstalan.
- Paket yang diinstal tidak menyertakan skrip init untuk SysV, dan
systemd
tidak dapat menghasilkan file layanan untuk dirinya sendiri, namun itu tidak berfungsi dengan baik. Untuk menyelamatkan diri dari sedikit trial-by-error, kami membuat file layanan baru yang sederhana/etc/systemd/system/cassandra.service
dengan konten 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
systemd
perlu dimuat ulang untuk mengetahui definisi layanan baru:# systemctl daemon-reload
- Sekarang kami dapat mengelola layanan kami dengan systemd. Kita dapat memulai, menghentikan, dan mendapatkan status Cassandra:
# systemctl start|stop|status cassandra
Status berjalannya harus memberikan sesuatu yang mirip dengan output di bawah ini dengan file unit yang dibuat di atas:
# systemctl status cassandra cassandra.service - Apache Cassandra Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2019-01-08 18:39:32 CET; 24s ago Main PID: 6615 (java) Tasks: 58 (limit: 12544) Memory: 1.1G CGroup: /system.slice/cassandra.service 6615 java -Xloggc:/var/log/cassandra/gc.log -ea [...]
- Secara opsional, kita dapat mengaktifkan autostart saat boot:
# systemctl enable cassandra
- Untuk menjalankan beberapa contoh kueri guna menguji sistem manajemen basis data yang berfungsi, kami akan menggunakan
cqlsh
untuk mengakses shell CQL. Alat ini dikirimkan bersama penginstalan, namunpython
alat ini tergantung pada tidak. Kita harus menginstalnya dengandnf
:# dnf install python2
- Untuk menjalankan contoh kueri terhadap Cassandra, kita dapat memasukkan shell CQL:
# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.3 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh>
- Karena data pengguna belum dimasukkan ke dalam database, kami akan menanyakan beberapa data dari tabel sistem untuk melihat instalasi kami berfungsi dengan baik:
cqlsh> SELECT keyspace_name, table_name FROM system_schema.tables where keyspace_name = 'system_auth'; keyspace_name | table_name ---------------+-------------------------------- system_auth | resource_role_permissons_index system_auth | role_members system_auth | role_permissions system_auth | roles (4 rows)