通过streamparse将拓扑提交到storm集群

时间:2017-11-09 19:19:49

标签: jar apache-storm word-count topology streamparse

我正在尝试使用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

它会执行与此文件相关的操作吗?请帮忙......

1 个答案:

答案 0 :(得分:0)

我想您首先使用以下命令创建了wordcount项目:sparse quickstart wordcount 在这种情况下,“ wordcount”将是使用sparse run命令提交给Storm的拓扑名称。 现在,如果您要提交另一个拓扑,例如mytopology,则必须创建另一个名为mytopology的快速入门项目,并编辑config.json文件以适合您的技术环境。您可能无法像我想的那样复制并重命名“ wordcount”项目的文件夹,因为“ {count}”出现在project.clj文件中。