我也遇到过这个问题。
请按照以下步骤操作,在安装 Cassandra 之前请确保安装了 JDK 和 python2.7。
第 1 步:安装 OpenJDK JRE 8
Apache Cassandra 需要最新版本的 Java 8。为此,您可以选择安装最新版本的 OpenJDK JRE 1.8,如下所示:
sudo apt install openjdk-8-jre -y
安装好OpenJDK JRE 1.8,可以确认安装结果:
java -version
输出将类似于以下内容:
openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
您可以选择创建 JAVA_HOME 环境变量,如下所示:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
echo $JAVA_HOME
第 2 步:安装 Python 2.7(如果您的系统上缺少它)
Apache Cassandra 需要 Python 2.7 而不是 Python 3。如果您在 Python 3 环境中运行 Apache Cassandra,您可能无法启动
Apache Cassandra 的外壳。
首先,确定您机器上是否存在 Python 及其版本:
python -V
在 Ubuntu 16.04 LTS 上,输出可能有点混乱:
The program 'python' can be found in the following packages:
* python-minimal
* python3
Ask your administrator to install one of them
这实际上意味着你需要自己安装 Python 2.7:
sudo apt install python -y
重新运行
命令,输出将变为:
Python 2.7.12
第 3 步:安装 Apache Cassandra 的最新稳定版本
创建 Apache Cassandra 3.11.x apt repo:
echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
如果遇到 GPG 公钥错误,请运行以下命令添加提到的 Apache Cassandra 公钥,即
在这种情况下:
sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key A278B781FE4B2BDA
sudo apt-get update
使用新添加的 repo 安装 Apache Cassandra:
sudo apt-get install cassandra
第 4 步:测试 Apache Cassandra 的安装
启动 Apache Cassandra 守护进程:
sudo service cassandra start
如果您想让 Apache Cassandra 在系统启动时自动启动,请运行以下命令:
sudo update-rc.d cassandra defaults
接下来,使用节点工具
显示当前节点上 Apache Cassandra 状态的程序:
nodetool status
输出将类似于以下内容:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 102.66 KiB 256 100.0% 23916cfd-892d-4898-857c-aff9efe2354a rack1
您可以使用
与 Apache Cassandra 交互的 shell:
cqlsh 本地主机
输出将类似于以下内容:
现在,只需键入
然后按 ENTER 退出 cqlsh shell。
如果要停止 Apache Cassandra,请执行以下命令:
sudo service cassandra stop