web-dev-qa-db-ja.com

cassandraをubuntuに再インストールするにはどうすればよいですか?

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

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

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

[私がやること]

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

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

    apt-getはcassandraを削除します

  2. data/log /ディレクトリを削除する

    rm -rf/var/lib/cassandra

    rm -rf/var/log/cassandra

    rm -rf/etc/cassandra

その後、私は新しいカサンドラをインストールしようとしました

apt-get install cassandra

[エラーメッセージ]

Sudo cassandra -f

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

知りたいのですが、何が恋しいですか。

24
Ryan Ryu

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

10
user3626148

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

これらの各ディレクトリの権限を確認してください。 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を手動で実行すると、権限がめちゃくちゃになってしまうのを見てきました。これは、initスクリプトが処理します。

7
Rich Sutton

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 、アップを見つけてくれた荒牧大輔に感謝-現在までのリンク)

7
josh

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


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

この問題は、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を強制的に実行しました


資源

別の(古い)ソースのインストールCassandra Ubuntuに試すVineet Danielの を試すCassandra Ubuntuにインストールする

2
Crowie

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

1) here から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パッケージ、確認 this
  • 詳細については。インストール方法cassandraリポジトリから、チェック this

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

    $ Sudo apt-get remove cassandra

    $ Sudo apt-get install cassandra

2

Ubuntu 14.04以降

現在サポートされているすべてのバージョンのUbuntuでCassandraをインストールする最も簡単な方法は、Cassandra snapパッケージをインストールすることです。


インストール方法Cassandraスナップパッケージ

Cassandra分散データベースは、現在サポートされているすべてのバージョンのUbuntuのスナップパッケージです。 cassandra snapパッケージの現在の安定バージョンは3.7で、Edgeバージョンは3.10-SNAPSHOTです。cassandraをインストールするには、次のコマンドを実行します。

Sudo snap install cassandra   
Sudo snap connect cassandra:mount-observe  

cassandra snapパッケージは、更新が利用可能になると自動的に更新されます。

cassandraサービスのステータスを確認するには、次のようにします。

systemctl status snap.cassandra.cassandra.service  

Cassandraを正常に起動できた場合は、クラスターのステータスを確認します。

cassandra.nodetool status

出力のUNは、正常で正常であることを意味します。

カスタム構成を設定します。

cat cassandra.yaml | Sudo /snap/bin/cassandra.config-set cassandra.yaml 

コマンド:

  • cassandra.config-get
  • cassandra.config-set
  • cassandra.env-get
  • cassandra.nodetool
0
karel