24

私は Ubutu(linux) + Cassandra の初心者です。

OpenJdkを使用してubuntuマシンでCassandraをテストしました。Cassandraをubuntuにインストールする方法を説明する素晴らしい記事がいくつかあるので、それを行うことができました。いくつかの設定値を変更し、正しく動作することを確認しました。

そして、cassandra を削除して再インストールし、クリーンなものを取得することにしました。

[私がやること]

次の手順で Cassandra をアンインストールします。

  1. apt-get を使用して Cassandra をアンインストールする

    apt-get カサンドラを削除

  2. データ/ログ/ディレクトリを削除

    rm -rf /var/lib/カサンドラ

    rm -rf /var/log/カサンドラ

    rm -rf /etc/カサンドラ

その後、新しいcassandraをインストールしようとしました

apt-get インストール カサンドラ

[エラーメッセージ]

sudo cassandra -f

スレッド「メイン」での例外 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 の下にファイルはありません。

私が知りたいのは、私が見逃していることです。

4

6 に答える 6

11

次のようにして、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 エラーが発生した場合は、install ステートメントの前に設定する必要があります。

于 2014-05-11T17:51:50.623 に答える
7

私の知る限り、アンインストール手順は正しかったです。

これらの各ディレクトリの権限を確認してください。Ubuntu 10.04 にインストールした Cassandra 1.1.6 では、/etc/cassandra は root が所有し、/var/lib/cassandra と /var/log/cassandra は cassandra ユーザーとグループが所有しています。

また、次のように、init スクリプトを使用して cassandra を開始する必要があります。

sudo service cassandra start

sudo で直接開始する代わりに。

cassandra を cassandra ユーザーとしてではなく root として手動で実行すると、パーミッションが台無しになるのを見てきました。これは、init スクリプトが処理してくれます。

于 2012-11-16T12:03:46.160 に答える
7

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 を追加する必要がありました。

編集 2: リンクが悪くなった ( http://www.datastax.com/documentation/opscenter/3.2/webhelp/#opsc/online_help/opscRemovingPackages_t.htmlでした。最新のリンクを見つけてくれた荒牧大輔に感謝します)

于 2014-06-09T19:18:17.277 に答える
2

私も同じ XML エラーに遭遇したので、ここに別の答えがあります。このエラーは、OP が Cassandra を起動できなかったSO の投稿でも詳しく説明されています。あなたの手順に従ってアンインストールし、この記事の手順に従って再インストールしました。


私がしたこと - 私が学んだこと

この問題は、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 」を試してください。

于 2013-05-13T16:37:43.603 に答える
2

実際の問題は、構成ディレクトリに「log4j-server.properties」という名前のファイルが見つからないため、cassandra が起動できなかったことです。そこにある問題を解決するには、再インストールする必要はありませんが、代わりに次の手順を実行するだけです。問題を解決するには:

1)ここから tarball ファイルをダウンロードします。

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 パッケージのインストール方法については、こちらを確認してください
  • 詳細については。リポジトリから cassandra をインストールする方法については、こちらを確認してください

  • 再インストールする場合は、次のようにします。

    $ sudo apt-get remove カサンドラ

    $ sudo apt-get インストール カサンドラ

于 2013-06-20T19:21:19.447 に答える
2
  1. インストールされている cassandra パッケージと構成ファイルを削除します。

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

  2. ライブラリとログ ディレクトリを削除します。

    sudo rm -r /var/lib/cassandra

    sudo rm -r /var/log/cassandra

于 2016-03-03T06:40:38.750 に答える