zoukankan      html  css  js  c++  java
  • Storm集群详细部署

    1.安装zookeeper

    3.1下载zookeeper安装包,

    建议下载3.4.5及以上的版本

        http://www.apache.org/dyn/closer.cgi/zookeeper/

    3.2、下载完毕之后,解压文件

        tar -zxvf zookeeper-3.4.7.tar.gz -C  /export/servers/

       cd /export/servers

        ln -s zookeeper-3.4.7 zookeeper

    修改配置文件

         cd  /export/servers/zookeeper/conf

         mv zoo_sample.cfg zoo.cfg

         vi zoo.cfg

        输入以下内容:

    #基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime 

    tickTime=2000

    #此配置表示,允许 follower (相对于 leader 而言的“客户端”)连接并同步到 leader 的初始化连接时间,它以 tickTime 的倍数来表示。当超过设置倍数的 tickTime 时间,则连接失败

    initLimit=10

    #此配置表示, leader 与 follower 之间发送消息,请求和应答时间长度。如果 follower 在设置的时间内不能与 leader 进行通信,那么此 follower 将被丢弃

    syncLimit=5

    #数据目录. 可以是任意目录,其中的dataDir目录和dataLogDir需要提前建立好

    #注意 应该谨慎地选择日志存放的位置,使用专用的日志存储设备能够大大地提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会在很大程度上影响系统的性能。

    dataDir=/export/servers/data/zookeeper

    #log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置,其中的dataDir目录和dataLogDir需要提前建立好

    #注意 应该谨慎地选择日志存放的位置,使用专用的日志存储设备能够大大地提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会在很大程度上影响系统的性能。

    dataLogDir=/export/servers/logs/zookeeper

    #监听client连接的端口号.

    clientPort=2181

    #这个操作将限制连接到 ZooKeeper 的客户端的数量,限制并发连接的数量,它通过 IP 来区分不同的客户端。此配置选项可以用来阻止某些类别的 Dos 攻击。将它设置为 0 或者忽略而不进行设置将会取消对并发连接的限制。

    maxClientCnxns=0

    #最小的会话超时时间以及最大的会话超时时间。

    #其中,最小的会话超时时间默认情况下为 2 倍的 tickTme 时间

    #最大的会话超时时间默认情况下为 20 倍的会话超时时间

    minSessionTimeout=4000

    maxSessionTimeout=10000

    #server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口.

    #在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应.

    server.1=192.168.52.106:2888:3888

    server.2=192.168.52.107:2888:3888

    server.3=192.168.52.108:2888:3888

    创建zk的数据目录和日志目录

        mkdir -p /export/servers/data/zookeeper

        mkdir -p /export/servers/logs/zookeeper

    3.5、在数据目录下创建zk节点的编号

        在上文中 /export/servers/data/zookeeper 的目录下,创建myid文件。

        myid文件的内容,根据所属主机编号来编写。

        解释:

        创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,id为你zoo.cfg文件中server.1=localhost:2887:3887中的1.只要在myid头部写入1即可.

    3.6、分发修改后的安装文件

       scp zookeeper-3.4.6 hadoop02:/export/servers/

       scp zookeeper-3.4.6 hadoop03:/export/servers/

    3.7、在分发后的机器上,执行步骤5的操作。

        创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,id为你zoo.cfg文件中server.1=localhost:2887:3887中的1.只要在myid头部写入1即可.

    3.8、在所有 所有 所有机器上配置环境变量   

           #set ZK env

            export ZK_HOME=/export/servers/zk

            export PATH=${ZK_HOME}/bin:$PATH 

    3.9、在所有 所有 所有机器上让配置文件生效

        source  /etc/profile

    3.10、启动zk集群

       依次在不同的节点上,输入zkServers.sh start

       出现错误后,可参考:http://maoxiangyi.cn/index.php/archives/121

    3.11、查看zk集群的状态

        依次在不同的节点上,输入zkServers.sh status 

        只有一个主节点,leader  其他都是follow

    4、安装storm

    4.1、下载安装包

    wget    http://124.202.164.6/files/1139000006794ECA/apache.fayea.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz

    4.2、解压安装包

    tar -zxvf apache-storm-0.9.5.tar.gz -C /export/servers/

    cd /export/servers/

    ln -s apache-storm-0.9.5 storm

    4.3、修改配置文件

    mv /export/servers/storm/conf/storm.yaml /export/servers/storm/conf/storm.yaml.bak

    vi /export/servers/storm/conf/storm.yaml

    输入以下内容:

    #指定storm使用的zk集群

    storm.zookeeper.servers:

         - "zk01"

         - "zk02"

         - "zk03"

    #指定storm集群中的nimbus节点所在的服务器

    nimbus.host: "storm01"

    #指定nimbus启动JVM最大可用内存大小

    nimbus.childopts: "-Xmx1024m"

    #指定supervisor启动JVM最大可用内存大小

    supervisor.childopts: "-Xmx1024m"

    #指定supervisor节点上,每个worker启动JVM最大可用内存大小

    worker.childopts: "-Xmx768m"

    #指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。

    ui.childopts: "-Xmx768m"

    #指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker

    supervisor.slots.ports:

        - 6700

        - 6701

        - 6702

        - 6703

    4.4、分发安装包

    scp -r /export/servers/apache-storm-0.9.5 storm02:/export/servers

    然后分别在各机器上创建软连接

    cd /export/servers/

    ln -s apache-storm-0.9.5 storm

    4.5、启动集群

    nimbus.host所属的机器上启动 nimbus服务

    cd /export/servers/storm/bin/

    nohup ./storm nimbus &

    nimbus.host所属的机器上启动ui服务

    cd /export/servers/storm/bin/

    nohup ./storm ui &

    在其它个点击上启动supervisor服务

    cd /export/servers/storm/bin/

    nohup ./storm supervisor &

    4.6、查看集群

    访问nimbus.host:/8080,即可看到stormui界面。

    4.7Storm常用操作命令

    有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。

    提交任务命令格式:storm jar jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】

    bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount

    杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)

    storm kill topology-name -w 10

    停用任务命令格式:storm deactivte  【拓扑名称】

    storm deactivte topology-name

    我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spoutsnextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。

    启用任务命令格式:storm activate【拓扑名称】

            storm activate topology-name

    重新部署任务命令格式:storm rebalance  【拓扑名称】

            storm rebalance topology-name

            再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。

  • 相关阅读:
    第一次个人编程作业
    第一次软工作业
    [Manacher]最长回文子串
    面向对象程序设计 总结作业
    面向对象程序设计 小黄衫晒单
    面向对象程序设计 作业三
    面向对象程序设计 作业二
    面向对象程序设计 作业一
    SSD/Memory技术学习拼图
    第一次结对编程作业
  • 原文地址:https://www.cnblogs.com/duan2/p/7695913.html
Copyright © 2011-2022 走看看