我正在尝试在ubuntu 14.04上安装cassandra 3.11.4。 当我运行install命令时,返回以下错误
dpkg-deb:错误:存档 '/var/cache/apt/archives/cassandra_3.11.4_all.deb'过早 成员“ control.tar.gz”之前的“ control.tar.xz”成员,放弃了
dpkg:错误处理存档 /var/cache/apt/archives/cassandra_3.11.4_all.deb(--unpack): 子进程dpkg-deb --control返回错误退出状态2
处理时遇到错误: /var/cache/apt/archives/cassandra_3.11.4_all.deb E:子进程 / usr / bin / dpkg返回错误代码(1)
答案 0 :(得分:0)
我也曾经遇到过这个问题。 请按照以下步骤操作,在安装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而不是Python3。如果在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仓库:
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
使用新添加的存储库来安装Apache Cassandra:
sudo apt-get install cassandra
第4步:测试Apache Cassandra的安装 启动Apache Cassandra守护程序:
sudo service cassandra start
如果要使Apache Cassandra在系统引导时自动启动,请运行以下命令:
sudo update-rc.d cassandra defaults
接下来,使用nodetool 程序以在当前节点上显示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
您可以使用 Shell与Apache Cassandra进行交互:
cqlsh本地主机
输出将类似于以下内容: 现在,只需键入 然后按ENTER退出cqlsh shell。 如果要停止Apache Cassandra,请执行以下命令:
sudo service cassandra stop