我正在尝试使用streamparse开发并将拓扑提交到风暴群集。
由于streamparse有默认的wordcount拓扑来帮助用户测试集群,我在网上找到的大多数教程都是关于向风暴集群提交这个默认的wordcount示例。
我的问题是如何提交我自己的拓扑?例如,我有一个名为' mytopology'的拓扑。根据streamparse的文档,我试过
sparse submit --environment prod --name mytopology
我的配置文件是
{
"serializer": "json",
"topology_specs": "topologies/",
"virtualenv_specs": "virtualenvs/",
"envs": {
"prod": {
"user": "userx",
"ssh_password": "mypasswd",
"nimbus": "10.XXX.XX.210",
"workers": ["10.XXX.XX.206"],
"log": {
"path": "/home/userx/stormapp/splog",
"max_bytes": 1000000,
"backup_count": 10,
"level": "info"
},
"virtualenv_root": "/home/userx/stormapp/venv"
}
}
}
然而,日志显示
JAR created: _build/wordcount-0.0.1-SNAPSHOT.jar
已创建并提交给Nimbus。
不是
--name mytopology
应该找到mytopology.py并构建类似mytopology.jar的东西并提交给它?
然后我检查了project.clj文件,顶行是
defproject wordcount "0.0.1-SNAPSHOT"
现在令人困惑。我还应该配置这个文件吗?当我做的时候
sparse submit --environment prod --name mytopology
它会执行与此文件相关的操作吗?请帮忙......
答案 0 :(得分:0)
我想您首先使用以下命令创建了wordcount项目:sparse quickstart wordcount
在这种情况下,“ wordcount”将是使用sparse run
命令提交给Storm的拓扑名称。
现在,如果您要提交另一个拓扑,例如mytopology
,则必须创建另一个名为mytopology
的快速入门项目,并编辑config.json
文件以适合您的技术环境。您可能无法像我想的那样复制并重命名“ wordcount”项目的文件夹,因为“ {count}”出现在project.clj
文件中。