如何在 Ubuntu 14.04 上安装 Cassandra 并运行单节点集群
介绍
Cassandra 或 Apache Cassandra 是一个高度可扩展的开源 NoSQL 数据库系统,在多节点设置上实现了出色的性能。
在本教程中,您将学习如何安装和使用它在 Ubuntu 14.04 上运行单节点集群。
先决条件
要完成本教程,您需要具备以下条件:
- Ubuntu 14.04 Droplet
- 具有 sudo 权限的非根用户(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 软件基金会官方存储库中的软件包安装 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 软件基金会的公钥。
使用这对命令添加第一个,必须一个接一个地运行:
- 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 表示它已正常运行:
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 的更多信息,请访问该项目的网站。