在Ubuntu 14.04上安装Cassandra并运行单节点集群的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介

Cassandra,或者说是 Apache Cassandra,是一个高度可扩展的开源 NoSQL 数据库系统,在多节点设置上能够实现出色的性能。

在本教程中,您将学习如何在 Ubuntu 14.04 上安装和使用它来运行单节点集群。

先决条件

要完成本教程,您需要以下内容:

  • Ubuntu 14.04 Droplet
  • 一个具有 sudo 权限的非 root 用户(《使用 Ubuntu 14.04 进行初始服务器设置》解释了如何设置这一点)

步骤 1 --- 安装 Oracle Java 虚拟机

Cassandra 需要安装 Oracle Java SE Runtime Environment (JRE)。因此,在这一步中,您将安装并验证它是否为默认 JRE。

要使 Oracle JRE 软件包可用,您需要使用以下命令添加个人软件包存档(PPA):

command 复制代码
sudo add-apt-repository ppa:webupd8team/java

更新软件包数据库:

command 复制代码
sudo apt-get update

然后安装 Oracle JRE。安装此特定软件包不仅会安装它,还会使其成为默认 JRE。在提示时接受许可协议:

command 复制代码
sudo apt-get install oracle-java8-set-default

安装完成后,验证它现在是否为默认 JRE:

command 复制代码
java -version

您应该会看到类似以下的输出:

复制代码
java 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

command 复制代码
echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

然后添加仓库的源:

command 复制代码
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 中添加三个公钥。

使用以下一对命令添加第一个:

command 复制代码
gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -

然后添加第二个密钥:

command 复制代码
gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
gpg --export --armor 2B5C1B00 | sudo apt-key add -

然后添加第三个:

command 复制代码
gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
gpg --export --armor 0353B12C | sudo apt-key add -

再次更新软件包数据库:

command 复制代码
sudo apt-get update

最后,安装 Cassandra:

command 复制代码
sudo apt-get install cassandra

步骤 3 --- 故障排除和启动 Cassandra

通常情况下,Cassandra 在这一点上应该已经自动启动了。但是,由于一个 bug,它没有启动。要确认它是否未运行,请输入:

command 复制代码
sudo service cassandra status

如果它没有运行,将显示以下输出:

复制代码
* could not access pidfile for Cassandra

这是 Ubuntu 上最新版本 Cassandra 的一个众所周知的问题。我们将尝试一些修复方法。首先,开始编辑它的初始化脚本。我们要修改的参数位于该脚本的第 60 行,因此使用以下命令打开它:

command 复制代码
sudo nano +60 /etc/init.d/cassandra

该行应该是:

复制代码
[secondary_label /etc/init.d/cassandra]
CMD_PATT="cassandra.+CassandraDaemon"

将其更改为:

复制代码
[secondary_label /etc/init.d/cassandra]
CMD_PATT="cassandra"

关闭并保存文件,然后重新启动服务器:

command 复制代码
sudo reboot

或者:

command 复制代码
sudo shutdown -r now

重新登录后,Cassandra 现在应该正在运行。验证:

command 复制代码
sudo service cassandra status

如果成功,您将看到:

复制代码
* Cassandra is running

第四步 --- 连接到集群

如果你成功启动了 Cassandra,请检查集群的状态:

command 复制代码
sudo nodetool status

在输出中,UN 表示它是 U p 和 Normal:

复制代码
数据中心: datacenter1
=======================
状态=启动/关闭
|/ 状态=正常/离开/加入/移动
--  地址       负载       令牌       拥有者    主机 ID                               机架
UN  127.0.0.1  142.02 KB  256          ?       2053956d-7461-41e6-8dd2-0af59436f736  rack1

注意: 非系统 keyspace 没有相同的复制设置,有效的拥有者信息是无意义的

然后使用其交互式命令行界面 cqlsh 连接到它。

command 复制代码
cqlsh

你将看到它已连接:

复制代码
已连接到 127.0.0.1:9042 的 Test Cluster。
[cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4]
使用 HELP 获取帮助。
cqlsh>

输入 exit 退出:

custom_prefix(cqlsh>) 复制代码
)>exit

结论

恭喜!你现在在 Ubuntu 14.04 上运行了一个单节点的 Cassandra 集群。有关 Cassandra 的更多信息,请访问该项目的网站。

相关推荐
大树883 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush44 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 小时前
Linux 11 动态监控指令top
linux
Inhand陈工5 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩5 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_5 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈5 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix