我正在尝试使用streamparse来开发拓扑并将其提交给storm集群。
因为streamparse有它的默认wordcount拓扑来帮助用户测试集群,所以我可以在网上找到的大多数教程都是关于将这个默认wordcount示例提交给storm集群的。
我的问题是如何提交我自己的拓扑?例如,我有一个名为“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
它是否执行与此文件相关的操作?请帮忙。。。
1条答案
按热度按时间mdfafbf11#
我假设您首先使用以下命令创建wordcount项目:
sparse quickstart wordcount
在本例中,“wordcount”将是使用sparse run
命令。现在如果你想提交另一个拓扑,比如mytopology
,则必须创建另一个名为mytopology
并编辑config.json
文件以适应您的技术环境。你不能像我猜的那样复制和重命名“wordcount”项目的文件夹,因为“wordcount”出现在你的文件夹中project.clj
文件。