在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 的更多信息,请访问该项目的网站。

相关推荐
大哥您好4 小时前
QEMU 11.1.2 多架构编译指南(x86_64 / aarch64 / riscv64)
linux·服务器
道满科技5 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
Gauss松鼠会5 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
Android系统攻城狮5 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
杨云龙UP6 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
我科绝伦(Huanhuan Zhou)6 小时前
Linux 通用压力测试脚本合集:磁盘 + 网络
linux·网络·压力测试
无人生还别怕7 小时前
如何安装任意版本docker
运维·docker·容器
T0uken7 小时前
Colab:SSH 访问免费 GPU Server
运维·ssh
Python大数据分析@7 小时前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
Initialize293088 小时前
告警一条接一条刷屏?五步治理告警风暴
运维