storm安装

1、安装一个zookeeper集群


2、上传storm的安装包,解压


3、修改配置文件storm.yaml


#所使用的zookeeper集群主机(横线和主机名之间要有空格)
storm.zookeeper.servers:
     - "weekend05"
     - "weekend06"
     - "weekend07"


#nimbus所在的主机名
nimbus.host: "weekend05"
//配置几个端口就启动几个进程,也就是几个work,因为每个进程占用一个端口(横线和端口之间要有空格)
supervisor.slots.ports:
- 6701
- 6702
- 6703
- 6704
- 6705



storm1.0.1配置:

至少完成以下3处的配置,


     storm.zookeeper.servers:
    - "centos1"
    - "centos2"
    - "centos3"
storm.local.dir: "/opt/apache-storm-1.0.0/data"

nimbus.seeds: ["centos1"](nimbus所在的节点)




其中storm.zookeeper.servers,表示Zookeeper集群地址。如果Zookeeper集群使用的不是默认端口,那么还需要配置storm.zookeeper.port。storm.local.dir用于配置Storm存储少量文件的路径。nimbus.seeds用于配置主控节点的地址,可以配置多个。





启动storm
在nimbus主机上
nohup ./storm nimbus 1>/dev/null 2>&1 &
nohup ./storm ui 1>/dev/null 2>&1 &


在supervisor主机上

nohup ./storm supervisor 1>/dev/null 2>&1 &


验证 在nimbus主机上打开页面访问8080端口


storm 提交任务

在storm_home/bin目录下

./storm jar xxx.jar  mainclass

xxx.jar表示打包好的jar包,mainclass换成主函数类的全路径名称



停止任务

./storm kill demotopo

stormdemo是任务的名称,代码中提交任务时设定的

StormSubmitter.submitTopology("demotopo",conf,stormTopology);



storm并行

worker(slots)
默认一个从节点上面可以启动4个worker进程,参数是supervisor.slots.port。在storm配置文件中已经配置过了,默认是在strom-core.jar包中的defaults.yaml中配置的有。
默认一个strom项目只使用一个worker进程,可以通过代码来设置使用多个worker进程。
通过config.setNumWorkers(workers)设置
通过conf.setNumAckers(0);可以取消acker任务
最好一台机器上的一个topology只使用一个worker,主要原因是减少了worker之间的数据传输
如果worker使用完的话再提交topology就不会执行,会处于等待状态
executor
默认情况下一个executor运行一个task,可以通过在代码中设置
builder.setSpout(id, spout, parallelism_hint);
builder.setBolt(id, bolt, parallelism_hint);
task
通过boltDeclarer.setNumTasks(num);来设置实例的个数
executor的数量会小于等于task的数量(为了rebalance)






Strom UI

*deactive:未激活(暂停)
*

deactive:未激活(暂停)
emitted: emitted tuple数
transferred: transferred tuple数, 
与emitted的区别:如果一个task,emitted一个tuple到2个task中,则 transferred tuple数是emitted tuple数的两倍
complete latency: spout emitting 一个tuple到spout ack这个tuple的平均时间
process latency:   bolt收到一个tuple到bolt ack这个tuple的平均时间
execute latency:bolt处理一个tuple的平均时间,不包含ack操作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值