Cassandra 文件

版本

您正在檢視預發行版本的說明文件。

安裝 Cassandra

Apache Cassandra 可安裝在許多 Linux 發行版上

  • AlmaLinux

  • Amazon Linux Amazon Machine Images (AMI)

  • Debian

  • RedHat Enterprise Linux (RHEL)

  • SUSE Enterprise Linux

  • Ubuntu

這不是作業系統平台的完整清單,也不是規範性的。但是,建議使用者在使用較不流行的 Linux 發行版時進行詳盡的測試。不建議在較舊的 Linux 版本上部署,除非您之前在生產環境中使用過較舊的發行版。

先決條件

  1. 驗證已安裝的 Java 版本。例如

  • 命令

  • 結果

$ java -version
openjdk version "11.0.20" 2023-07-18
OpenJDK Runtime Environment Temurin-11.0.20+8 (build 11.0.20+8)
OpenJDK 64-Bit Server VM Temurin-11.0.20+8 (build 11.0.20+8, mixed mode)
  • 若要使用 CQL shell cqlsh,請安裝最新版本的 Python 3.8-3.11。

若要驗證您已安裝正確版本的 Python,請輸入 python --version

Python 2.7 的支援已棄用。

選擇安裝方法

有三個常見的安裝 Cassandra 方法

  • Docker 映像

  • Tarball 二進位檔

  • 套件安裝 (RPM、YUM)

如果您是目前的 Docker 使用者,安裝 Docker 映像很簡單。您需要在 Mac 上安裝 Docker Desktop,在 Windows 上安裝 Docker Desktop,或在 Linux 上安裝 docker。從 Docker Hub 拉取適當的映像,然後使用 docker run 指令啟動 Cassandra。

對許多使用者來說,安裝二進位 tarball 也是一個簡單的選擇。tarball 會將其所有內容解壓縮到單一位置,二進位檔和組態檔位於其自己的子目錄中。tarball 安裝最明顯的優點是它不需要 root 權限,而且可以安裝在任何 Linux 發行版上。

封裝安裝需要 root 權限,最適合用於生產安裝。如果您想使用 YUM 安裝 Cassandra,請在 CentOS 和 RHEL 為基礎的發行版上安裝 RPM 組建。如果您想使用 APT 安裝 Cassandra,請在 Ubuntu 和其他 Debian 為基礎的發行版上安裝 Debian 組建。

請注意,YUM 和 APT 方法都需要 root 權限,並且會將二進位檔和組態檔安裝為 cassandra 作業系統使用者。

使用 Docker 安裝

  1. 拉取 docker 映像。對於最新的映像,請使用

    docker pull cassandra:latest

    這個 docker pull 指令會從 Dockerhub 取得最新版本的官方 Docker Apache Cassandra 映像。

  2. 使用 docker run 指令啟動 Cassandra

    docker run --name cass_cluster cassandra:latest

    --name 選項會是所建立的 Cassandra 群集名稱。此範例使用名稱 cass_cluster

  3. 啟動 CQL shell,cqlsh 與所建立的 Cassandra 節點互動

    docker exec -it cass_cluster cqlsh

安裝 tarball 檔

  1. 驗證已安裝的 Java 版本。例如

  • 指令

  • 結果

$ java -version
openjdk version "11.0.20" 2023-07-18
OpenJDK Runtime Environment Temurin-11.0.20+8 (build 11.0.20+8)
OpenJDK 64-Bit Server VM Temurin-11.0.20+8 (build 11.0.20+8, mixed mode)
  1. Apache Cassandra 下載 網站上的其中一個鏡像下載二進位 tarball。例如,要下載 Cassandra 4.0

    $ curl -OL http://apache.mirror.digitalpacific.com.au/cassandra/4.0.0/apache-cassandra-4.0.0-bin.tar.gz

    鏡像只會存放每個主要支援版本的最新版本。如要下載較早版本的 Cassandra,請瀏覽 Apache Archives

  2. 選擇性:使用 這裡 的其中一種方法驗證已下載 tarball 的完整性。例如,使用 GPG 驗證已下載檔案的雜湊

    • 指令

    • 結果

    $ gpg --print-md SHA256 apache-cassandra-4.0.0-bin.tar.gz
    apache-cassandra-4.0.0-bin.tar.gz: 28757DDE 589F7041 0F9A6A95 C39EE7E6
                                       CDE63440 E2B06B91 AE6B2006 14FA364D

    將簽章與下載網站上的 SHA256 檔案進行比較

    • 指令

    • 結果

    $ curl -L https://downloads.apache.org/cassandra/4.0.0/apache-cassandra-4.0.0-bin.tar.gz.sha256
    28757dde589f70410f9a6a95c39ee7e6cde63440e2b06b91ae6b200614fa364d
  3. 解壓縮 tarball

    $ tar xzvf apache-cassandra-4.0.0-bin.tar.gz

    檔案會解壓縮到 apache-cassandra-4.0.0/ 目錄。這是 tarball 安裝位置。

  4. 位於 tarball 安裝位置的是腳本、二進位檔、公用程式、組態、資料和日誌檔案的目錄

    <tarball_installation>/
        bin/		(1)
        conf/		(2)
        data/		(3)
        doc/
        interface/
        javadoc/
        lib/
        logs/		(4)
        pylib/
        tools/		(5)
    1 執行 cassandra、cqlsh、nodetool 和 SSTable 工具的指令位置
    2 cassandra.yaml 和其他組態檔案的位置
    3 提交日誌、提示和 SSTable 的位置
    4 系統和偵錯日誌的位置 <5>cassandra-stress 工具的位置
  5. 啟動 Cassandra

    $ cd apache-cassandra-4.0.0/ && bin/cassandra

    這會以經過驗證的 Linux 使用者身分執行 Cassandra。

  6. 使用下列方式監控啟動進度

    • 指令

    • 結果

    $ tail -f logs/system.log

    當您在 system.log 中看到類似這樣的項目時,表示 Cassandra 已準備就緒

    +

    INFO  [main] 2019-12-17 03:03:37,526 Server.java:156 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...

    請參閱 組態 Cassandra 以取得組態資訊。

  1. 檢查 Cassandra 的狀態

    $ bin/nodetool status

    輸出中的狀態欄位應報告 UN,代表「正常」。

    或者,使用下列方式連線至資料庫

    $ bin/cqlsh

安裝為 Debian 套件

  1. 驗證已安裝的 Java 版本。例如

  • 指令

  • 結果

$ java -version
openjdk version "11.0.20" 2023-07-18
OpenJDK Runtime Environment Temurin-11.0.20+8 (build 11.0.20+8)
OpenJDK 64-Bit Server VM Temurin-11.0.20+8 (build 11.0.20+8, mixed mode)
  1. 將 Apache Cassandra 的儲存庫新增至檔案 cassandra.sources.list

    最新主要版本為 {50_version},對應的發行名稱為 50x(字尾為「x」)。對於舊版本,請使用

    • 50x 適用於 C* {50_version} 系列

    • 41x 適用於 C* {41_version} 系列

    • 40x 適用於 C* 4.0 系列

例如,要新增版本 {50_version} (50x) 的儲存庫

+

$ echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 50x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
deb https://debian.cassandra.apache.org 50x main
  1. 將 Apache Cassandra 儲存庫金鑰新增至伺服器上受信任金鑰清單

    • 指令

    • 結果

    $ curl -o /etc/apt/keyrings/apache-cassandra.asc https://downloads.apache.org/cassandra/KEYS
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  266k  100  266k    0     0   320k      0 --:--:-- --:--:-- --:--:--  320k
    OK
  2. 從來源更新套件索引

    $ sudo apt-get update
  3. 使用 APT 安裝 Cassandra

    $ sudo apt-get install cassandra
  4. 使用下列方式監控啟動進度

    • 指令

    • 結果

    $ tail -f logs/system.log

    當您在 system.log 中看到類似這樣的項目時,表示 Cassandra 已準備就緒

    +

    INFO  [main] 2019-12-17 03:03:37,526 Server.java:156 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...

    請參閱 組態 Cassandra 以取得組態資訊。

  1. 檢查 Cassandra 的狀態

    $ nodetool status

    輸出中的狀態欄位應報告 UN,代表「正常」。

    或者,使用下列方式連線至資料庫

    $ cqlsh

安裝為 RPM 套件

  1. 驗證已安裝的 Java 版本。例如

  • 指令

  • 結果

$ java -version
openjdk version "11.0.20" 2023-07-18
OpenJDK Runtime Environment Temurin-11.0.20+8 (build 11.0.20+8)
OpenJDK 64-Bit Server VM Temurin-11.0.20+8 (build 11.0.20+8, mixed mode)
  1. 將 Apache Cassandra 的儲存庫新增至檔案 /etc/yum.repos.d/cassandra.repo(作為 root 使用者)。

    最新主要版本為 {50_version},對應的發行名稱為 50x(字尾為「x」)。對於舊版本,請使用

    • 50x 適用於 C* {50_version} 系列

    • 41x 適用於 C* {41_version} 系列

    • 40x 適用於 C* 4.0 系列

例如,要新增版本 {50_version} (50x) 的儲存庫

+

[cassandra]
name=Apache Cassandra
baseurl=https://redhat.cassandra.apache.org/42x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
  1. 從來源更新套件索引

    $ sudo yum update
  2. 使用 YUM 安裝 Cassandra

    $ sudo yum install cassandra

    安裝過程中會建立新的 Linux 使用者 cassandra。Cassandra 服務也會以這個使用者身分執行。

  3. 啟動 Cassandra 服務

    $ sudo service cassandra start
  4. 使用下列方式監控啟動進度

    • 指令

    • 結果

    $ tail -f logs/system.log

    當您在 system.log 中看到類似這樣的項目時,表示 Cassandra 已準備就緒

    +

    INFO  [main] 2019-12-17 03:03:37,526 Server.java:156 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...

    請參閱 組態 Cassandra 以取得組態資訊。

  1. 檢查 Cassandra 的狀態

    $ nodetool status

    輸出中的狀態欄位應報告 UN,代表「正常」。

    或者,使用下列方式連線至資料庫

    $ cqlsh

進一步安裝資訊

如需安裝問題的協助,請參閱疑難排解部分。