首页 > 其他分享 >搭建storm集群(apache-storm-0.9.5.tar.gz)

搭建storm集群(apache-storm-0.9.5.tar.gz)

时间:2023-06-13 10:06:43浏览次数:57  
标签:0.9 storm tar Nimbus 集群 Storm apache local


//搭建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的依赖库。具体如下:


  1. Java 6  
  2. Python 2.6.6  

以上依赖库的版本是经过 Storm 测试的, Storm 并不能保证在其他版本的 Java 或 Python 库下可运行。

  1. $ python -V  
  2. Python 2.6.6  


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

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


1. 下载Storm发行版本

2. 解压到安装目录下:


1.  tar –zvxf apache-storm-0.9.5.tar.gz –C /usr/local/ 
2. ln -s /usr/local/apache-storm-0.9.5/ /usr/local/storm

配置环境变量

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集群地址,其格式如下:

1. 我的配置为:  
2. storm.zookeeper.servers:
3.     - “master"
4.     - “slave1"
5.     - "slave2"


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

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

    1. storm.local.dir: "/usr/local/storm/data"    
    2. 注:需要首先创建data目录

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

    1.  我的配置:
    2.  nimbus.host: "master"

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

    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不在进程内保存状态的原因,即使Nimbus或Supervisors被重启,运行中的Topologies不会受到影响。

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

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

    注意事项:

    1. Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
    2. 经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。
    3. 为了方便使用,可以将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


    标签:0.9,storm,tar,Nimbus,集群,Storm,apache,local
    From: https://blog.51cto.com/u_16152230/6467217

    相关文章

    • 通过 docker-compose 快速部署 StarRocks 保姆级教程
      目录一、概述二、前期准备1)部署docker2)部署docker-compose三、创建网络四、StarRocks编排部署1)下载StarRocks部署包2)配置3)启动脚本bootstrap.sh4)构建镜像Dockerfile5)编排docker-compose.yaml6)开始部署五、简单测试验证六、常用的StarRocks客户端命令1)服务启停2、查看节......
    • opcenter camstar designer基础知识--Fields
      点击工具栏的Fields 最左侧的窗格包含一个选择树,其中列出了所有可用的字段类型类别。展开类别可显示更具体的字段类型定义。右键单击字段类型可执行以下任务:• add添加字段定义• Rename重命名字段定义• Remove移除字段定义“重命名字段定义”和“移除字段......
    • Apikit SaaS 10.9.0 版本更新:空间主页上线,应用模块合并!
      Hi,大家好!EolinkApikitSaaS更新10.9.0版本,本次版本更新主要是对多个应用级资源合并,并基于此简化付费套餐和降低费率。本次应用合并是为了接下来更好的发挥EolinkApikit的优势,提供API全生命周期解决方案,为下半年的重大功能更新做前期准备。本次更新的详细内容如下。1、重大......
    • Apikit SaaS 10.9.0 版本更新: 接口测试支持通过 URL 请求大型文件,支持导出为 Postman
      Hi,大家好!EolinkApikit即将在2023年6月8日晚18:00开始更新10.9.0版本。本次版本更新主要是对多个应用级资源合并,并基于此简化付费套餐和降低费率。本次应用合并是为了接下来更好的发挥EolinkApikit的优势,提供API全生命周期解决方案,为下半年的重大功能更新做前期......
    • 自定义SpringBoot的starter
      1.自定义starter名为my-starter-spring-boot-starter1.1idea中创建一个maven模块groupId为com.exampleartifactId为my-starter-spring-boot-starter起名规范:1.官方starter是spring-boot-starter-xxxx2.自定义starter是xxx-spring-boot-starter依赖如下<?xmlversion="1.0......
    • POJ 2352 HDU1541 Stars(树状数组)
      题意:二维平面给定n个点的坐标,然后要你输出每个点的“等级“。每个点的等级是它的左下放的点个数(包括正下放和正左方的点)。即要你输出对于每个点(x,y)来说,有多少点的坐标(xi,yi)满足xi<=x且yi<=y。思路:题目给出的坐标中已经是按y升序排列,那么其实只用考虑x轴,那么显然就是在前面的......
    • objectARX 插入ole图片简单示意
      代码 //获取BMP文件的数据 HBITMAPhBmp=(HBITMAP)LoadImage(NULL,_T("d:\\123.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE); if(hBmp==NULL){ acutPrintf(_T("FailedtoloadBMPfile\n")); return; } //打开剪贴板 if(!OpenClipb......
    • opcenter camstar designer基础知识--Field
      Field界面为CDO中field的属性界面1. General常规 2. Options选项  3.AdvancedOptions高级选项  4.Expressions表达式  支持的表达式,仅CVE和DVE支持表达式;DV不支持。初始化对象时,系统会尝试从数据库中获取字段的值(如果存在)。注释:初始化时不计......
    • Hugging News #0609: 最新代码生成模型 StarCoder+ 和 StarChat Beta 重磅发布!
      每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!重磅更新StarCoder+和StarChatβ发布!......
    • 优秀storm博客汇总
      http://aiku.me/bar/10670754http://xumingming.sinaapp.com/756/twitter-storm-drpc/......