介绍
Cassandra 或 Apache Cassandra 是一个高度可扩展的开源 NoSQL 数据库系统,在多节点设置上实现了出色的性能。
在本教程中,您将学习如何在 Ubuntu 14.04 上安装和使用它来运行单节点集群。
先决条件
要完成本教程,您将需要以下内容:
- Ubuntu 14.04 液滴
- 具有 sudo 权限的非 root 用户(Initial Server Setup with 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 的更多信息,请访问 项目的网站 。