Apache Cassandra، یک پایگاه داده رایگان و منبع باز NoSQL است که هیچ نقطه شکستی ندارد. این پایگاه داده، مقیاس پذیری خطی و دسترسی پذیری بالا را بدون به خطر انداختن عملکرد ارائه می‌دهد. Apache Cassandra توسط بسیاری از شرکت‌ها که مجموعه داده‌های بزرگ و فعالی دارند، از جمله Reddit ،NetFlix ،Instagram و Github استفاده می‌شود.

در این مقاله، نحوه نصب و پیکربندی Apache Cassandra در CentOS 8 شرح داده شده است.

 

 

این مطلب نیز ممکن است برای شما مفید باشد: پایگاه داده چیست؟ SQL چیست؟

 

نصب Apache Cassandra

ساده‌ترین راه برای نصب Apache Cassandra در CentOS 8، نصب بسته rpm از مخزن رسمی Apache Cassandra است.

آخرین نسخه Apache Cassandra، نسخه 3.11 است و برای نصب آن باید ابزار OpenJDK 8 روی سیستم نصب شده باشد.

به منظور نصب OpenJDK کافیست دستور زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید:

sudo dnf install java-1.8.0-openjdk-devel

پس از اتمام نصب، با دستور زیر می‌توانید از نصب آن اطمینان حاصل نمایید:

java -version

خروجی دستور چیزی شبیه به این خواهد بود:

output
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

 

اکنون که جاوا نصب شده است، مرحله بعدی اضافه کردن مخزن Apache Cassandra است.

بدین منظور ویرایشگر متن خود را باز کرده و فایل مخزن زیر را ایجاد نمایید:

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

سپس محتوای زیر را در فایل قرار دهید:

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

[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

فایل را ذخیره کرده و آخرین نسخه Apache Cassandra را با وارد کردن دستور زیر، نصب نمایید:

sudo dnf install cassandra

چنانچه از شما سوالی شد، با تایپ کردن y کلیدهای GPG را import کنید.

 

پس از اتمام نصب، سرویس Cassandra را راه اندازی و فعال نمایید:

sudo systemctl start cassandra
sudo systemctl enable cassandra

با دستور زیر می‌توانید تأیید کنید که Cassandra در حال اجرا است:

nodetool status

در خروجی این دستور باید چیزی شبیه به این را ببینید:

output
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.99 KiB  256     100.0%            ce0389a3-b48c-4cc9-b594-abe23e677d33  rack1

اکنون Apache Cassandra روی سرور CentOS شما نصب شده است. در مرحله بعدی باید آن را پیکربندی نمایید.

 

این مطلب نیز ممکن است برای شما مفید باشد: نصب CouchDB در اوبونتو

 

پیکربندی Apache Cassandra

داده‌های Apache Cassandra در فهرست /var/lib/cassandra ذخیره می‌شوند، فایل‌های پیکربندی در /etc/cassandra قرار دارند و گزینه‌های راه‌اندازی جاوا را می‌توان در فایل /etc/default/cassandra تنظیم کرد.

به طور پیش فرض، Cassandra به گونه‌ای پیکربندی شده است که تنها برروی localhost شنود کند. اگر کلاینت متصل به پایگاه داده نیز در همان میزبان اجرا می‌شود، نیازی به تغییر فایل تنظیمات پیش فرض ندارید.

به منظور تعامل با Cassandra از طریق CQL (زبان جستجوی Cassandra)، شما می‌توانید از یک ابزار خط فرمان به نام cqlsh استفاده کنید که همراه با بسته Cassandra دانلود می‌شود.

cqlsh به Python 2 نیاز دارد که در PATH سیستم باشد. اگر پایتون 2 را روی سرور نصب ندارید، می‌توانید با دستورات زیر آن را نصب نمایید:

sudo dnf install python2
sudo alternatives --set python /usr/bin/python2

هنگامی که پایتون راه‌اندازی شد، cqlsh را برای دسترسی به پوسته CQL اجرا کنید:

cqlsh
output
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh> 

 

تغییر نام Apache Cassandra Cluster

Cassandra Cluste به‌طور پیش‌فرض، «Test Cluster» نام دارد. چنانچه بخواهید نام cluster را تغییر دهید، مراحل زیر را دنبال نمایید:

با cqlsh وارد ترمینال Cassandra CQL شوید:

cqlsh

پس از آن، دستور زیر را وارد کنید. این دستور، نام cluster را به “Linuxize Cluster” تغییر می‌دهد:

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

نام دلخواه خود را جایگزین “Linuxize Cluster” نمایید. پس از اتمام، exit را تایپ کنید تا از کنسول خارج شوید.

 

فایل پیکربندی cassandra.yaml را باز نمایید، "cluster_name" را جستجو کرده و نام cluster جدید خود را وارد نمایید:

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

cluster_name: 'Linuxize Cluster'

سپس cache سیستم را پاک کنید:

nodetool flush system

در نهایت سرویس Cassandra را مجدداَ راه‌اندازی نمایید:

sudo systemctl restart cassandra

 

 

 

منبع:

linuxize