Подтвердить что ты не робот

Как переустановить cassandra на ubuntu?

Я новичок в Ubutu (linux) + Cassandra.

Я тестировал Cassandra на моей машине ubuntu с OpenJdk. Есть несколько хороших статей, чтобы объяснить, как установить Cassandra на ubuntu, чтобы я мог это сделать. Я изменил некоторые значения конфигурации и проверил, что он работает правильно.

И я решил удалить кассандру и переустановить для получения чистой.

[Что-I-Do]

Я удаляю Cassandra со следующими шагами:

  • удалить Cassandra с помощью apt-get

    apt-get удалить cassandra

  • удалить данные/журналы/каталоги

    rm -rf/var/lib/cassandra

    rm -rf/var/log/cassandra

    rm -rf/etc/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.

Я хочу знать, чего я пропустил.

4b9b3361

Ответ 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