如何在 Rocky Linux 8 上安装 Apache Cassandra

如果您正在寻找一个功能强大的开源分布式数据库系统,但又不想花费数小时来配置和安装它,那么 Cassandra 是适合您的解决方案。

Cassandra 是一个功能强大的开源分布式数据库系统,旨在处理许多商用服务器上的大量数据,提供高可用性,没有单点故障。相反,数据使用键值存储进行分区并分布在多个服务器上。

一、准备工作

  • 部署新的 Vultr Rocky Linux 实例
  • 使用 SSH 登录服务器
  • 更新您的 Vultr Rocky Linux 8 服务器
  • 创建具有 sudo 访问权限的非 root 用户

二、安装 Java OpenJDK

首先,要在系统上运行 Cassandra,必须安装 Java OpenJDK。OpenJDK 是 Java 平台的免费开源实现。下面列出了安装说明。

  1. 运行命令以安装包。在撰写本文时,Java OpenJDK 的最新版本 1.8.xxx。Java OpenJDK 的安装可能需要一些时间才能完成。dnf installjava-1.8.0-openjdk
    $ sudo dnf install java-1.8.0-openjdk -y
    
  2. 安装完成后,使用以下命令验证系统中已安装的 Java OpenJDK 版本。java -version
    $ java -version
    
    openjdk version "1.8.0_322"
    
    OpenJDK Runtime Environment (build 1.8.0_322-b06)
    
    OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)
    

 三、安装 python

Cassandra 是用 Java 编写的,但是你也需要安装 python,因为cqlsh工具是用 python 编写的。Cqlsh 是 Cassandra 的命令行界面;你需要安装 python 来运行 Cassandra。

  1. 运行命令以在系统中安装软件包。在撰写本文时,python的最新版本是3.6.8。dnf installpython36
    & sudo dnf install python36 -y
    
  2. 安装完成后,使用命令验证系统中已安装的版本。python3 --version
    $ python3 --version
    
    Python 3.6.8
    
  3. 运行以下命令以选择默认的 Python 解释器。Cassandra 需要 python v3 或更高版本。因此,您应该从列表中选择最新的一个,并且至少是v3。选择与最新 python 版本对应的数字,然后按 Enter 键。在此演示中,它是选项 2。alternatives --config
    $ alternatives --config python
    
    1           /usr/libexec/no-python
    
    2           /usr/bin/python3
    

 四、安装 Apache Cassandra

现在,您的系统中已安装了所需的组件,并且可以安装 Apache Cassandra 了。

基本的 Rocky Linux 存储库没有 Cassandra 软件包,因此您需要先将其存储库添加到您的系统中。

  1. 使用文本编辑器创建一个在 /etc/yum.repos.d 目录下命名的新文件。cassandra.reponano
    sudo nano /etc/yum.repos.d/cassandra.repo
    
  2. 使用以下内容填充文件。指定 RPM 所在的位置()。这里的意思是从这个位置下载最新版本的Apache Cassandra 4.0.3。您始终可以选择其官方存储库中可用的最新版本。cassandra.repobaseurlhttps://downloads.apache.org/cassandra/redhat/40x/40x
    [cassandra]
    
    name=Apache Cassandra
    
    baseurl=https://downloads.apache.org/cassandra/redhat/40x/
    
    gpgcheck=1
    
    repo_gpgcheck=1
    
    gpgkey=https://downloads.apache.org/cassandra/KEYS
    
  3. 保存并退出文件,方法是按 Ctrl+O、Enter 和 Ctrl+X。运行该命令以使用新添加的存储库更新系统的包管理索引。dnf update
    $ sudo dnf update -y
    
  4. 运行 Cassandra 命令以检查新存储库是否已正确设置。您将看到新的 Cassandra 存储库在输出中启用。dnf repolist
    $ sudo  dnf repolist cassandra
    
    repo id                          repo name                               status
    
    cassandra                        Apache Cassandra                        enabled
    
  5. 最后,使用命令安装包。cassandradnf install
    & sudo dnf install cassandra -y
    
  6. 启动 Cassandra 服务。
    sudo service cassandra start
    
    Reloading systemd:                                         [  OK  ]
    
    Starting cassandra (via systemctl):                        [  OK  ]
    
  7. 启用 Cassandra 服务以在系统重新启动时启动。
    $ sudo systemctl enable cassandra               
    
    cassandra.service is not a native service, redirecting to systemd-sysv-install.
    
    Executing: /usr/lib/systemd/systemd-sysv-install enable cassandra
    
  8. 检查 Cassandra 的服务状态。
    sudo service cassandra status
    
    
    
    cassandra.service - LSB: distributed storage system for structured data
    
    
    
    Loaded: loaded (/etc/rc.d/init.d/cassandra; generated)
    
    
    
    Active: active (running) since Mon 2022-02-21 23:35:06 UTC; 4min 44s ago        
    

 五、保护 Cassandra

保护您的 Cassandra 集群与安装它一样重要。假设您在同一网络上有多个 Cassandra 节点。您应该在开始时保护集群,以防止攻击者访问您的数据库。

  1. 运行以下命令以创建名为 Cassandra 的新防火墙区域。您应该创建一个新区域以与 Cassandra 集群关联,以防止与系统中的其他服务发生冲突。该标志定义新防火墙是永久性的。该标志定义新的防火墙区域。firewall-cmdcassandra-cluster--permanent--new-zone
    $ sudo firewall-cmd --permanent --new-zone cassandra-cluster
    
    success
    
  2. 重新加载服务。firewalld
    $ sudo firewall-cmd --reload
    
  3. 将服务器网络 CIDR 添加到新区域中,以便客户端和服务器可以相互通信。
    $ sudo firewall-cmd --zone=cassandra-cluster --add-source=your-CIDR-here/24 --permanent
    
  4. 运行以下命令以允许访问新区域中 Cassandra 的默认端口。cassandra-cluster
    sudo firewall-cmd --zone=cassandra-cluster --add-port=7000/tcp --permanent
    
    sudo firewall-cmd --zone=cassandra-cluster --add-port=9042/tcp --permanent
    
  5. 最后,重新加载规则。此时,您的 Cassandra 集群是安全的,只能从您的 CIDR-here/24 访问。firewalld
    sudo firewall-cmd --reload
    

  六、测试 Cassandra

现在你已经有了一个新的 Cassandra 集群,你可以测试它是否启动并正常运行。

  1. 运行该命令以检查您的 Cassandra 集群状态。该命令将返回所有节点的信息,包括 IP 地址、每个节点的平均负载、数据中心名称、版本以及集群中每个节点的健康统计信息。nodetool status
    $ sudo nodetool status 
    
    Datacenter: datacenter1
    
    =======================
    
    Status=Up/Down
    
    |/ State=Normal/Leaving/Joining/Moving
    
    --  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
    
    UN  127.0.0.1  97.22 KiB  16      100.0%            5607b149-a79e-4e3e-8d98-5b4a26ff698f  rack1
    
    • U 表示节点已启动。您可以通过查看输出中相应的 U 或 D 来查看哪些节点处于启动或关闭状态。
    • N 表示节点正常。
    • 地址显示节点的 IP 地址。
    • 主机 ID 是每个节点的唯一标识符。
  2. 您还可以使用该命令与 Cassandra 集群进行交互。cqlsh
    $ cqlsh
    
    Connected to Test Cluster at 127.0.0.1:9042
    
    [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5]
    
    Use HELP for help.
    
    cqlsh> 
    
  3. 例如,如果要更改默认名称群集(测试群集),可以使用命令进行更改。替换为所需的值。updateVultr Cluster
    $ UPDATE system.local SET cluster_name = 'Vultr Cluster' WHERE KEY = 'local';
    
  4. 退出 cqlsh shell。
    $ quit
    

下次使用该命令时,它将使用新的集群名称( Vultr 集群)。此输出确认您已在系统上成功安装 Cassandra。cqlsh

    $ cqlsh

    Connected to Vultr Cluster at 127.0.0.1:9042

    [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5]

    Use HELP for help.

    cqlsh>
赞(0)
未经允许不得转载:主机百科 » 如何在 Rocky Linux 8 上安装 Apache Cassandra