创建一个数据库管理员用户:

使用 Cassandra 默认用户名/密码连接到 cqlsh 提示符。

# cqlsh -u cassandra -p cassandra
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh>

通过执行以下命令创建一个数据库管理员用户。

cassandra@cqlsh> CREATE ROLE jackli WITH PASSWORD = 'JackLi@1234' AND SUPERUSER = true AND LOGIN = true;

从 cqlsh 提示符退出。

cassandra@cqlsh> exit

再次以新管理员用户身份连接到 cqlsh。

# cqlsh -u jackli -p JackLi@1234
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
jackli@cqlsh>

为了更好的安全性,始终建议删除/禁用默认用户。
因此,撤销 cassendra 用户的管理员角色和登录权限。

jackli@cqlsh> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;

撤销 cassendra 用户的所有权限。

jackli@cqlsh> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

将所有权限授予新的管理员用户。

jackli@cqlsh> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO jackli;

从 cqlsh 提示符退出。

jackli@cqlsh> exit

Apache Cassandra 已配置。

在 CentOS/RHEL 8 上安装 Apache Cassandra
查看更多教程 https://on  itroad.com

配置 Apache Cassandra 安全性

Apache Cassandra 的配置文件位于 /etc/cassandra/conf 目录中。

在修改原始配置文件之前对其进行备份是一种安全的做法。
因此,创建原始 cassandra.yaml 配置文件的副本,如下所示。

# cd /etc/cassandra/conf/
# cp cassandra.yaml cassandra.yaml.bkp

现在,使用 vim 文本编辑器编辑此文件。

# vi /etc/cassandra/conf/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

重新启动 Cassandra 服务以使更改生效。

# systemctl restart cassandra.service

在 CentOS/RHEL 8 上安装 Apache Cassandra

Apache Cassandra 需要 JVM(Java 虚拟机)才能运行。
虽然我们可以在你的 Linux 服务器上显式安装 Java,但是如果你使用 dnf 命令安装 Cassandra 软件,它会自动安装所有需要的依赖项,包括 Java。

因此,我们应该使用 dnf 命令直接在 Linux 服务器上安装 Apache Cassandra。

# dnf install -y cassandra

cqlsh(Cassandra 查询语言shell)需要 Python 才能运行。
因此,我们还需要安装 Python。

目前,Apache Cassandra 仅与 Python 2.7 兼容。
因此,我们需要在 Linux 服务器上安装相同的内容。

# dnf install -y python2

Cassandra 服务是基于 SystemV 的,因此,我们必须使用旧命令来启用和启动它。

# service cassandra start
Starting cassandra (via systemctl):                        [  OK  ]
# chkconfig cassandra on

验证 cassandra.service 的状态。

# systemctl status cassandra.service

使用 nodetool 命令来验证 Cassandra 集群的状态。

# 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  70.01 KiB  256          100.0%            7d916cdb-8065-42d0-97c0-c88c68b68aa3  rack1

安装 Cassandra 官方 Yum 存储库:

Apache 软件基金会为 Cassandra 软件的每个版本提供官方 yum 存储库。

我们需要添加 yum 存储库,如 Cassandra 下载页面所述。

使用 vim 文本编辑器创建一个 repo 文件。

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

在此文件中添加以下指令。

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

此处,311x 是 Apache Cassandra 的相应版本,例如:3.11.

如果你想安装任何其他版本的 Apache Cassandra,那么你应该相应地更新 repo 文件中的版本号。

为新安装的 yum 存储库构建 yum 缓存。
如果要求,请接受 GPG 密钥。

# dnf makecache
CentOS-8 - AppStream                            7.3 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                 5.0 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                               162  B/s | 1.5 kB     00:09
Apache Cassandra                                2.1 kB/s | 3.6 kB     00:01
Metadata cache created.

Apache Cassandra 3.11 yum 存储库已安装在 Linux 服务器上。

日期:2020-09-17 00:11:34 来源:oir作者:oir