вторник, 3 июля 2012 г.

Установка Cassandra (CentOS 6)

# Устанавливаем Java
yum install java-1.6.0-openjdk.x86_64

# Скачиваем cassandra и разархивируем в /opt/cassandra
curl -O http://www.sai.msu.su/apache/cassandra/1.1.0/apache-cassandra-1.1.0-bin.tar.gz

# Создаем необходимые каталоги
mkdir /var/log/cassandra
mkdir /var/lib/cassandra


# Редактируем конфиг
/opt/cassandra/conf/cassandra.yaml
cluster_name: 'test'
initial_token: 0

# Делаем тестовый запуск
/opt/cassandra/bin/./cassandra -f



# Для генерации токенов использум python скрипт
vim calc.py

num_node = 3
for n in range(num_node):
    print int(2**127 / num_node * n)

# запускаем его
python calc.py

0
56713727820156410577229101238628035242
113427455640312821154458202477256070484

# Редактируем конфиги на нодах будущего кластера
# На 10.10.10.1:

vim /opt/cassandra/conf/cassandra.yaml
cluster_name: 'cassandra_test'
initial_token: 0
seeds: "10.10.10.1, 10.10.10.2, 10.10.10.3"
listen_address: 10.10.10.1
rpc_address: 10.10.10.1

/opt/cassandra/bin/./cassandra

# На 10.10.10.2:
vim /opt/cassandra/conf/cassandra.yaml
cluster_name: 'cassandra_test'
initial_token: 113427455640312821154458202477256070484
seeds: "10.10.10.1, 10.10.10.2, 10.10.10.3"
listen_address: 10.10.10.2
rpc_address: 10.10.10.2

rm -rf /var/lib/cassandra/*

/opt/cassandra/bin/./cassandra

# На 10.10.10.3:
vim /opt/cassandra/conf/cassandra.yaml
# auto_bootstrap: true
cluster_name: 'cassandra_test'
initial_token: 56713727820156410577229101238628035242
seeds: "10.10.10.1, 10.10.10.2, 10.10.10.3"
listen_address: 10.10.10.3
rpc_address: 10.10.10.3

rm -rf /var/lib/cassandra/*

/opt/cassandra/bin/./cassandra

# Вкраце о параметрах репликиции

replication_factor = 3 (Количество реплик, для трех серверов)

placement_strategy =

org.apache.cassandra.locator.SimpleStrategy (реплика на соседние)
org.apache.cassandra.locator.NetworkTopologyStrategy (реплика для разных датацентров)
org.apache.cassandra.locator.OldNetworkTopologyStrategy

# Создаем keyspace с нужными параметрами репликации

/opt/cassandra/bin/./cassandra-cli -h 10.10.10.1

create keyspace testkeyspace;

update keyspace testkeyspace with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
and strategy_options = {replication_factor:3};

show keyspaces;

Комментариев нет:

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