Вы находитесь на странице: 1из 3

Лабораторная работа 1

Создание кластера для СУБД riak

1, Создание узла с операционной системой ubuntu.

1.1. Создать виртуальную машину с установленной на ней ОС ubuntu. Адрес этого узла во
внутренней сети должен быть 192.168.56.2, адрес шлюза 192.168.56.1.

1.2. Настройка виртуальной машины

Для ускорения работы выполнить в командной строке команду

sudo apt-get install virtualbox-guest-additions.iso virtualbox-


guest-dkms virtualbox-guest-x11 virtualbox-guest-utils
Перезапустить виртуальную машину

2. Инсталляция riak

2.1. Установить пакет для работы по протоколу http в командной строке curl.
sudo apt-get update
sudo apt-get install curl
curl https://packagecloud.io/gpg.key | sudo apt-key add -

2.2. Установка библиотеки для ubuntu PAM (Pluggable Authentication


Module)
sudo apt-get install libpam0g-dev
2.3. Установка Riak зависимости, используя apt:
sudo apt-get install build-essential libc6-dev-i386 git
2.4. Установка языка Erlang
Загрузка
wget http://erlang.org/download/otp_src_21.1.tar.gz
Распаковка
tar zxvf otp_src_21.1.tar.gz
Инсталляция
sudo apt-get update
sudo apt-get install erlang

2.5. Инсталляция riak


Загрузка
sudo wget
http://s3.amazonaws.com/downloads.basho.com/riak/2.2/2.2.3/ubuntu/
precise/riak_2.2.3-1_amd64.deb
Инсталляция
sudo apt-get update
sudo apt-get install riak
3. Настройка riak
3.1. Редактирование конфигурационного файла riak.
Перейти в каталог, содержащий файл riak.conf
cd /etc/riak/riak.conf
Выполнить команду ls (просмотр содержимого каталога), найти файл
riak.conf.
nn@s1:/etc/riak$ ls
advanced.config calc_rooms_capacity.rb riak.conf
calc_cap_hotel.rb create_hotel_db.rb solr-log4j.properties
calc_rooms_capacity hotel.rbLs

Запустить с правами администратора текстовый редактор gedit и


загрузить в него файл riak.conf
sudo gedit riak.conf

Внести следующие изменения в файл riak.conf. Изменения показаны


для узла с адресом 192.168.56.2 во внутренней сети.
...
####nodename = riak@127.0.0.1
nodename = riak@192.168.56.7
...
## ring_size = 64
ring_size = 8
...
####listener.http.internal = 127.0.0.1:8098
listener.http.internal = 192.168.56.2:8098
...
####listener.protobuf.internal = 127.0.0.1:8087
listener.protobuf.internal = 192.168.56.2:8087

3.2. Создать файл riak-clear для очистки настроек по умолчанию со


следующим содержимым, используя редактор gedit.
sudo rm -rf /var/lib/riak/ring/*
sudo rm -rf /var/lib/riak/bitcask/*
Переместить файл riak-clear в каталог /bin/
sudo cp riak-clear /bin/riak-clear
Сделать файл riak-clear исполняемым
cd /bin
sudo chmod 755 riak-clear
3.3. Установить язык ruby
sudo apt-get install ruby-full
Установить драйвер ruby для riak
gem install riak-client json

4. Создание кластера из трех узлов.


4.1. Создать еще 2 узла методом клонирования, с адресами во внутренней сети
192.168.56.3, 192.168.56.4, адрес шлюза 192.168.56.1. Выполнить для каждого узла
операции, указанные в пункте 3.
4.2. Запустить все узлы, проверить командой ping работоспособность внутренней
сети.
4.3. Перейти в 1-й узел с адресом 192.168.56.2, и подготовить команду для
подключения к нему 2-го узла с адресом 192.168.56.3.
sudo riak-admin cluster join riak@192.168.56.3
4.4. Просмотреть список предполагаемых изменений в кластере.
sudo riak-admin cluster plan
4.5. Произвести фиксацию изменений
sudo riak-admin cluster commit
4.6. Включить в кластер 3-й узел, выполнив пункты 4.3-4.5 для узла
riak@192.168.56.3
4.7. Просмотр сделанных изменений.
sudo riak-admin member-status
При получении следующего сообщения кластер готов для работы с СУБД riak.
============= Membership ======================
Status Ring Pending Node
--------------------------------------------------
valid 50.0% -- 'riak@192.168.56.2'
valid 25.0% -- 'riak@192.168.56.3'
valid 25.0% -- 'riak@192.168.56.4'