storm集群搭建

    xiaoxiao2021-11-29  28

    目录(?)[+]

    //搭建storm集群(apache-storm-0.9.5.tar.gz) # by coco # 2015-07-15 前期准备:3台服务器: 192.168.8.94  192.168.8.95 192.168.8.96 去storm官网下载响应版本的软件包:http://storm.apache.org/downloads.html 在这里下载的是: wget http://mirrors.hust.edu.cn/apache/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz 1. 安装storm集群     1. 搭建Zookeeper集群。(略)     2. 安装Storm依赖库。     3. 下载并解压Storm发布版本。     4.  修改storm.yaml配置文件。     5.  启动Storm各个后台进程。 2.  安装Storm依赖的库。   接下来,需要在Nimbus和Supervisor机器上安装Storm的依赖库。具体如下: Java 6   Python 2.6.6      以上依赖库的版本是经过 Storm 测试的, Storm 并不能保证在其他版本的 Java Python 库下可运行。 $ python -V   Python 2.6.6  

    3. 下载并解压Storm发布版本(我使用的是apache-storm-0.9.3)

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

    1. 下载Storm发行版本

    2. 解压到安装目录下:

    [html]  view plain copy  tar –zvxf apache-storm-0.9.5.tar.gz –C /usr/local/  ln -s /usr/local/apache-storm-0.9.5/ /usr/local/storm

    3.配置环境变量

    [html]  view plain copy vi /etc/profile     export STORM_HOME==/usr/local/storm     export PATH=$STORM_HOME/bin:$PATH  

    4 修改storm.yaml配置文件

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

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

    [html]  view plain copy 我的配置为:   storm.zookeeper.servers:     - master"     - slave1"     - "slave2" 

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

    2) storm.local.dir: NimbusSupervisor进程用于存储少量状态,如jarsconfs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:mkdir -p /usr/local/storm/data

    [html]  view plain copy storm.local.dir: "/usr/local/storm/data"     注:需要首先创建data目录  

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

    [html]  view plain copy 我的配置: nimbus.host: "master" 

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

    [html]  view plain copy supervisor.slots.ports:         - 6700         - 6701         - 6702         - 6703  

    最后配置完毕后:

    ########### These MUST be filled in for a storm configuration  storm.zookeeper.servers:      - "master"      - "slave1"      - "slave2"  storm.local.dir: "/data/storm/data"  nimbus.host: "master"  supervisor.slots.ports:     - 6700     - 6701     - 6702     - 6703 ####### 注意:每行前面的空格要统一,否则启动不起来。 2.5 启动Storm各个后台进程

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

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

    Nimbus: 在Storm主控节点上运行 "storm nimbus &" 启动Nimbus后台程序,并放到后台执行;Supervisor: 在Storm各个工作节点上运行" storm supervisor &"启动Supervisor后台程序,并放到后台执行;UI: 在Storm主控节点上运行 "storm ui &" 启动UI后台程序,并放到后台执行,启动后可以通过http://192.168.8.94:8080/index.html观察集群的worker资源使用情况、Topologies的运行状态等信息。

    注意事项:

    Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。为了方便使用,可以将bin/storm加入到系统环境变量中。

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

    这时再打开浏览器http://192.168.8.94:8080/index.html,可以看到我们刚才提产的代码已经在集群中显示了。   2.6 FAQ   1)过程中发现storm ui显示supervisor个数与实际不符的解决     解决方法:在删除了local dir,重启后恢复了。

    参考:

    1. https://github.com/nathanmarz/storm/wiki/Tutorial

    2. https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster

    3.http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html

    转载请注明原文地址: https://ju.6miu.com/read-678672.html

    最新回复(0)