如何在 Ubuntu 14.04 上安装 Cassandra 并运行单节点集群

介绍

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

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

前提条件

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

步骤1:安装 Oracle Java 虚拟机

Cassandra 需要安装 Oracle Java SE Runtime Environment (JRE),因此,在此步骤中,您将安装并验证它是默认的 JRE。

要使 Oracle JRE 包可用,您需要使用此命令添加个人包存档(PPA):

1sudo add-apt-repository ppa:webupd8team/java

更新包数据库:

1sudo apt-get update

然后安装 Oracle JRE. 安装此特定包不仅会安装它,还会使它成为默认的 JRE。

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

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

1java -version

你应该看到类似于以下的输出:

1[secondary_label Output]
2java version "1.8.0_60"
3Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
4Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

第2步:安装卡桑德拉

我们将使用来自官方Apache软件基金会存储库的包来安装Cassandra,所以先添加Repo,以便这些包在您的系统中可用。 请注意,Cassandra 2.2.2是本出版时的最新版本。 更改22x以匹配最新版本。 例如,如果Cassandra 2.3是最新版本,请使用23x:

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

添加了REPO的来源:

1echo "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 的三个公共密钥。

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

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

然后添加第二个密钥:

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

然后添加第三个:

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

再次更新数据库:

1sudo apt-get update

最后,安装卡桑德拉:

1sudo apt-get install cassandra

步骤 3 – 故障排除和启动 Cassandra

通常情况下,Cassandra 应该在此时自动启动,但是由于错误,它没有。

1sudo service cassandra status

如果不运行,将显示以下输出:

1[secondary_label Output]
2* could not access pidfile for Cassandra

这是在Ubuntu上最新版本的Cassandra中已知的一个问题,我们将尝试一些修复,首先,开始编辑其 init脚本,我们要修改的参数是该脚本的60行,所以使用:

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

这个行应该读:

1[secondary_label /etc/init.d/cassandra]
2CMD_PATT="cassandra.+CassandraDaemon"

把它改成:

1[secondary_label /etc/init.d/cassandra]
2
3CMD_PATT="cassandra"

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

1sudo reboot

或:

1sudo shutdown -r now

重新登录后,Cassandra 现在应该运行。

1sudo service cassandra status

如果你成功,你会看到:

1[secondary_label Output]
2* Cassandra is running

步骤 4 – 连接到集群

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

1sudo nodetool status

在输出中, UN 意味着它是 ** U** p 和 ** N** normal:

1[secondary_label Output]
2Datacenter: datacenter1
3=======================
4Status=Up/Down
5|/ State=Normal/Leaving/Joining/Moving
6--  Address Load Tokens Owns Host ID Rack
7UN 127.0.0.1 142.02 KB 256          ?       2053956d-7461-41e6-8dd2-0af59436f736 rack1
8
9Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

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

1cqlsh

你会看到它连接:

1[secondary_label Output]
2Connected to Test Cluster at 127.0.0.1:9042.
3[cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4]
4Use HELP for help.
5cqlsh>

退出类型:

1exit

结论

你现在有一个单节点卡桑德拉集群运行在Ubuntu 14.04. 有关卡桑德拉的更多信息可在 项目的网站

Published At
Categories with 技术
comments powered by Disqus