您的位置:首页 > 其它

storm 单机版安装

2013-10-29 15:47 423 查看
结合官网链接 ,写一下自己安装的过程中遇到的问题。

Storm的依赖软件比较多,需要装Python、zookeeper、zeromq以及jzmq,然后才是storm的安装。

 

第一步,安装Python2.7.2

 (一般系统自带,执行python -v 没有再行安装)

# wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
# tar zxvf Python-2.7.2.tgz

# cd Python-2.7.2

# ./configure

# make

# make install

# vi /etc/ld.so.conf

         追加/usr/local/lib/

# sudo ldconfig

      这样的话,Python2.7.2就安装完毕了。

第二步,安装zookeeper

# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
# tar zxf zookeeper-3.3.3.tar.gz

# cp -R zookeeper-3.3.3 /usr/local/

# ln -s /usr/local/zookeeper-3.3.3/ /usr/local/zookeeper

# vi ~/.bashrc (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin)

          追加:

          export ZOOKEEPER_HOME="/path/to/zookeeper"

          export PATH=$PATH:$ZOOKEEPER_HOME/bin

# cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)

# sudo mkdir /tmp/zookeeper

# sudo mkdir /var/log/zookeeper

      好的,zookeeper的单机安装已经完成了。

# 在/bin下 开启服务 .zkServer.sh start;

第三步,安装zeromq以及jzmq

jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。

1)安装zeromq:

# wget http://download.zeromq.org/historic/zeromq-2.1.7.tar.gz
# tar zxf zeromq-2.1.7.tar.gz

# cd zeromq-2.1.7

# ./configure

# make

# make install  (检查是否有错误提示,例如访问权不够等等,提升权限执行)

# sudo ldconfig (更新LD_LIBRARY_PATH) Idconfig 动态链接库命令   普通用户下没有此命令 用cd /sbin  ;sudo ./Ldconfig

第四步,下载后编译安装JZMQ:

 

git clone https://github.com/nathanmarz/jzmq.git
cd jzmq

./autogen.sh

./configure

make

sudo make install "错误make:***install -recursive  error1 " 解决:FOR UBUNTU 12.0.4 sed -i 's/classdist_noinst.stamp/classnoinst.stamp/g' src/Makefile.am

2.3 下载并解压Storm发布版本

下一步,需要在Nimbus和Supervisor机器上安装Storm发行版本。

1. 下载Storm发行版本,推荐使用Storm0.8.1:

wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
2. 解压到安装目录下:

unzip storm-0.8.1.zip

2.4 修改storm.yaml配置文件

Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。默认配置在这里可以查看。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。以下配置选项是必须在conf/storm.yaml中进行配置的:

1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:

storm.zookeeper.servers:

  - "192.168.1.132"

  - "192.168.1.134"

如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。

2) storm.local.dir: Ni1bus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:

storm.local.dir: "/home/admin/storm/workdir"

3) java.library.path: Storm使用的本地库(ZMQ和JZMQ)加载路径,默认为"/usr/local/lib:/opt/local/lib:/usr/lib",一般来说ZMQ和JZMQ默认安装在/usr/local/lib 下,因此不需要配置即可。

4) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如:

nimbus.host: "192.168.1.132"

5) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,如:

supervisor.slots.ports:

    - 6700

    - 6701

    - 6702

    - 6703

2.5 启动Storm各个后台进程

最后一步,启动Storm的所有后台进程。和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在任意时刻被停止,并且当进程重启后被正确地恢复执行。这也是为什么Storm不在进程内保存状态的原因,即使Nimbus或Supervisors被重启,运行中的Topologies不会受到影响。

以下是启动Storm各个后台进程的方式:

Nimbus: 在Storm主控节点上运行"bin/storm nimbus >/dev/null 2>&1 &"启动Nimbus后台程序,并放到后台执行;

Supervisor: 在Storm各个工作节点上运行"bin/storm supervisor >/dev/null 2>&1 &"启动Supervisor后台程序,并放到后台执行;

UI: 在Storm主控节点上运行"bin/storm ui >/dev/null 2>&1 &"启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。

注意事项:

Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。

经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。

为了方便使用,可以将bin/storm加入到系统环境变量中。

至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: