首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ubuntu上重新安装cassandra?

如何在ubuntu上重新安装cassandra?
EN

Stack Overflow用户
提问于 2012-11-15 10:33:33
回答 6查看 34.4K关注 0票数 24

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

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

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

什么-我-做

我通过以下步骤卸载Cassandra:

  1. 使用apt-get卸载Cassandra

apt-get remove cassandra

  1. 删除数据/日志/目录

rm -rf /var/lib/cassandra

rm -rf /var/log/cassandra

rm -rf /etc/cassandra

在那之后,我尝试安装新的cassandra

cassandra apt-get install

错误-消息

sudo cassandra -f

线程"main“java.lang.ExceptionInInitializerError异常由: java.lang.RuntimeException:无法确定log4j配置: log4j-server.properties

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

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

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

我想知道,我怀念什么。

EN

回答 6

Stack Overflow用户

发布于 2014-05-12 01:51:51

通过执行以下操作,我能够完全卸载Cassandra:

代码语言:javascript
复制
apt-get remove cassandra

-删除cassandra目录

代码语言:javascript
复制
rm -rf /var/lib/cassandra
rm -rf /var/log/cassandra
rm -rf /etc/cassandra

但是,在执行上述操作后,仍然会留下一些东西,如果您在执行此操作后尝试重新安装它,它将不起作用,因为安装会检测到这些剩余的文件,并认为您仍然安装了该软件。您将获得一组新的目录,但它们将是空的。所以,你需要删除所有额外的东西。有些目录和文件需要手动删除。

-查找剩余的Cassandra文件

代码语言:javascript
复制
find / -name 'cassandra' 

或,

代码语言:javascript
复制
find / -name '*cassandra*'

(需要删除系统上的所有剩余文件,或者保留一些空目录,或者根本不创建目录)。

上面的命令将返回遗留的文件和目录的列表。去掉它们。

现在,您应该能够执行以下操作:

代码语言:javascript
复制
apt-get update

然后是:

代码语言:javascript
复制
apt-get install cassandra

这样做之后,我得到了一个全新的安装,在启动Cassandra时,它完成了所有第一次启动的事情,并启动并运行。

如果你得到一个关于签名因为公钥而没有被验证的GPG错误,这需要在install语句之前进行设置。

票数 11
EN

Stack Overflow用户

发布于 2012-11-16 20:03:46

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

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

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

代码语言:javascript
复制
sudo service cassandra start

而不是直接从sudo开始。

我见过以root身份手动运行cassandra而不是以cassandra用户身份运行权限的情况,这是由init脚本为您处理的。

票数 7
EN

Stack Overflow用户

发布于 2014-06-10 03:18:17

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

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

下面是脚本代码:

代码语言:javascript
复制
# 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添加到包列表中。

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13390775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档