如何在CentOS 8上安装Apache Cassandra

时间:2020-03-05 15:24:34  来源:igfitidea点击:

Apache Cassandra是一个免费的开源NoSQL数据库,没有单点故障。
它提供了线性可扩展性和高可用性,而不会影响性能。
许多拥有大型活动数据集的都使用Apache Cassandra,包括Reddit,NetFlix,Instagram和Github。

本文介绍了如何在CentOS 8上安装Apache Cassandra。

安装Apache Cassandra

在CentOS 8上安装Apache Cassandra的最简单方法是从官方Apache Cassandra存储库安装rpm软件包。

Apache Cassandra的最新版本是“ 3.11”,并且要求在系统上安装OpenJDK 8.

以root或者具有sudo特权的用户身份运行以下命令来安装OpenJDK:

sudo dnf install java-1.8.0-openjdk-devel

完成后,通过打印Java版本来验证安装:

java -version

输出应如下所示:

openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

现在已经安装了Java,下一步是添加Apache Cassandra存储库。

打开文本编辑器并创建以下存储库文件:

sudo nano /etc/yum.repos.d/cassandra.repo

将以下内容粘贴到文件中:

/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

保存文件并通过键入以下命令安装最新版本的Apache Cassandra:

sudo dnf install cassandra

出现提示时,键入“ y”以导入GPG密钥。

安装完成后,启动并启用Cassandra服务:

sudo systemctl start cassandrasudo systemctl enable cassandra

通过键入以下命令来验证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  69.99 KiB  256     100.0%            ce0389a3-b48c-4cc9-b594-abe23e677d33  rack1

就是这样。
至此,我们已经在CentOS服务器上安装了Apache Cassandra。

配置Apache Cassandra

Apache Cassandra数据存储在“/var/lib/cassandra”目录中,配置文件位于“/etc/cassandra”中,而Java启动选项可以在“/etc/default/cassandra”文件中进行配置。

默认情况下,Cassandra配置为仅在localhost上侦听。
如果连接数据库的客户端也在同一主机上运行,则无需更改默认配置文件。

要通过CQL(Cassandra查询语言)与Cassandra进行交互,我们可以使用Cassandra软件包随附的名为“ cqlsh”的命令行实用程序。

'cqlsh'要求Python 2位于系统的PATH中。

如果我们未在服务器上安装Python 2,则可以使用以下命令进行操作:

sudo dnf install python2sudo alternatives --set python /usr/bin/python2

设置好python后,运行'cqlsh'来访问CQL shell:

cqlsh
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

重命名Apache Cassandra集群

默认情况下,Cassandra群集被命名为“测试群集”。
如果要更改群集名称,请按照以下步骤操作:

  • 使用'cqlsh'登录到Cassandra CQL终端:
cqlsh

以下命令会将群集名称更改为“ theitroad群集”:

UPDATE system.local SET cluster_name = 'theitroad Cluster' WHERE KEY = 'local';

用我们想要的名称替换“ theitroad Cluster”。完成后,键入“ exit”退出控制台。

  • 打开“ cassandra.yaml”配置文件,搜索“ cluster_name”并输入新的集群名称:
sudo nano /etc/cassandra/default.conf/cassandra.yaml

/etc/cassandra/default.conf/cassandra.yaml

cluster_name: 'theitroad Cluster'
  • 清除系统缓存:
nodetool flush system
  • 最后重新启动Cassandra服务:
sudo systemctl restart cassandra