2013/01/08

Twitter Storm环境的搭建

Twitter Storm是一个实时分布式的计算系统。最近因为工作的原因,了解了一点皮毛,下边就把运行环境的搭建简单总结一下。我的服务器环境是Ubuntu 12.10(64bit)。

首先,安装JDK,当然是默认的OpenJDK,我选择的是6。(据说在7的环境下Zookeeper会有问题)。
apt-get install openjdk-6-jdk
需要下载一大批依赖,所以要等一段时间了。
不过,为了加快速度,我使用了多线程下载。使用的是apt-fast。
简要说明一下:
  1. sudo aptitude install software-properties-common安装add-apt-repository
  2. sudo add-apt-repository  ppa:apt-fast/stable
    添加Apt-Fast源。 
  3. sudo apt-get update && sudo apt-get install apt-fast
    安装之。
 安装了JDK之后,接下来安装Zookeeper,嗯,这个不是必须的,不过,有总比没有好。
 sudo apt-fast install zookeeperd
然后开始安装Storm。
首先到这里去下载最新的稳定版。我下载的是0.8.1。
wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
如果没有安装unzip的话,那么先安装一个unzip。
sudo apt-get install unzip
然后解压缩:
unzip storm-0.8.1.zip
mv storm-0.8.1 storm
进入Storm的bin文件夹:
 cd storm/bin
因为要进行一些编译,所以要先设定一下JavaHome。
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/
 storm很贴心的自带了一个依赖包的安装脚本,不过这个脚本是不能通过编译的,只能用来下载ZeroMQ。
./install_zmq.sh
执行上边的脚本后,会出现一个文件夹,进去:
cd zeromq-2.1.7/

因为我的Ubuntu是刚刚安装的,各种工具都不全,于是一个一个的安装吧。
sudo apt-get install make g++ uuid-dev

然后像编译普通的linux代码一样编译并安装吧。
 ./configure
make
sudo make install
 接下来安装JZMQ,因为这个也是从源代码编译的,所以先要安装一个git。
sudo apt-get install git
拿到最新的代码:
git clone https://github.com/nathanmarz/jzmq.git
进入代码文件夹:
cd jzmq
这个代码的编译有些特别,它是用脚本自动生成make文件的,为了执行./autogen.sh,要先安装一些依赖:
sudo apt-get install pkg-config libtool autoconf automake
然后开始编译,执行:
 ./autogen.sh
./configure
touch src/classdist_noinst.stamp
cd src/org/zeromq/
javac *.java
cd ~/storm/bin/jzmq
make
sudo make install
如果没有出现错误的话,到现在Storm的依赖就全部安装完了。
改写storm的配置文件:
vi ~/storm/conf/storm.yaml
加入zookeeper服务器和nimbus的信息即可:
storm.zookeeper.servers:
     - "192.168.167.30"
     - "192.168.167.37"
     - "192.168.167.46"
nimbus.host: "192.168.167.30"
类似上边这样,因为我已经有了zookeeper集群,和nimbus节点,所以直接使用就行了。
测试一下看看:
./bin/storm supervisor
如果没有出错的话,基本上就完成了。
当然,现在仅仅是一个控制台启动,并且,Storm是fast-fail型的,一旦出错立即退出,所以,我使用daemontools(不是那个虚拟光驱工具)进行后台监控,只要停了就马上再次启动。
 sudo apt-get install daemontools-run
然后在Storm的文件夹下建立一个run文件:
vi run
写如一下信息:
#!/bin/sh
exec 2>&1
exec /path/to/storm/bin/storm supervisor
当然,path to要改成自己的路径。
然后付给执行权限:
chmod a+x run
在建立一个到service的链接:
sudo ln -sf /path/to/storm /etc/service/
然后重新启动计算机,安装就结束了(因为我实在是不知道如何让daemontools启动):
sudo reboot
 到这里,全部结束。

没有评论:

发表评论

Mastodon Daily(2024-04-27)

I just watched The Happening (2008) https://trakt.tv/movies/the-happening-2008 #TheHappe...