如何在CentOS 7上安装Apache Cassandra
Apache Cassandra是一个没有单点故障的开源NoSQL数据库,在不影响性能的情况下提供了线性可伸缩性和高可用性。
在Cassandra中,记录的结构类似于在关系数据库中具有表,行和列的结构。
苹果,NetFlix,eBay和Easou等许多组织都在使用Apache Cassandra。
本教程描述了如何在CentOS 7上安装Apache Cassandra。
准备工作
我们登录的用户必须具有sudo特权才能安装软件包。
安装Apache Cassandra
在CentOS 7上安装Apache Cassandra的推荐方法是通过从官方Apache Cassandra存储库安装rpm软件包。
在撰写本文时,Apache Cassandra的最新版本为'3.11',并且要求在系统上安装OpenJDK 8.
要在系统上安装OpenJDK,请输入:
sudo yum install java-1.8.0-openjdk-devel
通过运行以下命令来验证Java安装,该命令将打印Java版本:
java -version
输出应如下所示:
openjdk version "1.8.0_201" OpenJDK Runtime Environment (build 1.8.0_201-b09) OpenJDK 64-Bit Server VM (build 25.201-b09, 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 yum install cassandra
启动并启用Cassandra服务:
sudo systemctl enable cassandrasudo systemctl start 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 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
至此,Apache Cassandra已安装在CentOS服务器上。
配置Apache Cassandra
Apache Cassandra数据存储在“/var/lib/cassandra”目录中,配置文件位于“/etc/cassandra”中,而Java启动选项可以在“/etc/default/cassandra”文件中进行配置。
默认情况下,Cassandra配置为仅在localhost上侦听。
如果连接数据库的客户端也在同一主机上运行,则无需更改默认配置文件。
要通过CQL(Cassandra查询语言)与Cassandra交互,我们可以使用Cassandra软件包随附的名为“ cqlsh”的命令行实用程序。
cqlsh
Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.4 | 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”配置文件,然后输入新的集群名称。
/etc/cassandra/default.conf/cassandra.yaml
cluster_name: 'theitroad Cluster'
- 运行以下命令以清除系统缓存:
nodetool flush system
- 最后重新启动Cassandra服务:
sudo systemctl restart cassandra