红联Linux门户
Linux帮助

在Ubuntu上安装Apache Cassandra

发布时间:2014-09-14 10:24:42来源:oschina.net作者:红薯

Apache Cassandra 是一个分布式的、可伸缩、高可用以及容错的 NoSQL 数据库,最开始由 facebook 开发,后来贡献给 Apache 基金会。Cassandra 的数据模型灵感来自于 Google Bigtable ,其分布式模型灵感来自 Amazon Dynamo. 如果你希望了解更多 Cassandra 的设计细节,可参考Facebook 的一篇论文:http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf


本文将介绍如何在 Ubuntu 12.04 上安装 Cassandra。


首先使用如下命令安装新的更新
    
sudo apt-get update
sudo apt-get upgrade

打开 /etc/apt/sources.list
    
sudo gedit /etc/apt/sources.list


在 sources.list 文件中添加如下内容
    
deb http://www.apache.org/dist/cassandra/debian 10x main
deb-src http://www.apache.org/dist/cassandra/debian 10x main


注册并添加 PGP 密钥然后重新更新,注意你需要相应的修改密钥
    
gpg --keyserver wwwkeys.pgp.net --recv-keys 4BD736A82B5C1B00
sudo apt-key add ~/.gnupg/pubring.gpg
sudo apt-get update


开始安装 Cassandra
    
sudo apt-get install cassandra

启动 Cassandra 服务器
    
sudo cassandra -f

启动后,你将会看到如下信息
    
INFO 12:18:29,140 Listening for thrift clients...


要停止 Cassandra 服务器进程必须先找到它的进程 id
    
ps auwx | grep cassandra

下列输出信息可知道进程 id 为 3595
    
root      3595  0.0  0.0  60048  1908 pts/0    S+   12:18   0:00 sudo cassandra -f


然后使用 kill 命令来终止 Cassandra 服务(尽管这种方法比较粗暴)
    
sudo kill <pid>

当进程被停止后,你可在 Thrift 看到如下信息
    
INFO 13:04:08,663 Stop listening to thrift clients
INFO 13:04:08,666 Waiting for messaging service to quiesce
INFO 13:04:08,667 MessagingService shutting down server thread.


你也可以使用如下命令来启动 Cassandra 服务
    
sudo /etc/init.d/cassandra start

使用如下命令来停止 Cassandra 服务
    
sudo /etc/init.d/cassandra stop


安装 Cassandra 将会创建如下目录

/var/lib/cassandra (data directories)
/var/log/cassandra (log directory)
/var/run/cassandra (runtime files)
/usr/share/cassandra (environment settings)
/usr/share/cassandra/lib (JAR files)
/usr/bin (binary files)
/usr/sbin
/etc/cassandra (configuration files)
/etc/init.d (service startup script)
/etc/security/limits.d (cassandra user limits)
/etc/default


在 Linux 平台上安装 JNA (Java Native Access) 会优化 Cassandra 的内存使用,要安装 JNA 很简单,只需要从http://java.net/projects/jna/sources/svn/show/trunk/jnalib/dist/下载 jna.jar 文件,并将这个文件保存到 /usr/share/cassandra/lib 目录即可.


如果你在启动 Cassandra 服务器时出现下面错误,则可能是 Cassandra 已经启动了,你需要首先停止正在运行的服务
 
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7199; nested exception is:
java.net.BindException: Address already in use


你也可以使用二进制的安装方法,详情请看http://www.datastax.com/docs/0.8/install/install_bintar