本文介绍在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
您还可以通过以下命令验证Cassandra是否正在运行: $ nodetool status
要对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级别登录到控制台。
相关主题 |