Cassandra linux что это

Installing Cassandra

These are the instructions for deploying the supported releases of Apache Cassandra on Linux servers.

Cassandra runs on a wide array of Linux distributions including (but not limited to):

Ubuntu, most notably LTS releases 16.04 to 18.04

CentOS & RedHat Enterprise Linux (RHEL) including 6.6 to 7.7

Amazon Linux AMIs including 2016.09 through to Linux 2

Debian versions 8 & 9

SUSE Enterprise Linux 12

This is not an exhaustive list of operating system platforms, nor is it prescriptive. However users will be well-advised to conduct exhaustive tests of their own particularly for less-popular distributions of Linux. Deploying on older versions is not recommended unless you have previous experience with the older distribution in a production environment.

Prerequisites

Install the latest version of Java 8, either the Oracle Java Standard Edition 8 or OpenJDK 8. To verify that you have the correct version of java installed, type java -version .

NOTE: Experimental support for Java 11 was added in Cassandra 4.0 (CASSANDRA-9608). Running Cassandra on Java 11 is experimental. Do so at your own risk. For more information, see NEWS.txt.

For using cqlsh, the latest version of Python 2.7 or Python 3.6+. To verify that you have the correct version of Python installed, type python —version .

Choosing an installation method

There are three methods of installing Cassandra that are common:

Tarball binary file

Package installation (RPM, YUM)

If you are a current Docker user, installing a Docker image is simple. You’ll need to install Docker Desktop for Mac, Docker Desktop for Windows, or have docker installed on Linux. Pull the appropriate image and then start Cassandra with a run command.

For most users, installing the binary tarball is also a simple choice. The tarball unpacks all its contents into a single location with binaries and configuration files located in their own subdirectories. The most obvious attribute of the tarball installation is it does not require root permissions and can be installed on any Linux distribution.

Packaged installations require root permissions, and are most appropriate for production installs. Install the RPM build on CentOS and RHEL-based distributions if you want to install Cassandra using YUM. Install the Debian build on Ubuntu and other Debian-based distributions if you want to install Cassandra using APT. Note that both the YUM and APT methods required root permissions and will install the binaries and configuration files as the cassandra OS user.

Installing the docker image

Pull the docker image. For the latest image, use:

This docker pull command will get the latest version of the official Apache Cassandra image available from the Dockerhub.

Читайте также:  Как отключить включение ноутбука при открытии крышки windows

Start Cassandra with a docker run command:

The —name option will be the name of the Cassandra cluster created.

Start the CQL shell, cqlsh to interact with the Cassandra node created:

Installing the binary tarball

Verify the version of Java installed. For example:

Источник

Как быстро установить и начать эксперементировать с Cassandra

Cassandra — распределенная база данных, в основу которой положены идеи Dynamo и Google Big Table

Обзор основных особенноестей:

  • Проверена в работе (используется в Facebook, Twitter, Digg и в др.)
  • Отказоустойчива (каждая запись дублируется на нескольких узлах в кластере)
  • Децентрализована (все узлы в кластере эквивалентны)
  • Гибкая модель данных
  • Пропускная способность чтения и записи увеличиваются линейно с добавлением новых узлов
  • Безразмерна (нет ограничений на объем, поиск всегда O(1))

Подготовка к установке

Удобно начать знакомство с Cassandra с ruby, предполагаю что он у вас установлен. Сейчас мы установим одноименный ruby gem, который упростит сборку Cassandra

Вместе с другими gem’ами вам так же установится thrift (грубо говоря, это — посредник между разными языками).
В cassandra-gem есть удобные rake task’и, которые быстро помогут собрать последнюю версию cassandra, однако они недоступны системе в целом, а только внутри папки cassandra-gem. Чтобы быстро получить к ней доступ, я сделал ссылку себе в домашнюю директорию:

ln -s /usr/lib/ruby/gems/1.8/gems/cassandra-0.8.0/

Посмотреть, где находятся установленные gem’ы можно с помощью команды gem environment , в моем случае это — /usr/lib/ruby/gems/1.8. Заходим в директорию cd cassandra_gem , и здесь я рекомендую ознакомиться со списком всего, что можно сделать с помощью rake: rake -T . Возможно здесь вам потребуется установить еще один gem echoe.

Установка Cassandra

Теперь соберем базу данных. Сделать это можно командой

Здесь у меня случился некоторый казус, который закончился ошибкой

tar xzf apache-cassandra-0.6.0-beta2-bin.tar.gz
tar: apache-cassandra-0.6.0-beta2-bin.tar.gz: Cannot open: No such file or directory

Такого обычно быть не должно, но вышла новая beta3 версия cassandra, а gem еще не успели обновить, поэтому он пытается скачать beta2, которой уже нет. Вообще, это быстро исправят, но если вы наткнулись на такое, то здесь можно скачать beta2 для этой версии gem’a (0.8). Дальше создаем в домашней директории папку cassandra и перемещаем туда скаченный файл apache-cassandra-0.6.0-beta2-bin.tar.gz. Запускаем команду еще раз:

Для сборки cassandra вам потребуется ant и ivy-retrieve. На всякий случай я скопировал мой вывод компиляции, который можно посмотрть здесь. Автоматически он запустит базу данных, однако сначала надо настроить пути для хранения данных, иначе ничего не получится. Пути по умолчанию требуют прав суперпользователя.

Настройка конфигурационных файлов

Cоздадим папки для хранения данных:

mkdir cassandra_data
cd !$
mkdir bootstrap callouts commitlog data staging
touch system.log

Файлы конфигурации хранятся в двух директориях:

/cassandra_gem/conf. Поскольку мы собираемся запускать cassandra используя gem, файлы конфигурации загружаются оттуда, следовательно, именно их неоходимо отредактировать.

Меняем настройки logger’a:

Строку
log4j.appender.R.File=data/logs/system.log
заменяем на
log4j.appender.R.File=

/cassandra_data/logs/system.log
В production этот logger отключается.

Изменяем раздел Directories аналогично (используйте абсолютные пути). Теперь Cassandra должна успешно запуститься.

Настройка структуры данных

Структура данных также определяется в storage-conf.xml.

Для понимания будем использовать терминологию из реляционных баз данных. Грубо говоря, структура данных в Cassandra — хеш.

Читайте также:  Gaming laptop with windows 10

Keyspaces — список всех баз данных
Keyspace — база данных, которая содержит таблицы
ColumnFamily — таблица с возможностью создавать «колонки» online
CompareWith указывает способ упорядочивания ключей. Обычно их упорядочивают по алфавиту (CompareWith=«UTF8Type») или по времени (CompareWith=«TimeUUIDType»)

ColumnFamily может быть двух типов: обычный и Super. Super означает, что каждая колонка хранит любое количество других колонок. Этот тип подходит для модели, когда пост содержит много комментариев. Естественно, в SuperColumn можно упорядочивать как сами ключи, так и другие подКолонки (CompareSubcolumnsWith). К примеру, мы хотим, чтобы комментарии были упорядочены по времени, тогда — CompareSubcolumnsWith=«TimeUUIDType».

Рано или поздно вы столкнетесь с таким термином, как consistency level. Это — что-то вроде доверия к системе, то есть, если во время записи вы хотите дождаться, пока cassandra запишет данные на несколько узлов (это настраивается), то consistency level должен быть максимально высоким. Если вам достаточно дождаться записи хотя бы на одной машине, то устанавливаем 1. Уровень значения 0 — послать данные на запись и забыть, не дожидаясь пока они запишутся. Последнее, естественно, самое быстрое, первое — самое долгое. Обычно в production ставят 0.

Проба пера

По умолчанию в storage-conf настроены несколько Keyspace (Twitter, Multiblog, MultiblogLong, возможно CassandraObject), которые мы и будем использовать. Заходим в ruby консоль с помощью команды irb:

user_name@web.com есть ключ.
Обращаю внимание, что команда client.insert ничего не возвращает. Запись в Cassandra всегда успешна. Теперь попробуем обновить запись и добавить еще одно поле:

Еще один важный запрос (помимо get и insert), который вам доступен — slice_range. С помощью этого запроса можно получить значения в определенном диапазоне ключей.

Итак, у нас получилось (я надеюсь) установить cassandra, записать и считать тестовые данные.

Далее я хотел бы поделиться с вами тем, что может разочаровать в Cassandra, тем, что сделано и тем, что я сделал для Cassandra в Ruby on Rails, однако статья полностью не поместилась. Продолжить чтение можно в здесь.

Источник

linux-notes.org

Apache Cassandra — это распределённая noSQL система для управления БД которая позволяет создавать высоко- нагруженные и масштабируемые, а так же надежные хранилища больших массивов с данными в виде хэшей. Данный проект, в свое время разрабатывался в компании Facebook ( до 2009 года), после чего был передан на разработку и поддержку Apache Software Foundation которая и продолжает развитие Cassandra. Данное ПО используют такие гиганты как Cisco, IBM, Cloudkick, Reddit, Digg, Rackspace, Apple и Twitter.

Установка Apache Cassandra в Unix/Linux

Чтобы использовать Cassandra для своих целей, для начала стоит установить JAVA. Я приводил несколько толковых статей по этой теме:

Устанавливаем java и переходим к установке Apache Cassandra.

Установка Apache Cassandra на CentOS/Fedora/RedHat

Имеется несколько способов установить данное программное обеспечение.

-===СПОСОБ 1 — использование apache cassandra репозитория ===-

Запустить можно так:

Или, если используете CentOS 7, то выполняем:

Добавляем в автозагрузку ОС:

Для CentOS 7, используем:

-===СПОСОБ 2 — использование datastax репозитория===-

И прописываем в него:

Легко можно изменить baseurl на более новый ( если есть необходимость использовать самое новое ПО):

Это как пример того что можно сделать! (Но тогда нужно выполнить установку следующим образом — yum install datastax-ddc)

Читайте также:  Как переключать язык линукс минт

Смотрим какие версии Cassandra имеются в репозитории:

PS: Чтобы увидеть все версии ПО, выполните:

Так же, я установлю вспомогательные утилиты, чтобы увидеть поддержку, выполните:

И так, последняя версия в репозитории — 3.0 и выполняем установку:

Или, если используете CentOS 7, то выполняем:

Добавляем в автозагрузку ОС:

Для CentOS 7, используем:

Установка завершена. Как настроить и как использовать, я расскажу ниже.

Для удаления, используем:

Настройка Apache Cassandra

  • Каталог с конфигурациями, находится — /etc/cassandra/
  • Каталог с данными — /var/lib/cassandra
  • Каталос с логами — /var/log/cassandra/

-===СПОСОБ 3 — использование готового ПО===-

Смотрим раздел — Установка Apache Cassandra на другие Unix/Linux

-===СПОСОБ 4 — использование исходного кода ===-

Используем исходный код который можно получить:

Инструкция по сборке будет в репозитории.

Установка Apache Cassandra на Debian/Ubuntu

Имеется несколько способов установить данное программное обеспечение.

-===СПОСОБ 1 — использование apache cassandra репозитория ===-

И так, добавляем репозиторий:

Добавьте ключи хранилища Apache Cassandra можно так:

И выполняем установку:

-===СПОСОБ 2 — использование datastax репозитория===-

И так, добавляем репозиторий:

Добавляем ключ для DataStax репозитория:

Выполняем обновление репозитория:

И выполняем установку:

PS: Как по мне, лучшее решение, — это использовать репозиторий от официального сайта:

Добавим ключ для Apache Cassandra репозитория:

Обновляем репозиотрий и устанавливаем кассандру:

Поскольку, Debian автоматически запустет службу Cassandra, вы должны остановить сервер и очистить данные:

И, удаляем все данные:

И запускаем заново:

Чтобы добавить Cassandra в автозапуск ОС, используем команду:

Установка завершена. Как настроить и как использовать, я расскажу ниже.

-===СПОСОБ 3 — использование готового ПО===-

Смотрим раздел — Установка Apache Cassandra на другие Unix/Linux

-===СПОСОБ 4 — использование исходного кода ===-

Используем исходный код который можно получить:

Инструкция по сборке будет в репозитории.

Установка Apache Cassandra в Mac OS X

Для начала, подключаем ( устанавливаем) homebrew:
Установка brew на Mac OS X

Для поиска пакетов, используем:

У меня получился следующий вывод:

Для установки используем:

Установка Apache Cassandra на другие Unix/Linux

-===СПОСОБ 1 — использование исходного кода===-

Используем исходный код который можно получить:

Инструкция по сборке будет в репозитории.

-===СПОСОБ 1 — использование исходного кода в архиве===-

Перемещаем содержимое папки:

Пропишем переменное окружение, для этого открываем:

И приводим к виду:

Настройка Apache Cassandra

После проверки конфигурации эти значения будут установлены в указанные каталоги.

  • data_file_directories «/var/lib/cassandra/data»
  • commitlog_directory «/var/lib/cassandra/commitlog»
  • saved_caches_directory «/var/lib/cassandra/saved_caches»

И выставляем права на папки:

Или дайте права на чтение-запись:

Для запуска, используем команду:

Использование Apache Cassandra в Unix/Linux

Пару минут ждём, пока запустится – и проверяем:

Исправлением служит следующее:

PS: Нужно установить или обновить питон до python2.7! До этого я пробовал 3.4-3.6 версии и они вообще не работали.

Меняем версию python:

Говорится что нужно установить драйвер:

PS: Если нет утилиты PIP, выполняем установку:

Заходим в оболочку:

PS: До этого, я получил ошибку:

И, можно посмотреть сами ошибки:

Собственно, — это решило мою проблему!

Опробуем данную БД:

Вот и все, тема «Установка Apache Cassandra в Unix/Linux» завершена.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Оцените статью
Adblock
detector