Storm: distributed and fault-tolerant realtime computation
По горячим следам, пока это еще в голове. На первый взгляд всё просто, но поприсидать пришлось.
Последовательность такая:
1. Ставим Zookeeper
2. Ставим зависимости для Nimbus и рабочих машин
3. Скачиваем и ставим Storm на Nimbus и рабочие машины
4. Правим конфиг Шторма storm.yaml
5. Запускаем демонов
Настраиваем мастер (Nimbus):
Далее настройка Нимбуса и рабочих нод одинакова.
Ставим зависимости. Storm требует ZeroMQ 2.1.7 и JZMQ.
правим conf/storm.yaml
Запускаем:
По горячим следам, пока это еще в голове. На первый взгляд всё просто, но поприсидать пришлось.
Последовательность такая:
1. Ставим Zookeeper
2. Ставим зависимости для Nimbus и рабочих машин
3. Скачиваем и ставим Storm на Nimbus и рабочие машины
4. Правим конфиг Шторма storm.yaml
5. Запускаем демонов
Настраиваем мастер (Nimbus):
- Zookeeper
Для тестового кластера хватит одной ноды. За одно поставим утилиты и библиотеки, необходимые для Nimbus
apt-get install openjdk-6-jdk zookeeper make build-essential
apt-get install uuid-dev unzip pkg-config libtool automake
apt-get install uuid-dev unzip pkg-config libtool automake
- apache
Для UI нужен веб сервер
apt-get install apache2
Далее настройка Нимбуса и рабочих нод одинакова.
Ставим зависимости. Storm требует ZeroMQ 2.1.7 и JZMQ.
- ZerroMQ 2.1.7Нужна версия 2.1.7 ибо 2.1.10 глюкава
sudo aptitude install build-essential
cd ~
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar zxvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install
sudo ldconfig
cd ~
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar zxvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install
sudo ldconfig
- JZMQ
С ним пришлось повозиться. Ниже приведен самый рабочий способ:
Будет нужен GIT
sudo apt-get install git
git clone --depth 1 https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
./configure
touch src/classdist_noinst.stamp
cd src/
CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/App.java org/zeromq/ZMQForwarder.java org/zeromq/EmbeddedLibraryTools.java org/zeromq/ZMQQueue.java org/zeromq/ZMQStreamer.java org/zeromq/ZMQException.java
cd ..
make
sudo make install
git clone --depth 1 https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
./configure
touch src/classdist_noinst.stamp
cd src/
CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/App.java org/zeromq/ZMQForwarder.java org/zeromq/EmbeddedLibraryTools.java org/zeromq/ZMQQueue.java org/zeromq/ZMQStreamer.java org/zeromq/ZMQException.java
cd ..
make
sudo make install
- Storm
Собственной персоны
wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
unzip storm-0.8.1.zip
sudo chmod 777 /mnt/storm
unzip storm-0.8.1.zip
sudo chmod 777 /mnt/storm
правим conf/storm.yaml
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
storm.local.dir: "/mnt/storm"
nimbus.host: "111.222.333.44"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- "111.222.333.444"
- "555.666.777.888"
storm.local.dir: "/mnt/storm"
nimbus.host: "111.222.333.44"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- Nimbus на мастере "bin/storm nimbus"
- Supervisor на каждой рабочей машине "bin/storm supervisor"
- UI на мастере "bin/storm ui" http://{nimbus host}:8080
Комментариев нет:
Отправить комментарий