内容简介:年前准备的大数据日志平台系统文章,缺少Storm环节,之前开发是在eclipse中直接跑的Storm,计划赶不上变化!Storm 1.2.2在Windows下跑得比较闹心。Storm 1.2.2 在windows 7下试玩,就是一个虐心之路,需要耐心需要一点一点排除问题。完整的看完本文,可以有如下收获:年前的部署都是在windows下进行,后续将进行Docker+linux下的大数据环境配置实验,感兴趣的小伙伴可以关注本公众号。玩开源有一个需要重点注意的地方,不同的版本兼容性不一样,本次大数据实验是在win
年前准备的大数据日志平台系统文章,缺少Storm环节,之前开发是在eclipse中直接跑的Storm,计划赶不上变化!Storm 1.2.2在Windows下跑得比较闹心。Storm 1.2.2 在windows 7下试玩,就是一个虐心之路,需要耐心需要一点一点排除问题。完整的看完本文,可以有如下收获:
- 能征服windows 7+Storm 1.2.2的配置
- 能跑起Storm Topology并查看拓扑的实时运行图,截取Storm Topology Visualization 图片,如本文封面。
- 收获跑storm1.2.2典型问题的三个文章链接,亲测好用,疗效显著
Docker+Linux部署大数据环境预告
年前的部署都是在windows下进行,后续将进行Docker+linux下的大数据环境配置实验,感兴趣的小伙伴可以关注本公众号。
写在前面
玩开源有一个需要重点注意的地方,不同的版本兼容性不一样,本次大数据实验是在windows 7 +storm 1.2.2 + zookeeper-3.4.12 的搭配下进行,其他环境下仅供参考。zookeeper-3.4.12部署与搭建请参考:
大型互联网平台日志系统(FileBeat+Kafka+LogStash+Elastic+Storm+MySql)小白的入门实战篇
总结如下:
一、cmd命令无法使用,跳过cmd命令,直接使用 python 命令
不要使用storm自带的storm.cmd,重要的事情再说一遍,直接使用storm.py去跑命令
storm.cmd提示被抛弃了,要使用storm.ps1,执行powsershel,提示问题:
$PSCommandPath为空,
Python Version 解析失败
修复方案一:$PSCommandPath为空,可升级为PowserShell 3.0 或者硬配置为当前路径
修复方案二:Python Version 使用PowerShell简单调试一下,可以修正为:
$PythonVersion = (& python -V 2>&1).ToString().Split(” “)[1];
cmd\powershell都被我跳过了,cmd,powershell一顿如狼似虎的操作,最后也是调用python,再去调java,所以直接忽略cmd/powsershell,使用如下命令:
命令执行位置:
D:\BigData\apache-storm-1.2.2\apache-storm-1.2.2\bin
常用的几个命令:
python storm.py nimbus
python storm.py supervisor
python storm.py ui
默认UI端口是8080
python storm.py jar [xxxx].jar [带命名空间的topology] [topology别名-可任性取名]
取个例子:
D:\BigData\apache-storm-1.2.2\apache-storm-1.2.2\bin>python storm.py jar storm-starter-1.2.2.jar storm.starter.StatefulTopology StatefulTopology
二、apache-storm-1.2.2.tar.gz自带Demo,编译不容易
apache-storm-1.2.2.tar.gz中自带了丰富的示例代码,因为太丰富了,所以问题也来了。
2.1 太多Demo,反而不利于starter
提示找不到kafka-avro-serializer-1.0.0.jar,maven中心库没有这个,需要另外配置存储库,而我只是一个starter,想快速的跑起storm,并不想kafka!
解决方案,配置maven存储库:
通常所在位置:
C:\Users\Administrator\.m2\settings.xml
修改mirrors节点
<mirrorOf>*,!confluent</mirrorOf>
增加一个新的repository
<repository> <id>confluent</id> <url>http://packages.confluent.io/maven/</url> </repository>
2.2 多种开发语言支持,drpc,Too Much Under A JAR For Starter.jar
编译完之后,这个新人启航的jar包有100多mb,其实我只想是跑个超级简单的demo来看一下效果。连踩2个坑,一个是多语言能力展示,用 java 包裹python代码,跑不起来,一个是用java包裹node.js,也没有跑成功。本想,一个一个问题kill掉,但是网上的套路都不管用。暂时先不管Storm的多语言支持。另一个是drpc服务,二次选择topology,踩到 drpc了,配置完drpc,还是不管用,再次跳过,目前也没有这个使用场景。最后,仔细的找了一个简单的,纯java血统的topology: StatefulTopology
三、其他问题
向 storm 提交 jar 包后,访问 http://localhost:8080/index.html 有时候能看到topology,但是没有节点跑。等了一会儿也没有。解决方案:将storm 中的topology kill掉, nimbus,supervisor,ui全部停了,重新提交一遍。大概在第三遍的时候出来了,懵逼的状态【可能哪一步做错了】~~截到图:
2.3 又见PowerShell
storm.ps1的错误提示,真心不够友好!为了检测python版本是否符合要求,写了好几行ps代码,结合ps代码本身也有版本要求。
$PSCommandPath 为空,代码直接报错
这段ps1 ,应该有提示ps版本问题。
或者,应该是有一个前置安装检查的脚本或工具,引导玩家或自动处理前置安装问题,这样子才会更加好友。这个方面微微软的sqlserver安装向导就做得比较好~
PowerShell 未经数字签名 系统将不执行该脚本
set-executionpolicy Bypass
写在后面
python storm nimbus这种命令方式是同事告诉我的,不然还在坑里爬。本来windows 7 + Storm就是非常规的组合,只是想把windows系列的文章写全了,跑通,所以才挣扎了这么久。感觉从事开源,就像一个自己的舞台,大家很努力的做一个storm,别人用得是那么的闹心,虽然官方提供了那么多文档那么多示例。storm.cmd , storm.ps1的提示真心留下了阴影。期待下一波Docker+linux玩转大数据吧,同样是zookeeper,filebeat,kafka,storm,elasticsearch等,一步一步亲测,全部跑通!
参考链接:
找不到kafka-avro-serializer-1.0.0.jar
https://stackoverflow.com/questions/43488853/confluent-maven-repository-not-working
PowerShell版本问题
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rework
Jason Fried、David Heinemeier Hansson / Crown Business / 2010-3-9 / USD 22.00
"Jason Fried and David Hansson follow their own advice in REWORK, laying bare the surprising philosophies at the core of 37signals' success and inspiring us to put them into practice. There's no jarg......一起来看看 《Rework》 这本书的介绍吧!