Как переустановить cassandra на ubuntu?
Я новичок в Ubutu (linux) + Cassandra.
Я тестировал Cassandra на моей машине ubuntu с OpenJdk. Есть несколько хороших статей, чтобы объяснить, как установить Cassandra на ubuntu, чтобы я мог это сделать. Я изменил некоторые значения конфигурации и проверил, что он работает правильно.
И я решил удалить кассандру и переустановить для получения чистой.
[Что-I-Do]
Я удаляю Cassandra со следующими шагами:
После этого я попытался установить новую cassandra
apt-get install cassandra
[Error-Message]
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.
Я хочу знать, чего я пропустил.
Ответы
Ответ 1
AFAIK, ваши шаги удаления были правильными.
Проверьте разрешения для каждого из этих каталогов. В моих установках Cassandra 1.1.6 на Ubuntu 10.04,/etc/cassandra принадлежит root, а /var/lib/cassandra и/var/log/cassandra принадлежат пользователю и группе cassandra.
Кроме того, вы должны использовать init script для запуска cassandra, например:
sudo service cassandra start
вместо начала непосредственно с sudo.
Я видел, что разрешения перепутались при ручном запуске cassandra как root, а не как пользователь cassandra, что и заставляет вас заботиться об init script.
Ответ 2
Мне удалось полностью удалить 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 о том, что подписи не проверяются из-за открытого ключа, это должно быть настроено перед оператором установки.
Ответ 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 в список ПАКЕТОВ.
РЕДАКТИРОВАТЬ 2: ссылка вышла из строя (была http://www.datastax.com/documentation/opscenter/3.2/webhelp/#opsc/online_help/opscRemovingPackages_t.html, спасибо Daisuke Aramaki за поиск актуальной ссылки)
Ответ 4
Так как я также обнаружил ту же ошибку XML, вот еще один ответ. Эта ошибка также подробно описана в этом сообщении SO, где OP не может запустить Cassandra. Я выполнил ваши шаги по удалению и шаги эту статью для переустановки.
Что я сделал - Что я узнал
Проблема должна была иметь какое-то отношение к версиям C *. Ссылка, которую я предоставил, которую я изначально использовал, привела меня к установке с помощью этой команды:
deb http://www.apache.org/dist/cassandra/debian 10x main
Вместо этого я обновил свою команду, чтобы указать на Cassandra Debian Version 11 (11x). Например.
deb http://www.apache.org/dist/cassandra/debian 11x main
Я также удалил все Cassandra мудрыми, перезапущенными и вынужденными с помощью новых версий Cassandra
Ресурсы
Для другого (более старого) источника установки Cassandra на Ubuntu попробуйте Vineet Daniel Установка Cassandra на Ubuntu
Ответ 5
На самом деле проблема заключается в том, что cassandra не может запускаться, поскольку он не находит файл с именем "log4j-server.properties" в своем каталоге конфигурации, чтобы решить проблему, которая у вас там, не нужно переустанавливать ее снова, а просто просто для решения проблемы выполните следующие действия:
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) скопируйте недостающие файлы вручную из извлеченного пакета (шаг 2) из каталога с именем "conf"
$ sudo cp extracted_cassandra/conf/cassandra.yaml /etc/cassandra
$ sudo cp extracted_cassandra/conf/log4j-server.properties /etc/cassandra
Советов:
- Для получения дополнительной информации. как установить пакет debian cassandra, проверьте this
-
Для получения дополнительной информации. как установить cassandra из своего репозитория, отметьте this
-
Если вы хотите переустановить его, просто вы можете сделать следующее:
$sudo apt-get удалить cassandra
$sudo apt-get install cassandra
Ответ 6
-
удалите установленный пакет cassandra и файлы конфигурации:
sudo apt-get purge "cassandra-*" "datastax-*"
-
Удалить библиотеки и журналы:
sudo rm -r /var/lib/cassandra
sudo rm -r /var/log/cassandra
Ответ 7
Ubuntu 14.04 и позже
Самый простой способ установить Cassandra во все поддерживаемые на данный момент версии Ubuntu - это установить пакет Cassandra snap.
Как установить пакет Cassandra snap
Распределенная база данных Cassandra представляет собой простой пакет во всех поддерживаемых в настоящее время версиях Ubuntu. Текущая стабильная версия пакета cassandra snap - 3.7, а крайняя версия - 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
означает это Up и Normal:
Установите пользовательскую конфигурацию:
cat cassandra.yaml | sudo /snap/bin/cassandra.config-set cassandra.yaml
Команды:
-
cassandra.config-get
-
cassandra.config-set
-
cassandra.env-get
-
cassandra.nodetool
Ответ 8
Я сделал одно видео, в котором я упомянул процесс удаления apache Cassandra шаг за шагом, зацените один раз Ссылка: https://youtu.be/eAeM8WoOOgc