云网牛站
所在位置:首页 > Linux云数据库 > 在CentOS 8服务器上安装Apache Cassandra的方法

在CentOS 8服务器上安装Apache Cassandra的方法

2020-03-06 15:17:55作者:秦风稿源:云网牛站

本文介绍在CentOS 8 Linux服务器上安装Apache Cassandra的方法。完成安装后,我们将继续进行Cassandra的配置和调整,以与可用资源最少的机器一起使用。

 

简介

Apache Cassandra是一个免费的开源NoSQL数据库管理系统,旨在进行分布式和高度可用。Cassandra可以在许多服务器上处理大量数据,而不会出现任何单点故障。

Cassandra的特点:

Cassandra提供了类似于SQL的语言Cassandra查询语言(CQL),用于创建和更新数据库架构以及访问数据,CQL允许用户使用以下命令在Cassandra节点群集中组织数据:

Keyspace:定义如何复制数据集,例如在哪个数据中心以及多少个副本中,键空间包含表。

Table:定义分区集合的类型化架构,Cassandra表可以在零停机时间内灵活地向表中添加新列,表包含分区,其中分区包含列。

Partition:定义Cassandra中所有行必须具有的主键的必需部分,所有性能查询都在查询中提供分区键。

Row:包含由唯一的主键标识的列的集合,该主键由分区键和可选的其他聚类键组成。

Column:具有属于行的类型的单个基准。

Cassandra支持以下客户端驱动程序:

Java、Python、Ruby、C# / .NET、Nodejs、PHP、C++、Scala、Clojure、Erlang、Go、Haskell、Rust、Perl、Elixir、Dart。

 

在CentOS 8上安装Apache Cassandra

在CentOS 8上运行Cassandra需要Java,在写本文时,所需的Java版本是8,如果要使用cqlsh,则需要最新版本的Python 2.7。

步骤1:安装Java 8和Python:

sudo yum -y install epel-release python2 java-1.8.0-openjdk-devel

参考:在CentOS 8上安装Java 11(OpenJDK 11)和Java 8(OpenJDK 8)的方法

确认安装的Java和Python:

$ java -version

openjdk version "1.8.0_242"

OpenJDK Runtime Environment (build 1.8.0_242-b08)

OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

$ python2.7 --version

Python 2.7.16

步骤2:在CentOS 8上安装Apache Cassandra

已经安装了Java和Python,现在,将Cassandra存储库添加到我们的CentOS 8系统中:

sudo tee  /etc/yum.repos.d/cassandra.repo <<EOF

[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

EOF

使用以下命令安装Apache Cassandra:

sudo yum -y install cassandra

创建Cassandra服务:

sudo tee /etc/systemd/system/cassandra.service<<EOF

[Unit]

Description=Apache Cassandra

After=network.target

[Service]

PIDFile=/var/run/cassandra/cassandra.pid

User=cassandra

Group=cassandra

ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid

Restart=always

[Install]

WantedBy=multi-user.target

EOF

启动并启用服务以在引导时启动:

sudo systemctl daemon-reload

sudo systemctl start cassandra.service

sudo systemctl enable cassandra

检查服务状态:

$ systemctl status cassandra.service

在CentOS 8服务器上安装Apache Cassandra的方法

您还可以通过以下命令验证Cassandra是否正在运行:

$ nodetool status

在CentOS 8服务器上安装Apache Cassandra的方法

要对Cassandra运行查询,请使用以下命令调用CQL shell:

$ cqlsh

Connected to Test Cluster at 127.0.0.1:9042.

[cqlsh 5.0.1 | Cassandra 3.11.6 | CQL spec 3.4.4 | Native protocol v4]

Use HELP for help.

cqlsh>

注:

配置文件的默认位置是/etc/cassandra。

日志和数据目录的默认位置是/var/log/cassandra/和/var/lib/cassandra。

 

配置Cassandra

为了在单个节点上运行Cassandra,默认配置文件位于/etc/cassandra/conf/cassandra.yaml,对于节点群集设置,您可能需要修改此文件以确保正确调整群集。

至少应考虑设置以下属性:

cluster_name:集群的名称。

seeds:群集种子IP地址的逗号分隔列表。

storage_port:您不一定需要更改此设置,但请确保没有防火墙阻止此端口。

listen_address:您节点的IP地址,这是允许其他节点与此节点通信的地址,因此更改它很重要。

native_transport_port:与storage_port一样,请确保此端口未被防火墙阻止,因为客户端将在此端口上与Cassandra通信。

 

更改目录的位置

配置yaml文件控制以下数据目录:

data_file_directories:数据文件所在的一个或多个目录。

commitlog_directory:commitlog文件所在的目录。

saved_caches_directory:保存的缓存所在的目录。

hints_directory:提示所在的目录。

出于性能原因,如果您有多个磁盘,请考虑将提交日志和数据文件放在不同的磁盘上。

 

设置环境变量

JVM级别设置(例如堆大小)在cassandra-env.sh中设置,考虑将任何其他JVM命令行参数添加到JVM_OPTS环境变量,这些参数在启动时会传递给Cassandra服务。

 

Cassandra Logging

正在使用的记录器是logback,您可以通过编辑logback.xml更改日志记录属性,默认情况下,它将在INFO级别登录到名为system.log的文件中,并在调试级别登录到名为debug.log的文件中,在前台运行时,它还将以INFO级别登录到控制台。

 

相关主题

在Debian 10 Linux上安装和配置Apache Cassandra的方法

精选文章
热门文章