如何在 Rocky Linux 9/8 上安裝 Apache Cassandra

Apache Cassandra 是一種高度可擴展、高效能的分散式資料庫,旨在處理跨多個商用伺服器的大量數據,提供高可用性且無單點故障。它以其對跨多個資料中心的叢集的強大支援而聞名,非同步無主複製可實現低延遲和操作簡單性。 Cassandra 非常適合需要高寫入吞吐量、容錯和線性可擴展性的應用程式。

以下指南將示範使用命令列命令在 Rocky Linux 9 或 8 上安裝 Apache Cassandra 的步驟。此過程涉及設定適當的儲存庫並配置系統,以確保分散式資料庫環境的最佳效能和可靠性。

在安裝 Apache Cassandra 之前更新 Rocky Linux 系統

首先,在安裝 Apache Cassandra 之前,最好確保所有系統軟體包都是最新的,以避免安裝 NoSQL 資料庫時出現任何潛在問題。

在終端機中,執行以下命令並升級所有未完成的軟體包。

sudo dnf upgrade --refresh

導入 Apache Cassandra 儲存庫

第一步涉及導入 Apache Cassandra 的儲存庫。幸運的是,您可以使用單一命令來完成此操作。本教學將展示如何匯入 5.0、4.0 或 4.1 分支。由於 3.xx 分支即將結束,本教學將不包含新增這些分支的說明。

4.0 Apache Cassandra RPM 導入

sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

4.1 Apache Cassandra RPM 導入

sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

5.0 Apache Cassandra RPM 導入

sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

透過 DNF 指令安裝 Apache Cassandra

您可以使用以下命令安裝 Cassandra;儲存庫已導入。

sudo dnf install cassandra -y

透過執行以下命令確認安裝的版本。

cassandra -v

請注意,如果您在匯入 GPG 金鑰時看到下列錯誤。

Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
 GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.

變更加密策略並將策略設為 LEGACY。

sudo update-crypto-policies --set LEGACY

有時,您可能需要重新啟動才能成功進行此變更。我發現你不需要,但建議這樣做。

reboot

建立 Apache Cassandra Systemd 服務

安裝完成後,需要建立systemd服務。再說一次,這是一個簡單的任務;複製並貼上以下命令以建立文件。

sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
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

您必須重新載入守護程序才能開始使用 Cassandra 服務,並且不能跳過此步驟。

sudo systemctl daemon-reload

現在,啟動 Cassandra 服務。

sudo systemctl start cassandra

接下來,檢查 Cassandra 的 systemctl 狀態以確保沒有錯誤。

systemctl status cassandra

或者,您可以使用下列命令在啟動電腦或伺服器時啟用 Cassandra 服務自動啟動。

sudo systemctl enable cassandra

在 Rocky Linux 上安裝 Apache Cassandra 用戶端 (cqlsh)

安裝Python

在安裝 Cassandra 用戶端之前,請確保 Python 在您的系統上可用。 Apache Cassandra 的客戶端, cqlsh,是基於Python的,使Python成為先決條件。透過執行以下命令在 Rocky Linux 上安裝 Python:

sudo dnf install python3 -y

安裝畫中畫

接下來,安裝Python的套件管理器PIP,用於管理Python套件。 PIP 對於安裝 Cassandra Python 驅動程式至關重要。如果您的系統上尚未安裝 PIP,請透過執行以下命令來新增它:

sudo dnf install python3-pip -y

安裝 Cassandra Python 驅動程式

Cassandra Python 驅動程式是必要的 cqlsh 連接到 Cassandra 資料庫。此驅動程式支援客戶端和資料庫之間的通訊。使用 PIP 和以下命令安裝驅動程式:

pip install cassandra-driver

安裝 cqlsh

滿足先決條件後,您現在就可以安裝了 cqlsh。此命令列介面允許與 Apache Cassandra 交互,使您能夠執行查詢和管理資料庫。安裝 cqlsh 透過執行:

pip install cqlsh

最後,使用以下命令連接 cqlsh。

cqlsh

成功連接的輸出範例:

[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh> 

配置 Apache Cassandra

設定和個人化 Cassandra 需要更改其設定檔並使用某些命令列實用程式。

設定基本配置

Cassandra 的主要設定檔位於 /etc/cassandra。同時,日誌和資料目錄通常位於 /var/log/cassandra/var/lib/cassandra 分別。

對於 JVM 等級的調整(例如堆疊大小),您可以查看 /etc/cassandra/conf/cassandra-env.sh 文件。在此文件中,您可以將補充 JVM 命令列參數新增至 JVM_OPTS Cassandra 在啟動時讀取的變數。

使用 Apache Cassandra 啟用使用者身份驗證

在啟動使用者身份驗證之前,明智的做法是建立備份 /etc/cassandra/conf/cassandra.yaml 文件:

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

隨後,打開 cassandra.yaml 文件:

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

在該文件中,您需要搜尋並修改這些參數:

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

根據您的需求調整其他設置,如果它們顯示為註解掉,請確保取消註解它們。透過儲存文件完成編輯過程。

然後,重新啟動 Cassandra 以套用您的修改:

sudo systemctl restart cassandra

為 Apache Cassandra 新增管理超級用戶

現在啟動身份驗證後,必須配置使用者。使用 Cassandra Command shell 公用程序,使用預設使用者憑證登入:

cqlsh -u cassandra -p cassandra

透過替換啟動新的超級用戶 [username][yourpassword] 與你的具體情況:

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

之後,登出並使用新​​的超級用戶詳細資料重新登入:

cqlsh -u username -p yourpassword

減少預設 Cassandra 帳號的提升權限:

ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

並且,向您的超級用戶授予完全權限:

GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

透過註銷來結束本節。

自訂控制台配置

Cassandra Shell 可以根據您的需求進行客製化。它從以下位置讀取其配置 cqlshrc 文件中找到 ~/.cassandra 目錄。提供有關可能設定的見解的範例文件位於 /etc/cassandra/conf/cqlshrc.sample.

首先複製此範例檔案:

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

調整 cqlshrc 文件的權限:

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

打開它進行編輯:

nano ~/.cassandra/cqlshrc

要使用超級用戶憑證自動登錄,請找到並編輯以下部分:

[authentication]
username = [superuser]
password = [password]

完成編輯後記得儲存。現在,當您登入 Cassandra shell 時,它將反映您的變更:

cqlsh

重命名集群

您可能想要重命名叢集以使系統更易於識別。透過登入來啟動 cqlsh 終端:

cqlsh

代替 [new_name] 使用您想要的叢集名稱:

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

退出終端機並打開 /etc/cassandra/conf/cassandra.yaml 進一步編輯:

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

找到 cluster_name 變數並將其值替換為您選擇的名稱。儲存您的變更。

最後,清除 Cassandra 的系統快取:

nodetool flush system

重新啟動卡桑德拉:

sudo systemctl restart cassandra

當您登入 shell 時,它將顯示您選擇的叢集名稱。

驗證配置更改

進行配置變更後,最好確保它們生效並檢查 Cassandra 叢集的整體運作狀況。

叢集名稱驗證:重新登入時發布重新命名過程 cqlsh 殼:

cqlsh

提示現在應該顯示新設定的叢集名稱。

結論

在本指南中,我們逐步完成了在 Rocky Linux 上安裝 Apache Cassandra 的步驟,涵蓋版本 9 和 8。定期檢查更新,以保持 Cassandra 的良好性能和安全性。練習使用 Cassandra 以完全掌握其功能。深入研究、試驗,看看它如何改變您的資料管理。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言