如何在 ubuntu 上重新安装 cassandra?

     2023-03-17     239

关键词:

【中文标题】如何在 ubuntu 上重新安装 cassandra?【英文标题】:How can I reinstall a cassandra on ubuntu? 【发布时间】:2012-11-03 15:42:40 【问题描述】:

我是 Ubutu(linux) + Cassandra 的新手。

我在我的 ubuntu 机器上使用 OpenJdk 测试了 Cassandra。有一些很好的文章来解释如何在 ubuntu 上安装 Cassandra,所以我可以这样做。我更改了一些配置值并检查了它是否正常运行。

而且,我决定移除 cassandra 并重新安装以获得干净的。

[我在做什么]

我通过以下步骤卸载 Cassandra:

    使用 apt-get 卸载 Cassandra

    apt-get 删除 cassandra

    删除数据/日志/目录

    rm -rf /var/lib/cassandra

    rm -rf /var/log/cassandra

    rm -rf /etc/cassandra

之后我尝试安装新的 cassandra

apt-get 安装 cassandra

[错误消息]

sudo cassandra -f

线程“main”中的异常 java.lang.ExceptionInInitializerError 引起:java.lang.RuntimeException:无法弄清楚log4j配置:log4j-server.properties

在 org.apache.cassandra.service.AbstractCassandraDaemon.initLog4j(AbstractCassandraDaemon.java:86)

在 org.apache.cassandra.thrift.CassandraDaemon.(CassandraDaemon.java:62) 找不到主类:org.apache.cassandra.thrift.CassandraDaemon。程序将退出。`

并且“/var/lib/cassandra”、“/var/log/cassandra”和“/etc/cassandra”目录OTL下没有文件。

我想知道,我想念什么。

【问题讨论】:

作为记录,其他人和我自己在 log4j 配置方面遇到了问题。有一些提示***.com/questions/6574093/cassandra-starting-issue,但我还没有深入了解它 我完成了你所有的卸载步骤,然后我运行了 sudo apt-get purge cassandra。然后安装它,它现在对我有用。 【参考方案1】:

我可以通过执行以下操作完全卸载 Cassandra:

apt-get remove cassandra

--- 删除 cassandra 目录

rm -rf /var/lib/cassandra
rm -rf /var/log/cassandra
rm -rf /etc/cassandra

但是,在做完上述之后,仍然有一些东西被遗留下来,如果你在这样做之后尝试重新安装它,它不会起作用,因为安装会检测到那些剩余的文件并认为你仍然有安装的软件。您将获得一组新目录,但它们将是空的。因此,您需要删除所有其他内容。有目录和文件需要手动删除。

--- 找到剩余的 Cassandra 文件

find / -name 'cassandra' 

或者,

find / -name '*cassandra*'

(系统上所有剩余的文件都需要删除,或者一些目录是空的,甚至根本没有创建)。

上面的命令将返回留下的文件和目录的列表。删除它们。

现在,你应该可以做到了:

apt-get update

接着是:

apt-get install cassandra

完成此操作后,我得到了一个全新的安装,在启动 Cassandra 后,它完成了所有首次启动的工作并启动并运行。

如果您收到有关由于公钥而导致签名未验证的 GPG 错误,则需要在安装语句之前进行设置。

【讨论】:

删除所有剩余 cassandra 文件的命令可以是 sudo rm -rf sudo find / -name *cassandra*``【参考方案2】:

AFAIK,您的卸载步骤是正确的。

检查每个目录的权限。在我在 Ubuntu 10.04 上安装 Cassandra 1.1.6 时,/etc/cassandra 归 root 所有,而 /var/lib/cassandra 和 /var/log/cassandra 归 cassandra 用户和组所有。

另外,您应该使用 init 脚本来启动 cassandra,如下所示:

sudo service cassandra start

而不是直接从 sudo 开始。

我看到当以 root 身份而不是以 cassandra 用户身份手动运行 cassandra 时,权限会变得混乱,而这正是 init 脚本为您负责的工作。

【讨论】:

谢谢@Rich Sutton。我会在星期一回答你(那是在我的工作场所),然后通知你结果:) 不幸的是 /var/lib/cassandra、/var/log/cassandra 目录已经归 root 所有。所以,我删除了所有已安装的东西,例如 cassandra binary、cassandra source tar、openjdk-6-jre/jdk 和 openjdk-7-jre/jdk。然后我安装了 openjdk-7-jre/jdk + cassandra 二进制文件。它有效!【参考方案3】:

Datastax 为此目的提供了一个 bash 脚本:

https://docs.datastax.com/en/ddac/doc/datastax_enterprise/install/uninstallDDAC.html?hl=uninstall%2Ccassandra

脚本代码如下:

# Stop services
/etc/init.d/cassandra stop
/etc/init.d/dse stop
/etc/init.d/opscenter-agent stop

# Remove packages
PACKAGES=(dsc dsc1.1 dsc12 dsc20 cassandra apache-cassandra1 dsc-demos \
dse dse-libhadoop-native dse-libhadoop dse-libcassandra dse-hive dse-libhive dse-pig \
dse-libpig dse-demos dse-libsqoop dse-libtomcat dse-liblog4j dse-libsolr dse-libmahout dse-full)
DEB_PACKAGES=(python-cql python-thrift-basic)
RPM_PACKAGES=(python26-cql python26-thrift)
if [ `which dpkg` ]; then
PLIST=($PACKAGES[@] $DEB_PACKAGES[@])
dpkg -P $PLIST[*]
rm -rf /etc/apt/sources.list.d/datastax.list
else
PLIST=($PACKAGES[@] $RPM_PACKAGES[@])
yum -y remove $PLIST[*]
rm -rf  /etc/yum.repos.d/datastax.repo
fi

# Cleanup log and configuration files
rm -rf /var/lib/cassandra/* /var/log/cassandra,hadoop,hive,pig/* /etc/cassandra,dse/* \
/usr/share/dse,dse-demos /etc/default/dse,cassandra

要重新安装,只需运行此脚本,然后再次安装 cassandra,就像第一次一样。

编辑:他们的脚本似乎有点过时了。我不得不将 dsc20 添加到 PACKAGES 列表中。

编辑 2:链接坏了(是 http://www.datastax.com/documentation/opscenter/3.2/webhelp/#opsc/online_help/opscRemovingPackages_t.html,感谢荒牧大辅找到最新链接)

【讨论】:

您指向 DataStax 页面的链接不再有效。我找到了docs.datastax.com/en/ddac/doc/datastax_enterprise/install/… 和【参考方案4】:

实际上问题是 cassandra 无法启动,因为它在其配置目录中找不到名为“log4j-server.properties”的文件,要解决您在那里遇到的问题,无需再次重新安装,而只需简单执行以下操作来解决问题:

1) 从here 下载压缩包文件。

2) 提取它:

$ tar -xzvf apache-cassandra-1.2.5.tar.bin.gz

3) 查看cassandra的配置路径在哪里。您可以从名为“/usr/share/cassandra/cassandra.in.sh”的文件中获取配置路径,查看名为“CASSANDRA_CONF”的键。

$ gedit /usr/share/cassandra/cassandra.in.sh

4) 从名为“conf”的目录中手动从解压包中复制丢失的文件(步骤 2)

$ sudo cp extracted_cassandra/conf/cassandra.yaml /etc/cassandra
$ sudo cp extracted_cassandra/conf/log4j-server.properties /etc/cassandra

提示:

了解更多信息。如何安装cassandra debian包,查看this

了解更多信息。如何从他们的存储库安装 cassandra,请查看 this

如果您想重新安装它,只需执行以下操作:

$ sudo apt-get remove cassandra

$ sudo apt-get install cassandra

【讨论】:

【参考方案5】:

我也遇到了同样的 XML 错误,这是另一个答案。 this SO post 上也详细说明了该错误,其中 OP 无法启动 Cassandra。我按照您的步骤卸载并按照this article 上的步骤重新安装。

我做了什么 - 我学到了什么

问题一定与 C* 版本有关。我最初使用的链接引导我使用以下命令进行安装:

deb http://www.apache.org/dist/cassandra/debian 10x main 

不是这样,我升级了我的命令以指向 Cassandra Debian 版本 11 (11x)。例如。

deb http://www.apache.org/dist/cassandra/debian 11x main 

我还明智地卸载了 Cassandra 的所有内容,重新启动并强制通过新版本的 Cassandra

资源

有关在 Ubuntu 上安装 Cassandra 的另一个(旧)源,请尝试 Vineet Daniel 的 Installing Cassandra on Ubuntu

【讨论】:

【参考方案6】:

    删除已安装的 cassandra 包和配置文件:

    sudo apt-get purge "cassandra-*" "datastax-*"

    删除库和日志目录:

    sudo rm -r /var/lib/cassandra

    sudo rm -r /var/log/cassandra

【讨论】:

@EduardoPascualAseff 很高兴为您提供帮助 :)

如何在debian/ubuntu/kali上重新打包已安装的软件(代码片段)

  HowToRepackInstalledSoftwareonDebian/Ubuntu  Itcanhappenthataparticularversionofaspecifictweakedpackagenolongeravailableelsewhereoryouwanttheexact“clone”oftherunningsoftware.IfyouhaveinstalledsomeDe 查看详情

如何在debian/ubuntu/kali上重新打包已安装的软件(代码片段)

...onthenyou’llneedtoinstallthedependenciesaswell.  划重点: 1.如何将Debian系Linux系统或服务器上已安装的软件重新打包,制作deb安装包; 2.能否实现软件环境的克隆,以避免因缺失依赖而项导致的无法安装; 3.保持软... 查看详情

如何在debian/ubuntu/kali上重新打包已安装的软件(代码片段)

...onthenyou’llneedtoinstallthedependenciesaswell.  划重点: 1.如何将Debian系Linux系统或服务器上已安装的软件重新打包,制作deb安装包; 2.能否实现软件环境的克隆,以避免因缺失依赖而项导致的无法安装; 3.保持软... 查看详情

如何在64位ubuntu16.04系统上卸载openjdk并重新安装配置java8环境

1.检查java版本在这里我选择卸载openjdk,安装jdk1.8版本,具体可以到Oracle官网下载地址获得java8的linux-64安装包:jdk-8u181-linux-x64.tar.gz版本,值得一提的是目前需要注册并登录oracle账户。2.卸载openjdk如果系统没有openjdk环境则可以跳过... 查看详情

如何在 Ubuntu 上安装 Buildozer 以创建 Kivy 应用的 Android APK?

】如何在Ubuntu上安装Buildozer以创建Kivy应用的AndroidAPK?【英文标题】:HowdoIinstallBuildozeronUbuntutocreateanAndroidAPKofaKivyApp?【发布时间】:2014-05-2607:07:48【问题描述】:在Ubuntu13.10上安装buildozer并不容易。我多次重新安装了Ubuntu,现在... 查看详情

在 Ubuntu 16.04 上重新安装 MySQL 5.7 服务器的问题

】在Ubuntu16.04上重新安装MySQL5.7服务器的问题【英文标题】:IssuesonreinstallingMySQL5.7serveronUbuntu16.04【发布时间】:2017-05-0514:53:47【问题描述】:我的服务器在Ubuntu16.04上运行我的MySQL配置有问题,所以我决定清理并重新安装MySQL服务... 查看详情

如何在 ubuntu 上卸载 Ruby?

】如何在ubuntu上卸载Ruby?【英文标题】:HowcanIuninstallRubyonubuntu?【发布时间】:2011-04-2620:13:51【问题描述】:如何卸载Ruby1.9.2dev(2010-07-02)[i486-linux]在ubuntu上?需要重新安装-请帮助【问题讨论】:在ubuntustackexchange上有用的类似问... 查看详情

在 ubuntu 18.04.4LTS 上重新安装 gitlab 后,gitlab-reconfigure 在 redis 上被阻止

】在ubuntu18.04.4LTS上重新安装gitlab后,gitlab-reconfigure在redis上被阻止【英文标题】:gitlab-reconfigureblockedonredisafterreinstallinggitlabonubuntu18.04.4LTS【发布时间】:2020-09-2406:34:48【问题描述】:这是我第三次在服务器上安装gitlab并且之前... 查看详情

如何在 Ubuntu 上安装 Android Studio?

】如何在Ubuntu上安装AndroidStudio?【英文标题】:HowtoinstallAndroidStudioonUbuntu?【发布时间】:2015-04-0313:08:37【问题描述】:我必须在Ubuntu上安装AndroidStudio,我使用thislink下载了AndroidStudio。有什么简单的方法可以在Ubuntu上安装Studio?... 查看详情

如何在 Ubuntu 上安装 Impala? [关闭]

】如何在Ubuntu上安装Impala?[关闭]【英文标题】:HowtoinstallImpalaonUbuntu?[closed]【发布时间】:2018-09-2516:08:46【问题描述】:我想在Ubuntu实例上安装Impala。到目前为止,以下方法都没有奏效。如何在Ubuntu中安装稳定版本的Impala?方... 查看详情

如何检查一个包是不是已经安装在 ubuntu 上?

】如何检查一个包是不是已经安装在ubuntu上?【英文标题】:Howtocheckifapackageisalreadyinstalledonubuntu?如何检查一个包是否已经安装在ubuntu上?【发布时间】:2017-09-2501:49:54【问题描述】:我正在通过\'wget\'命令在ubuntu上下载xampp服务... 查看详情

如何在 Ubuntu 上安装 lxml

】如何在Ubuntu上安装lxml【英文标题】:HowtoinstalllxmlonUbuntu【发布时间】:2011-09-2404:35:39【问题描述】:我在Ubuntu11上使用easy_install安装lxml时遇到困难。当我输入$easy_installlxml时,我得到:SearchingforlxmlReadinghttp://pypi.python.org/simple/l... 查看详情

如何在ubuntu上安装php?

】如何在ubuntu上安装php?【英文标题】:howtoinstallphponubuntu?【发布时间】:2011-11-0616:58:20【问题描述】:我点击了链接:http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-10.10-lamp,以便在ubuntu10.10上安装php。问题是l... 查看详情

如何在 ubuntu 上安装密码学?

】如何在ubuntu上安装密码学?【英文标题】:Howtoinstallcryptographyonubuntu?【发布时间】:2016-05-1017:33:33【问题描述】:我的ubuntu是14.04LTS。当我安装密码学时,错误是:Installingegg-scripts.usesnamespacepackagesbutthedistributiondoesnotrequiresetupto... 查看详情

如何在 Ubuntu 上安装 JSLint? [关闭]

】如何在Ubuntu上安装JSLint?[关闭]【英文标题】:HowdoIinstallJSLintonUbuntu?[closed]【发布时间】:2012-02-1010:37:17【问题描述】:如何在Ubuntu上安装JSLint?我从http://www.javascriptlint.com/download.htm下载了源代码jsl-0.3.0-src.tar.gz,然后将其解... 查看详情

如何在 Ubuntu 上安装 Postgresql Gem

】如何在Ubuntu上安装PostgresqlGem【英文标题】:HowtoInstallPostgresqlGemonUbuntu【发布时间】:2015-06-0508:30:19【问题描述】:我在华硕Chromebook上通过crouton安装了Ubuntu12.04Precise。我有一个需要postgres的rails应用程序。当我运行“捆绑”时... 查看详情

如何在 Ubuntu 上安装 Python 模块

】如何在Ubuntu上安装Python模块【英文标题】:HowtoinstallPythonmoduleonUbuntu【发布时间】:2011-11-1714:34:21【问题描述】:我刚刚在Python上写了一个函数。然后,我想把它做成模块并安装在我的Ubuntu11.04上。这就是我所做的。创建setup.py... 查看详情

我如何在 ubuntu 容器上安装 rabbitmq?

】我如何在ubuntu容器上安装rabbitmq?【英文标题】:howicaninstallingrabbitmqonubuntucontainer?【发布时间】:2019-10-1606:04:15【问题描述】:我已经运行了ubuntu容器并在其中安装了rabbitmq,我如何从Internet访问rabbitmq?我尝试使用“-p15672:1567... 查看详情