通过streamparse向storm集群提交拓扑

disho6za  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(412)

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

它是否执行与此文件相关的操作?请帮忙。。。

mdfafbf1

mdfafbf11#

我假设您首先使用以下命令创建wordcount项目: sparse quickstart wordcount 在本例中,“wordcount”将是使用 sparse run 命令。现在如果你想提交另一个拓扑,比如 mytopology ,则必须创建另一个名为 mytopology 并编辑 config.json 文件以适应您的技术环境。你不能像我猜的那样复制和重命名“wordcount”项目的文件夹,因为“wordcount”出现在你的文件夹中 project.clj 文件。

相关问题