在本教程中,我们将向您展示如何在CentOS 7 VPS上安装和设置Apache Cassandra。
Apache Cassandra是一个免费,开源,高性能,高度可扩展的分布式NoSQL数据库管理系统,旨在处理许多商用服务器上的大量结构化数据,提供高可用性而没有单点故障。当无法接受停机或数据丢失(冗余是关键)时,Cassandra是一个很好的选择。让我们从安装开始。
先决条件
- 运行CentOS 7的服务器。出于本教程的目的,我们将使用具有4GB内存的CentOS 7 VPS。
- 具有root用户特权的SSH访问,或对“ root”用户本身的访问。
有关Cassandra硬件要求的更多信息,请访问其官方网站。
步骤1:通过SSH登录并更新
以root用户身份使用SSH登录到CentOS 7 VPS:
ssh root@IP_Address -p Port_number
如有必要,请使用具有sudo特权的用户替换“ root”。此外,将“ IP_Address”和“ Port_Number”替换为服务器各自的IP地址和SSH端口。
完成后,您可以使用以下命令检查服务器上是否安装了正确的CentOS 7版本:
# cat /etc/redhat-release
您应该获得以下输出:
CentOS Linux release 7.6.1810 (Core)
然后,运行以下命令以确保服务器上所有已安装的软件包已更新为最新的可用版本:
# yum update
这样可以确保包之间的兼容性。
步骤2:安装JAVA
Apache Cassandra需要Java,因此我们需要首先安装Java。
# yum install java nano -y
现在,让我们检查并确认Java安装结果。
[root@centos2019 ~]# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
步骤3:安装CASSANDRA
安装Apache Cassandra的最简单方法是从其官方存储库中。将Cassandra的Apache存储库添加到 /etc/yum.repos.d/中,以获取最新的3.11版本。我们将通过使用nano打开一个新文件来完成此操作(您可以根据需要使用其他文本编辑器):
# nano /etc/yum.repos.d/cassandra.repo
然后,将以下行添加到文件中:
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
不要忘记保存并退出文件以继续进行安装。
# yum install cassandra
出现提示时,请接受所有GPG密钥导入。
新软件包已自动添加,因此让我们使Apache Cassandra在引导时自动运行,然后运行该服务。
# systemctl enable cassandra
# systemctl start cassandra
检查Cassandra群集的状态。我们将使用 nodetool 程序显示Apache Cassandra的状态:
[root@centos2019 ~]# 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 103.65 KiB 256 100.0% 9f1f53c1-559a-469d-a0b4-284e46587820 rack1
如果 在输出中看到 UN,则说明集群运行正常。
步骤4:配置APACHE CASSANDRA
安全卡桑德拉
默认情况下,您可以 不使用密码登录到 cqlsh shell,出于安全目的,我们将更改配置,使其需要密码。
# nano /etc/cassandra/conf/cassandra.yaml
查找并将身份验证器值从“ AllowAllAuthenticator”替换为“ PasswordAuthenticator”
保存并退出文件后,不要忘记重新启动Cassandra。
# systemctl restart cassandra
然后,使用以下命令登录。然后,您将能够添加新用户:
# cqlsh -u cassandra -p cassandra
现在,让我们创建一个超级管理员用户,让我们在cassandra shell中运行此命令
cassandra@cqlsh> CREATE ROLE master WITH PASSWORD = 'm0d1fyth15' AND SUPERUSER = true AND LOGIN = true;
使用上面的命令,您创建了一个名为’master’的超级用户,其密码为’m0d1fyth15’。运行命令时,请将密码替换为更安全,更安全的密码。
cassandra@cqlsh> quit
创建新的超级用户后,您可以使用新创建的超级用户帐户登录cqlsh来删除Cassandra的默认用户。登录后,输入以下命令:
重命名集群
默认情况下,Cassandra将“测试群集”作为群集名称。您可以通过执行以下操作来更改集群名称:
1.在cqlsh shell中运行以下命令:
master@cqlsh> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
master@cqlsh> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
2.编辑 /etc/cassandra/conf/cassandra.yaml 文件,并将“ cluster_name”中的值替换为您要设置的值。
3. 从CentOS Shell 而不是 cqlsh shell调用命令 nodetool flush系统。
4.使用命令systemctl restart cassandra重新启动Cassandra。
5.使用超级用户帐户登录到cqlsh Shell,以检查并验证集群名称更改。
而已。您已在CentOS 7机器上成功安装并配置了Apache Cassandra。有关Apache Cassandra的更多信息,您可以在http://cassandra.apache.org/doc/latest/中关注其文档。