https://streamparse.readthedocs.io/en/master/quickstart.html
streamparse 是python中用来操控storm的一个模块。上文给出了streamparse的快速上手的文档。
但是本人在使用中出现了各种意外。
以下三点是本人经过无数次尝试后的成功经验
注意:不要使用root账号操作
streamparse 中 有依赖 lein ,lein 需要使用非root账户(使用root账户有坑,这里不做详细叙述)
1. 不要使用最新的storm,1.1.0 版本的即可
使用下面的命令下载
wget https://archive.apache.org/dist/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz
2. 解压
解压命令 tar -xvf <刚才的压缩包>
之后cp -r <解压后的目录> 到 /opt/下 。这里只是为了方便管理,解压到哪个目录实际无硬性规定。
3 创建logs 文件夹
之后在 /opt/apache-storm-1.1.0 目录下 创建 logs 文件夹,并更改权限(本人直接chmod -R 777 logs )
4 设置storm 的环境变量
vim ~/.bashrc
export STORM_HOME=/opt/apache-storm-1.1.0/
export STORM_PATH=/opt/apache-storm-1.1.0/bin/
export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.2-bin/
export ZOOKEEPER_PATH=/opt/apache-zookeeper-3.6.2-bin/bin/
export PATH=$PATH:$STORM_HOME/bin:$ZOOKEEPER_HOME/bin
这里本人还加上了zookeeper 的环境变量
zookeeper 如何 安装,配置,这里不做说明
5 配置 project.clj
这里需要注意 ,使用 sparse quickstart wordcount 后 生成的wordcount目录中 ,有个配置文件
project.clj,里面有些配置需要更改
(defproject wordcount "0.0.1-SNAPSHOT"
:resource-paths ["_resources"]
:target-path "_build"
:min-lein-version "2.0.0"
:jvm-opts ["-client"]
:dependencies [[org.apache.storm/storm-core "1.1.0"]
[org.apache.storm/flux-core "1.1.0"]]
:jar-exclusions [#"log4j\.properties" #"org\.apache\.storm\.(?!flux)" #"trident" #"META-INF" #"meta-inf" #"\.yaml"]
:uberjar-exclusions [#"log4j\.properties" #"org\.apache\.storm\.(?!flux)" #"trident" #"META-INF" #"meta-inf" #"\.yaml"]
)
;; never do this
(require 'cemerick.pomegranate.aether)
(cemerick.pomegranate.aether/register-wagon-factory!
"http" #(org.apache.maven.wagon.providers.http.HttpWagon.))
除了依赖需要写成对应的storm版本--1.1.0,可能还需要配置仓库非https的配置。 https://blog.csdn.net/qq_33634196/article/details/108775734