zoukankan      html  css  js  c++  java
  • storm环境搭建

    备注——使用:

    1、单机版本:

    启动zkServer、nimbus、supervisor、ui服务:

    1 zkServer.sh start
    2 zkServer.sh status   #查看zkserver是否成功启动  (bin/zkCli.sh启动java客户端测试zookeeper服务是否可用)
    3 
    4 storm nimbus&
    5 storm supervisor&
    6 storm ui&

    通过http://UI_Server:8080可以打开Storm Web UI看看Storm集群的状态。

    在命令窗口输入: jps  可以查看各个进程的运行状态:

    1 Jps  对应的进程是  Java jps
    2 core  对应的进程是  Storm UI
    3 nimbus 对应的进程是  Storm nimbus
    4 supervisor 对应的进程是  Storm supervisor
    5 QuorumPeerMain 对应的进程是  zkServer.sh
    6 worker  对应的线程是  Storm main函数里面的设置项

    2、集群版本:

    1 安装所需的工具软件;
    2 修改zookeeper的配置文件(zookeeper/conf/zoo.cfg)3 修改storm的配置文件(storm/conf/storm.yaml)4 
    5 注:如果使用的几台机器是有别名的,一定要在每一台机器上都做好所有机器的host,修改vim /etc/hosts 将每一台机器的别名都配置到hosts文件上。

    将此台nimbus电脑上的 zookeeper 和 storm 文件夹 复制到其他的电脑对应的文件夹下。就可以以下命令来启动从属节点上的storm:

    1 zkServer.sh start
    2 zkServer.sh status   #查看zkserver是否成功启动
    3 
    4 storm supervisor&
    5 storm ui&

    需要注意的是:其他电脑/opt/zookeeper/myid 文件里的数字要和zoo.cfg文件里server编号对应

    zoo.cfg文件里:

    1 server.1=172.16.0.235:4887:5887 #第一个节点地址 
    2 server.2=172.16.0.233:4887:5887 #第二个节点地址

    注:改好zoo.cfg文件后,记得在dataDir  = /opt/zookeeper目录下创建myid文件,从1开始,每个服务器加1就行。

    附注环境搭建参考链接:

    storm环境搭建(前言)

    官方手册:Setting Up a Development Environment

    徐明明博客:Twitter Storm: 配置开发环境 Twitter Storm: Maven配置

    storm集群整体部署:http://www.cnblogs.com/tovin/p/3966570.html(简单明了)

    twitter storm安装和storm-start的本地运行

    Storm集群安装部署步骤【详细版】

    Twitter Storm安装配置(单机版)笔记

    Twitter Storm安装配置(集群)笔记

    storm安装笔记以及提交拓扑任务

    具体的搭建步骤如下:

    Ubuntu14.04安装配置jdk1.8.0_31

    • 第一步:下载jdk-8u31-linux-x64.tar.gz 

      1 wget -c http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz

      (注:建议迅雷下载好后,直接拷贝到Linux系统上)
    • 第二步:解压、安装

      1 sudo mkdir /usr/lib/jvm
      2 sudo tar zxvf jdk-8u31-linux-x64.tar.gz -C /usr/lib/jvm
    • 第三步:修改环境变量

      1 sudo gedit /etc/profile 

      添加

      1 #set java environment
      2 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
      3 export JRE_HOME=${JAVA_HOME}/jre
      4 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
      5 export PATH=${JAVA_HOME}/bin:$PATH

      保存退出即可。

    • 第四步:配置默认jdk版本   (which java 检查)
      为了将我们安装的jdk设置为默认jdk版本,还要进行如下工作:
      执行代码:

      1 sudo update-alternatives --install /usr/lib/java java /usr/lib/jvm/jdk1.8.0_31/bin/java 300
      2 sudo update-alternatives --install /usr/lib/javac javac /usr/lib/jvm/jdk1.8.0_31/bin/javac 300 

      执行代码:

      1 sudo update-alternatives --config java

      系统会列出各种jdk版本,如下所示:

      1 There is only one alternatives in link group java (providing /usr/bin/java): /usr/lib/jvm/jdk1.8.0_31/bin/java
      2 Nothing to configure

       (注:如果是第一次安装jdk,可以跳过此过程)

    • 第五步:测试

      1 java -version 

      显示以下信息,说明已经配置成功

      1 java version "1.8.0_31"
      2 java(TM) SE Runtime Envirment (build 1.8.0_31-b13)
      3 java HotSpot(TM) 64-Bit Server VM (build 25.31-b07,mixed mode)

    Ubuntu14.04下ZooKeeper-3.4.6的安装与配置(单机版)

    • 第一步:下载ZooKeeper的安装包

      链接地址为:http://mirror.bit.edu.cn/apache/zookeeper/
    • 第二步:解压ZooKeeper安装包

      1 sudo tar -zxvf zookeeper-3.4.6.tar.gz
      2 chown -R mqx:mqx zookeeper-3.4.6
    • 第三步:设置环境变量

      1 #set zookeeper environment
      2 export ZOOKEEPER=/home/hadoop/zookeeper-3.4.6
      3 export PATH=$PATH:$ZOOKKEEPER/bin 
    • 第四步:配置
      配置文件位置:/home/hadoop/zookeeper-3.4.6/conf,将zoo_sample.cfd文件名称改为zoo.cfg, 缺省的配置内容如下:(单机版不用配置zoo.cfg文件)

       1 # The number of milliseconds of each tick
       2 tickTime=2000
       3 # The number of ticks that the initial
       4 # synchronization phase can take
       5 initLimit=10
       6 # The number of ticks that can pass between
       7 # sending a request and getting an acknowledgement
       8 syncLimit=5
       9 # the directory where the snapshot is stored.
      10 # do not use /tmp for storage, /tmp here is just
      11 # example sakes.
      12 dataDir=/tmp/zookeeper
      13 # the port at which the clients will connect
      14 clientPort=2181
      15 # the maximum number of client connections.
      16 # increase this if you need to handle more clients
      17 #maxClientCnxns=60
      18 #
      19 # Be sure to read the maintenance section of the
      20 # administrator guide before turning on autopurge.
      21 #
      22 # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
      23 #
      24 # The number of snapshots to retain in dataDir
      25 #autopurge.snapRetainCount=3
      26 # Purge task interval in hours
      27 # Set to "0" to disable auto purge feature
      28 #autopurge.purgeInterval=1
      配置说明:
      tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
      dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。可以是任意目录。
      clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。 
    • 第五步:启动ZooKeeper

      1 运行脚本:在/bin目录下
      2 ./zkServer.sh start # 启动
      3 ./zkServer.sh status # 查看状态
      4 ./zkServer.sh stop # 关闭

       注:bin/zkCli.sh启动java客户端测试zookeeper服务是否可用

    Ubuntu14.04下apache-storm-0.9.2的安装与配置(单机版)

      • 第一步:下载apache-storm-0.9.2-incubating.tar.gz 的安装包

        链接地址为:http://www.apache.org/dyn/closer.cgi/storm/apache-storm-0.9.2-incubating/apache-storm-0.9.2-incubating.tar.gz
      • 第二步:解压storm安装包

        1 sudo tar -zxvf apache-storm-0.9.2-incubating.tar.gz 
      • 第三步:设置环境变量
        修改/etc/profile,在文件中加入:

        1 #set storm environment
        2 export STORM=/home/mqx/storm/apache-storm-0.9.2-incubating
        3 export PATH=$PATH:$STORM/bin 
        保存退出后,执行source /etc/profile使其立刻生效
      • 第四步:配置

        创建一个storm的本地数据目录
        1 mkdir -p /var/tmp/storm/workdir/
        修改storm下/config/storm.yaml文件,如下所示:
         1 ########### These MUST be filled in for a storm configuration
         2 storm.zookeeper.servers:
         3 - "localhost"
         4 # - "server2"
         5 #
         6 storm.zookeeper.port: 2181
         7 nimbus.host: "mqx"
         8 supervisor.slots.ports:
         9 - 6700
        10 - 6701
        11 - 6702
        12 - 6703
        13 storm.local.dir: "var/tmp/storm/workdir"
        注意:在每个配置项前面必须留有空格,冒号后面也要加空格,否则会无法识别。
        i.nimbus.host: "mqx"是nimbus的IP或hostname;
        storm.local.dir: "var/tmp/storm/workdir" 表示storm需要用到的本地目录;
        storm.zookeeper.servers表示哪几台机器是zookeeper服务器;
        storm.zookeeper.port表示zookeeper的端口号,这里一定要与zookeeper配置的端口号一致,否则会出现通信错误,切记切记。
        ii. supervisor.slots.ports 表示supervisor节点的槽数,就是最多可以跑几个worker进程;是配置slot的ip地址,配了几个地址,就有几个slot,即几个worker。每个worker占用一个单独的端口用于接收消息。如果尝试提交的topology所声明的worker数超过当前可用的slot,该topology提交会失败。 
      • 第五步:启动

        1 在storm的bin目录下执行:
        2 ./storm nimbus #启动nimbus
        3 ./storm ui #启动ui
        4 ./storm supervisor#启动supervisor 

        附:
        提交拓扑命令:storm jar stormDemo.jar com.storm.example.SimpleTopology test1
        ——(stormDemo.jar是包含Topology实现代码的jar包;com.storm.SimpleTopology的main方法是Topology的入口;test1为参数)

        杀死拓扑命令: storm kill test1
        ——(test1是Topology的任务名称)
  • 相关阅读:
    Delphi String的散漫记录,真是知识无数,陷阱无数(转)
    GB2312 编码
    Windows系统字体与文件对照表
    Windows字符集的统一与转换
    Delphi 的绘图功能[10]
    各种字符集和编码详解
    NTC热敏电阻参数
    Spring Cloud 学习笔记(一)——入门、特征、配置
    上坡路定点停车与坡道起步
    网闸结构和工作原理
  • 原文地址:https://www.cnblogs.com/xymqx/p/4370824.html
Copyright © 2011-2022 走看看