私はUbutu(linux)+ Cassandraの初心者です。
OpenJdkを使用してubuntuマシンでCassandraをテストしました。ubuntuにCassandraをインストールする方法を説明している素晴らしい記事がいくつかあります。一部の設定値を変更し、正しく実行されることを確認しました。
そして、私はcassandraを削除し、クリーンなものを取得するために再インストールすることにしました。
[私がやること]
Cassandraを次の手順でアンインストールします。
アンインストールCassandra apt-getを使用
apt-getはcassandraを削除します
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の下にはファイルがありません。
知りたいのですが、何が恋しいですか。
私は次のようにして完全にアンインストールできました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エラーが発生した場合は、インストールステートメントの前に設定する必要があります。
私の知る限り、あなたのアンインストール手順は正しかった。
これらの各ディレクトリの権限を確認してください。 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スクリプトが処理します。
Datastaxは、まさにこの目的のためにbashスクリプトを提供します。
ここにスクリプトコードがあります:
# 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 、アップを見つけてくれた荒牧大輔に感謝-現在までのリンク)
私も同じ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にインストールする
実際に問題は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
ヒント:
現在サポートされているすべてのバージョンのUbuntuでCassandraをインストールする最も簡単な方法は、Cassandra snapパッケージをインストールすることです。
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