Апач Кассандра с 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
Вот и все.
Веселиться!!