Поиск по сайту:

Апач Кассандра с Ubuntu 15.04


Введение:

Это первая часть серии статей о базах данных Cassandra No-sql. В этой первой части мы настроим Apache Cassandra с Ubuntu 15.04, она будет небольшой. немного глубоко в следующих сериях.

Apache Cassandra — это массивная масштабируемая база данных NoSQL. Она предназначена для обработки очень больших объемов данных на различных серверах. Это база данных с одноранговой архитектурой, cassandra обеспечивает центр обработки данных с высокой доступностью без точек сбоя. очень высокая производительность и пропускная способность чтения. В настоящее время он используется во многих центрах обработки данных для управления критически важной инфраструктурой данных. Современные предприятия обращаются к NoSQL/cassandra, когда им требуется высокая производительность в больших масштабах.

Предпосылки:

ОС Ubuntu 15.04 для настольных компьютеров.

Oracle JDK/JRE

JNA (собственный доступ к Java)

Монтаж:

Установите рабочий стол Ubuntu 15.04.

Установите oracle-jkd 7 (java)
sudo add-apt-repository ppa:webupd8team/java

Обновление системы:
sudo apt-get update
sudo apt-get install oracle-java7-installer

Нажмите ОК:

Установите Oracle-java-7 автоматически, запустите

sudo apt-get install oracle-java7-set-default

Теперь вам нужно будет установить JNA, это улучшит производительность сервера CassDB.

JNA доступен на github.com/twall/jna, скачайте jna.jar.

 wget https://maven.java.net/content/repositories/releases/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar

Переместите JNA в соответствующую папку.

cd  /usr/share/java

Скопируйте jna.jar в эту папку.

Создайте нового пользователя «Кассандра»:
adduser cassandra

Назначьте пароль этому вновь созданному пользователю «cassandra», чтобы настроить apache cassandra.

Переключитесь на пользователя «cassandra» и создайте новую папку с именем «cassandra» в домашнем каталоге «cassandra». Мы загрузим apache-cassandra в эту папку пользователя «cassandra»:

su cassandra
mkdir cassandra
cd cassandra

Посмотрите, где именно вы находитесь, с помощью pwd.

pwd

Теперь загрузите apache-cassandra в эту папку. «пользователя Кассандры»

 wget http://mirror.cogentco.com/pub/apache/cassandra/2.1.7/apache-cassandra-2.1.7-bin.tar.gz

Извлеките пакет.

tar -xvf apache-cassandra-2.1.7-bin.tar
gunzip apache-cassandra-2.1.7-bin.tar.gz

загляните в извлеченную папку Apache-Cassandra

Теперь создайте мягкую ссылку JNA в папке cassandra lib.

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/
ln -s /usr/share/java/jna-4.1.0.jar jna.jar

отредактируйте /etc/security/limits.conf, чтобы назначить лимит памяти для Cassandra как неограниченный.

описать ограничения программной и жесткой памяти (красный цвет)

vim /etc/security/liits.conf

пример вывода:
#Each line describes a limit for a user in the form:
#
           
#
#Where:
can be:
       - a user name
       - a group name, with @group syntax
       - the wildcard *, for default entry
       - the wildcard %, can be also used with %group syntax,
                for maxlogin limit
       - NOTE: group and wildcard limits are not applied to root.
         To apply a limit to the root user,  must be
         the literal username root.
#
can have the two values:
       - "soft" for enforcing the soft limits
       - "hard" for enforcing hard limits
#
#unixmen
cassandra soft nmlock unlimited
cassandra hard nmlock unlimited

can be one of the following:
       - core - limits the core file size (KB)
       - data - max data size (KB)
       - fsize - maximum filesize (KB)
       - memlock - max locked-in-memory address space (KB)
       - nofile - max number of open files
       - rss - max resident set size (KB)
       - stack - max stack size (KB)
       - cpu - max CPU time (MIN)
       - nproc - max number of processes
       - as - address space limit (KB)
       - maxlogins - max number of logins for this user
       - maxsyslogins - max number of logins on the system
       - priority - the priority to run user process with
       - locks - max number of file locks the user can hold
       - sigpending - max number of pending signals
       - msgqueue - max memory used by POSIX message queues (bytes)
       - nice - max nice priority allowed to raise to values: [-20, 19]
       - rtprio - max realtime priority
       - chroot - change root to directory (Debian-specific)
#
                
#

#*               soft    core            0
#root            hard    core            100000

Отредактируйте файл cassandra.yaml:

Перейдите в каталог conf папки установки apache-cassandra и отредактируйте cassandra.yaml, чтобы определить имя кластера.

nano /home/cassandra/cassandra/apache-cassandra-2.1.7/conf/cassandra.yaml
cluster_name: 'unixmen'

Создайте необходимые каталоги и назначьте соответствующие права доступа:

Переключитесь на пользователя root и создайте каталоги «/var/lib/cassandra/» и «/var/log/cassandra», определив соответствующие разрешения:

mkdir /var/lib/cassandra/
mkdir /var/log/cassandra
Определите разрешения:
chown cassandra.cassandra /var/lib/cassandra
chown cassandra.cassandra /var/log/cassandra

Тест Кассандры:

Теперь переключитесь на пользователя cassandra, перейдите в директорию bin, доступную в каталоге установки apache-cassandra.

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/bin

Запустите скрипт cassandra, находящийся в каталоге bin, с опцией -f.

./cassandra -f

Эта команда ./cassandra -f, занимает очень много времени и занимает много времени, оставьте ее как есть и откройте новый терминал для запуска следующих команд.

Оставьте ./cassandra в фоновом режиме и войдите в систему под пользователем «cassandra» с нового терминала, перейдите в bin каталога установки apache-casaandra и запустите ./cassandra-cli, cassandra-cli — более старая версия, ( вам следует переключиться на утилиту cqlsh, в следующих сериях мы объясним использование cqlsh)

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/bin/
./cassandra-cli

Давайте приведем несколько примеров:

bin/cassandra-cli --host localhost

 [default@unknown] connect localhost/9160;

9160 — это порт, используемый Кассандрией.

Давайте попробуем создать некоторое пространство ключей, пространство ключей можно рассматривать как базу данных MySQL.

 [default@unknown]create keyspace unixmen;

 [default@unknown]describe cluster;

Наконец, давайте посмотрим на утилиту cqlsh.

bin$./cqlsh

Вот и все.

Веселиться!!

Статьи по данной тематике: