如何在 CentOS 7 上安装 Apache Cassandra
本教程适用于这些操作系统版本
- CentOS 7.4
- CentOS 7
在此页
- 第 1 步 - 安装 JAVA
- 第 2 步 - 安装 Cassandra
- 结论
Apache Cassandra 是一个免费开源的分布式 NoSQL 数据库管理系统。它用于将大数据存储在分散的高可用集群中。数据分布在许多提供高可用性和无单点故障的服务器上。 NoSQL 数据库服务器以不同于 RDBMS 软件(如 MySQL、PostgreSQL)使用的传统表格方法的其他方法存储数据。
在本教程中,我们将在 CentOS 7 服务器上安装 Apache Cassandra。
第 1 步 - 安装 JAVA
在安装任何包之前,建议您使用以下命令更新包和存储库。
yum -y update
更新系统后,我们将在服务器中安装最新版本的 Oracle Java。运行以下命令下载 RPM 包。
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
如果你没有安装 wget,你可以运行 yum -y install wget 来安装 wget。现在使用以下命令安装下载的 RPM。
yum -y localinstall jdk-8u131-linux-x64.rpm
您现在可以使用以下命令检查 Java 版本。
java -version
您将获得以下输出。
[ ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
您还需要检查是否设置了 JAVA_HOME 环境变量。同样运行以下命令。
echo $JAVA_HOME
如果您得到 null 或空白输出,则需要手动设置 JAVA_HOME 变量。使用您喜欢的编辑器编辑 .bash_profile 文件。在本教程中,我们将使用 nano 编辑器。运行以下命令以使用 nano 编辑 .bash_profile。
nano ~/.bash_profile
现在在文件末尾添加以下行。
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
现在使用以下命令获取文件。
source ~/.bash_profile
现在您可以再次运行 echo $JAVA_HOME 命令来检查是否设置了环境变量。
[ ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_131/
第 2 步 - 安装 Cassandra
现在通过创建一个新的存储库文件将 Apache Cassandra 存储库添加到您的存储库列表中。
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
您现在可以通过运行以下命令来安装 Apache Cassandra。
yum -y install cassandra
通过运行重新加载系统守护进程:
systemctl daemon-reload
您现在可以通过键入启动 Cassandra;
systemctl start cassandra
要使 Cassandra 在引导时自动启动,请运行:
systemctl enable cassandra
您可以通过键入以下命令来验证 Cassandra 是否正在运行。
nodetool status
如果 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 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
而不是上面显示的输出,如果你得到类似于下面的输出,那么你将需要配置 cassandra 环境配置文件。
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
使用以下命令打开配置文件。
nano /etc/cassandra/default.conf/cassandra-env.sh
现在在配置中找到以下行。
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
取消注释该行并将其值从
配置应如下所示。
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
保存文件并退出编辑器,运行以下命令重新启动 Apache Cassandra。
systemctl restart cassandra
运行 nodetool 命令时,您应该会得到所需的输出。
Cassandra 带有一个强大的命令行 shell cqlsh 来在集群上运行查询。查询是用 CQL 或 Cassandra 查询语言编写的。要访问 CQL shell,请运行以下命令。
cqlsh
您将看到以下输出。
[ ~]# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
结论
Apache Cassandra 现已安装在您的服务器上。您可以访问 Cassandra 网站了解有关 Cassandra 的更多信息。