如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra NoSQL 数据库如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra NoSQL 数据库如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra NoSQL 数据库如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra NoSQL 数据库
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra NoSQL 数据库

本教程适用于这些操作系统版本

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 16.04(Xenial Xerus)

在此页

  1. 先决条件
  2. 第 1 步 - 安装 Java
  3. 第 2 步 - 安装 Apache Cassandra
  4. 第 3 步 - 检查 Cassandra 服务
  5. 第 4 步 - 配置 Cassandra
    1. 4.1 启用用户身份验证
    2. 4.1.1 - 添加管理员超级用户
    3. 4.2 - 编辑控制台配置文件
    4. 4.3 - 重命名集群

    Apache Cassandra 是一个开源的 NoSQL 分布式数据库管理系统。 Cassandra 可以通过添加更多自动复制数据的节点来水平扩展。无需停机即可添加或删除节点。这些节点可以在逻辑上组织成一个集群或一个环,并跨多个数据中心设置,以提高高性能应用程序的速度和可靠性。

    在本教程中,我们将学习如何在单节点 Ubuntu 22.04 集群上安装 Apache Cassandra。

    先决条件

    • A Server running Ubuntu 22.04 with a minimum of 2GB of RAM.

    • A non-sudo user with root privileges.

    • Everything is updated.

      $ sudo apt update && sudo apt upgrade
      

    第 1 步 - 安装 Java

    Apache Cassandra 需要 Java 8 或 Java 11 才能运行。最新版本的 Cassandra 包括对 Java 11 的全面支持,这正是我们将要使用的。

    $ sudo apt install openjdk-11-jdk
    

    确认 Java 安装。

    $ java -version
    openjdk 11.0.15 2022-04-19
    OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
    OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)
    

    第 2 步 - 安装 Apache Cassandra

    第一步是添加 Cassandras 官方存储库。

    运行以下命令将存储库添加到系统存储库列表中。

    $ echo "deb http://www.apache.org/dist/cassandra/debian 40x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
    

    在编写本教程时,Cassandra 的最新可用版本是 4.0.5。上面的命令使用40x代表Cassandra 4.0系列。

    将存储库密钥添加到系统受信任的存储库列表中。

    $ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo tee /etc/apt/trusted.gpg.d/cassandra.asc
    

    更新系统存储库列表。

    $ sudo apt update
    

    安装卡桑德拉。

    $ sudo apt install cassandra
    

    第 3 步 - 检查 Cassandra 服务

    Cassandra 自动创建并启动服务守护进程。检查服务的状态。

    $ sudo systemctl status cassandra
    

    您应该得到以下输出。

    ? cassandra.service - LSB: distributed storage system for structured data
         Loaded: loaded (/etc/init.d/cassandra; generated)
         Active: active (running) since Mon 2022-07-25 11:40:42 UTC; 12min ago
           Docs: man:systemd-sysv-generator(8)
          Tasks: 48 (limit: 2241)
         Memory: 1.3G
            CPU: 38.219s
         CGroup: /system.slice/cassandra.service
                 ??4602 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA ->
    Jul 25 11:40:42 cassandra systemd[1]: Starting LSB: distributed storage system for structured data...
    Jul 25 11:40:42 cassandra systemd[1]: Started LSB: distributed storage system for structured data.
    

    您还可以使用 nodetool 命令验证状态。

    $ 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  69.08 KiB  16      100.0%            6690243a-950d-4d64-9463-aa722f8064d4  rack1
    

    第 4 步 - 配置 Cassandra

    Cassandra 配置文件的默认位置是 /etc/cassandra。日志和数据目录的默认位置是 /var/log/cassandra 和 /var/lib/cassandra。

    堆大小等 JVM 级别设置可以通过 /etc/cassandra/cassandra-env.sh 文件进行设置。您可以将其他 JVM 命令行参数传递给 JVM_OPTS 变量。参数在 Cassandra 启动时传递给它。

    4.1 启用用户认证

    要启用用户身份验证,第一步是备份 /etc/cassandra/cassandra.yaml 文件。

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

    打开 cassandra.yaml 文件进行编辑。

    $ sudo nano /etc/cassandra/cassandra.yaml
    

    在此文件中找到以下参数。

    ...
    authenticator: AllowAllAuthenticator
    ...
    authorizer: AllowAllAuthorizer
    ...
    roles_validity_in_ms: 2000
    ...
    permissions_validity_in_ms: 2000
    ...
    

    如下所示更改参数值。

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

    您可以根据您的要求配置其他设置。如果他们被评论,那么取消他们的评论。

    完成后,按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

    重新启动 Cassandra 以启用更改的设置。

    $ sudo systemctl restart cassandra
    

    4.1.1 - 添加管理员超级用户

    现在我们已经启用了身份验证,我们需要创建一个用户。为此,我们将使用 Cassandra Command shell 实用程序。使用默认用户 cassandra 的凭据登录。

    $ cqlsh -u cassandra -p cassandra
    

    您将获得以下外壳。

    Connected to Test Cluster at 127.0.0.1:9042
    [cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    >
    

    创建一个新的超级用户。将 [username] 和 [yourpassword] 替换为您的凭据。

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

    注销外壳。

    > exit
    

    使用新的超级用户帐户重新登录。

    $ 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]';
    

    注销外壳。

    > exit
    

    4.2 - 编辑控制台配置文件

    如果要自定义 Cassandra Shell,可以通过编辑 cqlshrc 文件来实现。该文件的默认位置在 ~/.cassandra 目录中。如果你想从不同的目录加载它,你可以在运行时将参数 --cqlshrc /customdirectory 传递给 cqlsh 工具。 Cassandras 默认安装不包含该文件。因此,我们需要创建它。

    在 ~/.cassandra 目录中创建 cqlshrc 文件。我们不需要使用 sudo 来执行 ~/.cassandra 目录中的任何功能。 Cassandra 要求此目录中的文件归本地帐户所有,不应从其他帐户或组访问。

    $ touch ~/.cassandra/cqlshrc
    

    如果 ~/.cassandra 目录不存在,则使用以下命令创建它。

    $ mkdir ~/.cassandra
    

    打开文件进行编辑。

    $ nano ~/.cassandra/cqlshrc
    

    Cassandras Github 存储库提供了一个示例 cqlshrc 文件。您可以根据需要从那里复制任何或所有部分。所有设置都使用 ;; 进行注释。通过删除双分号取消注释,然后根据您的需要进行更改。

    我们将配置 shell 以使用超级用户凭据自动登录。将 [username] 和 [password] 替换为在上一步中创建的凭据。

    ....
    [authentication]
    ;; If Cassandra has auth enabled, fill out these options
    username = [username]
    password = [password]
    ....
    

    编辑您要更改的任何其他设置。完成后,按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

    更新 cqlshrc 文件的权限。这会阻止任何其他用户组访问该文件。

    $ chmod 600 ~/.cassandra/cqlshrc
    

    使用您的新更改登录到 Cassandra shell。

    $ cqlsh
    Connected to Test Cluster at 127.0.0.1:9042
    [cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    >
    

    注意:在 cqlshrc 文件中存储用户名和密码的方法将从 Cassandra 4.1 版本开始弃用。要了解更多信息,您可以阅读 Cassandras 站点上的条目。

    4.3 - 重命名集群

    最后,我们将集群名称从 Test Cluster 重命名为您选择的名称。

    登录到 cqlsh 终端。

    $ cqlsh
    

    在以下命令中将 [clustername] 替换为您的新集群名称。

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

    退出外壳。

    > exit
    

    打开文件 /etc/cassandra/cassandra.yaml 进行编辑。

    $ sudo nano /etc/cassandra/cassandra.yaml
    

    将变量 cluster_name 的值替换为您选择的名称。

    ...
    # The name of the cluster. This is mainly used to prevent machines in
    # one logical cluster from joining another.
    cluster_name: '[new_name]'
    ...
    

    完成后,按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

    清除 Cassandra 系统缓存。

    $ nodetool flush system
    

    重新启动卡桑德拉。

    $ sudo systemctl restart cassandra
    

    登录到 shell 以查看新名称。

    $ cqlsh
    Connected to howtoforge at 127.0.0.1:9042
    [cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    >
    

    结论

    在本教程中,您学习了如何在 AlmaLinux 或 Rocky Linux 服务器上安装 Apache Cassandra。您还学习了如何添加用户身份验证和执行一些基本配置。要了解更多信息,请访问官方 Cassandra 文档。如果您有任何问题,请在下面的评论中发表。

©2015-2025 艾丽卡 support@alaica.com