storm
来源:互联网 发布:淘宝店导航在线制作 编辑:程序博客网 时间:2024/04/29 06:03
遇到的问题
maven缺少依赖,下不了jar包
在网上找了篇博客
修改 Maven 的配置文件(安装目录下的 conf/settings.xml 文件),将 <mirrors>..</mirrors>
间的内容改为:
- <mirrors>
- <!-- mirror | Specifies a repository mirror site to use instead of a given
- repository. The repository that | this mirror serves has an ID that matches
- the mirrorOf element of this mirror. IDs are used | for inheritance and direct
- lookup purposes, and must be unique across the set of mirrors. | -->
- <mirror>
- <id>nexus-osc</id>
- <mirrorOf>central</mirrorOf>
- <name>Nexus osc</name>
- <url>http://maven.oschina.net/content/groups/public/</url>
- </mirror>
- <mirror>
- <id>nexus-osc-thirdparty</id>
- <mirrorOf>thirdparty</mirrorOf>
- <name>Nexus osc thirdparty</name>
- <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
- </mirror>
- </mirrors>
以及将 <profile>...<profile>
之间的内容改为:
- <profile>
- <id>jdk-1.4</id>
- <activation>
- <jdk>1.4</jdk>
- </activation>
- <repositories>
- <repository>
- <id>nexus</id>
- <name>local private nexus</name>
- <url>http://maven.oschina.net/content/groups/public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>nexus</id>
- <name>local private nexus</name>
- <url>http://maven.oschina.net/content/groups/public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
改好后保存,再次执行 maven ...
应该就可以了。
第一个小程序,数字累加
public class StormDemo {
/**
* 创建spout
* @author Administrator
*
*/
public static class MySpout extends BaseRichSpout{
Map conf;
TopologyContext context;
SpoutOutputCollector collector;
int i;
//这是一个死循环,会不停的被调用
public void nextTuple() {
this.collector.emit(new Values(i++));
}
/**
* 初始化方法,只会被执行一次,在这里面可以执行一些初始化的操作
* Map conf 配置类,tolplogy的配置信息
* TopologyContext context tolplogy的上下文
* SpoutOutputCollector collector 发射器,向外发射数据
*/
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
this.conf = conf;
this.context = context;
this.collector = collector;
}
//声明输出字段,给发送出去的数据相应的起个名字
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(new Fields("num"));
}
}
public static class MyBolt extends BaseRichBolt{
Map stormConf;
TopologyContext context;
OutputCollector collector;
int sum;
//会被循环调用,只要spout发送一个tuple,这边就会被调用一次
public void execute(Tuple input) {
Integer value = input.getIntegerByField("num");
sum += value;
System.out.println("sum="+sum);
}
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
this.stormConf = stormConf;
this.context = context;
this.collector = collector;
}
//只有spout中的nexttuple或者bolt中的execute中执行了emit发射功能,才需要在这里声明输出字段
public void declareOutputFields(OutputFieldsDeclarer arg0) {
}
}
public static void main(String[] args) {
TopologyBuilder topologyBuilder = new TopologyBuilder();
topologyBuilder.setSpout("aa", new MySpout());
topologyBuilder.setBolt("bb", new MyBolt()).shuffleGrouping("aa");
//创建一个本地集群来运行topology任务
LocalCluster localCluster = new LocalCluster();
localCluster.submitTopology("localTopology", new Config(), topologyBuilder.createTopology());
}
}
- STORM
- storm
- Storm
- storm
- storm
- storm
- storm
- storm
- storm
- storm
- Storm
- storm
- storm
- storm
- Storm
- Storm
- Storm
- storm
- Java的同步容器和并发容器
- UIButton 文字在左,icon在右的办法
- 【原创】docker源码分析(4)---execdriver
- 使用ppa安装code::blocks16.01
- 堆内存和栈内存详解(转载)
- storm
- Java并发编程:synchronized
- 数据库的原理
- myeclipse下安装js提示工具spket
- PHP 上传保存文件
- Android调用系统拍照获取图片问题
- Linux 之 tar命令
- 移动端报表JS开发示例--获取定位
- 213 - Message Decoding