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

相关推荐
TTGGGFF8 分钟前
云端服务器使用指南:如何跨机传输较大文件(通过windows自带工具远程桌面连接 非常方便)
运维·服务器
躲在云朵里`33 分钟前
ElasticSearch复习指南:从零搭建一个商品搜索案例
运维·jenkins
yyy0002001 小时前
压缩和归档 文件传输
linux·运维·服务器
STCNXPARM1 小时前
深度剖析Linux内核无线子系统架构
linux·运维·系统架构·wifi·无线子系统
烟雨书信2 小时前
LINUX中Docker Swarm的介绍和使用
java·linux·docker
代码的余温2 小时前
Linux内核调优实战指南
linux·服务器·数据库
m0_694845573 小时前
教你使用服务器如何搭建数据库
linux·运维·服务器·数据库·云计算
空灵之海3 小时前
Ubuntu Server 22.04.5系统安装教程
linux·运维·ubuntu
gamers4 小时前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb
arbboter4 小时前
【自动化】深入浅出UIAutomationClient:C#桌面自动化实战指南
运维·c#·自动化·inspect·uiautomation·uia·桌面自动化