作者:php | 2021-09-05 14:06
ApacheCassandra是一个分布式的、可伸缩、高可用以及容错的NoSQL数据库,最开始由facebook开发,后来贡献给Apache基金会。Cassandra的数据模型灵感来自于GoogleBigtable,其分布式模型灵感来自AmazonDynamo.如果你希望了解更多Cassandra的设计细节,可参考Facebook的一篇论文。本文将介
Apache Cassandra 是一个分布式的、可伸缩、高可用以及容错的 NoSQL 数据库,最开始由 facebook 开发,后来贡献给 Apache 基金会。Cassandra 的数据模型灵感来自于 Google Bigtable ,其分布式模型灵感来自 Amazon Dynamo. 如果你希望了解更多 Cassandra 的设计细节,可参考 Facebook 的一篇 论文 。
本文将介绍如何在 Ubuntu 12.04 上安装 Cassandra。
- 首先使用如下命令安装新的更新
- 打开 /etc/apt/sources.list
1 |
sudo gedit /etc/apt/sources.list |
在 sources.list 文件中添加如下内容
1 |
deb http://www.apache.org/dist/cassandra/debian 10x main |
2 |
deb-src http://www.apache.org/dist/cassandra/debian 10x main |
- 注册并添加 PGP 密钥然后重新更新,注意你需要相应的修改密钥
1 |
gpg --keyserver wwwkeys.pgp.net --recv-keys 4BD736A82B5C1B00 |
2 |
sudo apt-key add ~/.gnupg/pubring.gpg |
- 开始安装 Cassandra
1 |
sudo apt-get install cassandra |
- 启动 Cassandra 服务器
启动后,你将会看到如下信息
4 |
INFO 12:18:29,140 Listening for thrift clients... |
- 要停止 Cassandra 服务器进程必须先找到它的进程 id
1 |
ps auwx | grep cassandra |
下列输出信息可知道进程 id 为 3595
1 |
root 3595 0.0 0.0 60048 1908 pts/0 S+ 12:18 0:00 sudo cassandra -f |
然后使用 kill 命令来终止 Cassandra 服务(尽管这种方法比较粗暴)
当进程被停止后,你可在 Thrift 看到如下信息
1 |
INFO 13:04:08,663 Stop listening to thrift clients |
2 |
INFO 13:04:08,666 Waiting for messaging service to quiesce |
3 |
INFO 13:04:08,667 MessagingService shutting down server thread. |
- 你也可以使用如下命令来启动 Cassandra 服务
1 |
sudo /etc/init.d/cassandra start |
- 使用如下命令来停止 Cassandra 服务
1 |
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 很简单,只需要从这里下载 jna.jar 文件,并将这个文件保存到 /usr/share/cassandra/lib 目录即可.
如果你在启动 Cassandra 服务器时出现下面错误,则可能是 Cassandra 已经启动了,你需要首先停止正在运行的服务
1 |
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7199; nested exception is: |
2 |
java.net.BindException: Address already in use |
你也可以使用二进制的安装方法,详情请看这里。
英文原文,OSCHINA原创翻译