介绍
Cassandra,或Apache Cassandra,是一个高度可扩展的开源NoSQL数据库系统,在多节点设置上实现了很好的性能。
在本教程中,您将学习如何安装并使用它在Ubuntu 14.04上运行单节点集群。
前提条件
要完成本教程,您将需要以下内容:
- Ubuntu 14.04 Droplet
- 具有 sudo 特权的非根用户(Initial Server Setup with Ubuntu 14.04)(https://andsky.com/tech/tutorials/initial-server-setup-with-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. 有关卡桑德拉的更多信息可在 项目的网站。