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

相关推荐
大鹅同志2 分钟前
在服务器上开Juypter Lab教程(远程访问)
运维·服务器·pytorch·jupyter·cuda·云服务器
ID_14 HuFei16 分钟前
sed编辑器与awk的用法
linux·编辑器
文牧之21 分钟前
PostgreSQL的walsender和walreceiver进程介绍
运维·数据库·postgresql
驯龙高手_追风28 分钟前
Ubuntu下安装最新版本Apache2文件服务器
linux·服务器·ubuntu
炸裂狸花猫1 小时前
Linux技术04-IPVS
linux·运维·服务器
快快小毛毛1 小时前
CC攻击防御策略要怎么调整?使用游戏盾有效解决
运维·服务器·网络·tcp/ip·游戏·udp
ʚɞ4961 小时前
k8s环境下的相关操作
运维·excel
J老熊1 小时前
Linux下抓包分析Java应用程序HTTP接口调用:基于tcpdump与Wireshark的综合示例
java·linux·运维·web安全·http·面试
HoweWWW1 小时前
k8s中的存储
linux·容器·kubernetes
我叫啥都行3 小时前
计算机基础知识复习9.13
linux·笔记·后端·系统架构