Apache Cassandra — это распределенная, чрезвычайно масштабируемая, высокодоступная и отказоустойчивая база данных NoSQL, созданная Facebook, позже открытая как проект apache. Модель данных Cassandra основана на Google Bigtable, а модель распространения — на Amazon Dynamo . Если вам интересно узнать больше о Кассандре, вы можете обратиться к статье, написанной Facebook.
В этом посте вы узнаете, как установить Cassandra в Ubuntu 12.04.
- Установите новые обновления, используя следующие команды
sudo apt-get update sudo apt-get upgrade
- Откройте /etc/apt/sources.list, используя следующую команду
-
sudo gedit /etc/apt/sources.list
и добавьте к нему следующие строки
deb http://www.apache.org/dist/cassandra/debian 10x main deb-src http://www.apache.org/dist/cassandra/debian 10x main
-
- Запустите обновление еще раз, и вы получите следующую ошибку. Это означает, что вам нужно добавить PUBLIC_KEY. На следующем шаге вы поймете, как добавить этот PUBLIC_KEY.
-
GPG error: http://www.apache.org unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4BD736A82B5C1B00
-
- Зарегистрируйте и добавьте ключ PUBLIC_KEY и обновите его снова; обратите внимание, что вам может потребоваться изменить ключ соответствующим образом
gpg --keyserver wwwkeys.pgp.net --recv-keys 4BD736A82B5C1B00 sudo apt-key add ~/.gnupg/pubring.gpg sudo apt-get update
- Установите Cassandra, используя следующую команду
-
sudo apt-get install cassandra
-
- Запустите сервер Cassandra, используя следующую команду
-
sudo cassandra -f
После запуска сервера Cassandra вы увидите, что он начал прослушивать экономных клиентов.
.... .... .... INFO 12:18:29,140 Listening for thrift clients...
-
- Чтобы остановить процесс сервера Cassandra, сначала найдите идентификатор процесса для Cassandra и убейте его.
Чтобы найти идентификатор процесса, используйте следующую команду
-
ps auwx | grep cassandra
Вывод будет примерно таким. В соответствии с этим 3595 является идентификатором процесса для Кассандры.
-
root 3595 0.0 0.0 60048 1908 pts/0 S+ 12:18 0:00 sudo cassandra -f
Чтобы убить процесс, используйте следующую команду
-
sudo kill [pid]
После завершения процесса вы увидите, что сервер Cassandra прекратил прослушивание экономных клиентов.
INFO 13:04:08,663 Stop listening to thrift clients INFO 13:04:08,666 Waiting for messaging service to quiesce INFO 13:04:08,667 MessagingService shutting down server thread.
-
- Используйте следующую команду, чтобы запустить Cassandra как сервис
-
sudo /etc/init.d/cassandra start
-
- Используйте следующую команду, чтобы остановить службу Cassandra
-
sudo /etc/init.d/cassandra stop
-
Установка создаст следующие каталоги. Их использование упоминается в скобках.
- / var / lib / cassandra (каталоги данных)
- / var / log / cassandra (каталог журналов)
- / var / run / cassandra (исполняемые файлы)
- / usr / share / cassandra (настройки среды)
- / usr / share / cassandra / lib (файлы JAR)
- / usr / bin (двоичные файлы)
- / USR / SBIN
- / etc / cassandra (файлы конфигурации)
- /etc/init.d (скрипт запуска службы)
- /etc/security/limits.d (ограничения пользователя cassandra)
- / И т.д. / по умолчанию
Установка JNA (Java Native Access) на платформах Linux может улучшить использование памяти Cassandra. Чтобы установить JNA, скачайте jna.jar отсюда и добавьте его в каталог / usr / share / cassandra / lib.
Если при попытке запустить сервер Cassandra появляется следующая ошибка, это означает, что cassandra уже где-то работает в фоновом режиме. Вам нужно будет сначала убить процесс, который работает в фоновом режиме. Вы, вероятно, можете использовать вышеупомянутую команду остановки, чтобы остановить любые серверы Cassandra, работающие в фоновом режиме.
- Ошибка: исключение выдается агентом: java.rmi.server.ExportException: порт уже используется: 7199; Вложенное исключение:
- java.net.BindException: адрес уже используется
Здесь я сделал пакетную установку, в качестве альтернативы вы можете установить двоичную установку Cassandra в Ubuntu. Используйте эту ссылку для этого.
Ссылки
Официальный пакет для установки в Debian ™ (не является продуктом Debian ™)