如何在Ubuntu14.04上安装Cassandra并运行单节点集群

来自菜鸟教程
跳转至:导航、​搜索

介绍

Cassandra 或 Apache Cassandra 是一个高度可扩展的开源 NoSQL 数据库系统,在多节点设置上实现了出色的性能。

在本教程中,您将学习如何在 Ubuntu 14.04 上安装和使用它来运行单节点集群。

先决条件

要完成本教程,您将需要以下内容:

第 1 步 — 安装 Oracle Java 虚拟机

Cassandra 要求安装 Oracle Java SE 运行时环境 (JRE)。 因此,在此步骤中,您将安装并验证它是否为默认 JRE。

要使 Oracle JRE 包可用,您必须使用以下命令添加个人包档案 (PPA):

sudo add-apt-repository ppa:webupd8team/java

更新包数据库:

sudo apt-get update

然后安装 Oracle JRE。 安装这个特定的包不仅会安装它,还会使其成为默认的 JRE。 出现提示时,接受许可协议:

sudo apt-get install oracle-java8-set-default

安装后,验证它现在是默认的 JRE:

java -version

您应该会看到类似于以下内容的输出:

Outputjava version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

第 2 步 — 安装 Cassandra

我们将使用来自官方 Apache Software Foundation 存储库的包安装 Cassandra,因此首先添加存储库,以便这些包可用于您的系统。 请注意,Cassandra 2.2.2 是本文发布时的最新版本。 更改 22x 以匹配最新版本。 例如,如果 Cassandra 2.3 是最新版本,则使用 23x

echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

添加回购的来源:

echo "deb-src http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

为了避免包更新期间包签名警告,我们需要添加来自 Apache Software Foundation 的与包存储库关联的三个公钥。

使用这对命令添加第一个,必须一个接一个地运行:

gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -

然后添加第二个键:

gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
gpg --export --armor 2B5C1B00 | sudo apt-key add -

然后添加第三个:

gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
gpg --export --armor 0353B12C | sudo apt-key add -

再次更新包数据库:

sudo apt-get update

最后,安装 Cassandra:

sudo apt-get install cassandra

第 3 步 — 故障排除和启动 Cassandra

通常,此时 Cassandra 应该已自动启动。 但是,由于一个错误,它没有。 要确认它没有运行,请输入:

sudo service cassandra status

如果它没有运行,将显示以下输出:

Output* could not access pidfile for Cassandra

这是 Ubuntu 上最新版本的 Cassandra 的一个众所周知的问题。 我们将尝试一些修复。 首先,首先编辑它的初始化脚本。 我们要修改的参数在该脚本的第 60 行,因此使用以下命令打开它:

sudo nano +60 /etc/init.d/cassandra

该行应为:

/etc/init.d/cassandraCMD_PATT="cassandra.+CassandraDaemon"

将其更改为:

/etc/init.d/cassandra
CMD_PATT="cassandra"

关闭并保存文件,然后重新启动服务器:

sudo reboot

或者:

sudo shutdown -r now

重新登录后,Cassandra 现在应该正在运行。 核实:

sudo service cassandra status

如果你成功了,你会看到:

Output* Cassandra is running

第 4 步 — 连接到集群

如果您能够成功启动 Cassandra,请检查集群的状态:

sudo nodetool status

在输出中,UN 表示它是 Up 和 N 正规:

OutputDatacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns    Host ID                               Rack
UN  127.0.0.1  142.02 KB  256          ?       2053956d-7461-41e6-8dd2-0af59436f736  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

然后使用其交互式命令行界面 cqlsh 连接到它。

cqlsh

你会看到它连接:

OutputConnected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4]
Use HELP for help.
cqlsh>

输入 exit 退出:

exit

结论

恭喜! 您现在有一个在 Ubuntu 14.04 上运行的单节点 Cassandra 集群。 有关 Cassandra 的更多信息,请访问 项目的网站