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
您将得到以下输出。
[root@liptan-pc ~]# 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
如果获得空值或空白输出,则需要手动设置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
命令来检查环境变量是否设置。
[root@liptan-pc ~]# 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正在运行,您应该看到类似的输出。
[root@ip-172-31-7-136 ~]# 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>"
取消注释行并将其值形式<public_name>
更改为localhost IP地址127.0.0.1
。
配置应如下所示。
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
保存文件并从编辑器退出,通过运行以下命令重新启动Apache Cassandra。
systemctl restart cassandra
运行nodetool
命令时应该具有所需的输出。
Cassandra带有一个强大的命令行shell cqlsh
来在Cluster上运行查询。 查询是用CQL或Cassandra Query语言编写的。 要访问CQL shell,请运行以下命令。
cqlsh
您将看到以下输出。
[root@liptan-pc ~]# 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的信息 。