第一时间关注程序猿(媛)身边的故事
首先 storm 集群的搭建不再赘述, 网上有很多, 在此推荐一个:
http://blog.csdn.net/lzm1340458776/article/details/45370381
这个是一个写的不错的, 或者说比较详细的搭建步骤, 不过里面有一些坑没有填, 也可能是我遇到了, 在此提出几个搭建过程中遇到问题的解决方案, 给大家参考:
1.java .net .ConnectException
这是第一个错误, 因为目前已经测试成功, 所以就以日志的方式记录错误, 查看日志使我们开发人员必须要会的技能。
解析:一般来说这个问题就是我们的 zookeeper 出了问题, 这个是之前在搭 zookeeper 集群的时候, 二号机出了问题:
搭建好 zookeeper 的集群之后一定要先启动测试一下, 并查看每一台的 status, 确保 zookeeper 集群不要有问题。
查看状态的命令是:
../bin/zkServer.sh status
2.java.net.NoRouteToHostException
这个问题相信大家应该能很容易的发现, 还是 kafka 连接 zookeeper 失败了
这里有两个点, 还是比较简单, 但是也容易写错:
一号机:
二号机:
Zookeeper.connect 是一样的, 三号机不写了, 区分 host.name 就行。
3.拒绝连接
这个问题也是难住我了, 搜了很多资料没找到解决方案, 我简单总结一些之前的老师傅们的解决方案:
(1)关闭防火墙
可是我的电脑是 centos7,firewall 原则上不会影响, 而且默认也是关闭的, 所以这一解决方案对我来说没用了;
(2)有个老司机师父说是 zookeeper 配置了其他机器的信息, 我用的就是 zookeeper 集群啊, 当然要配其他机器的信息, 这和 storm 集群没什么冲突啊, 所以我按照他的方案试了一下, 依然没有解决问题;
(3)我自己的解决方案了
这里要谢谢 captain_hwz 这位老师傅了, 并不是说他告诉我怎么样解决这个问题, 而是他也写了一篇搭建 storm 集群的文档, 然后里面恰巧有这么一句话
这句话我看了好多篇搭建的文章都没有找到, 所以一直没有注意, 因为我在实验阶段, 没有这句话也能连接上 (虽然报错了)
所以秘密就在这解开了, 把每一台服务器上的 storm.yaml 都复制一份到/root/.storm/storm.yaml, 这样的话, 项目启动就完美运行了, 上证物:
最终
写在最后:如果上述问题都已经解决了还是没有能够正常启动, 建议关闭 storm 集群及 storm-ui, 然后依次开启 storm-nimbus,storm-supervisor(1),storm-supervisor(2),storm-ui, 注意速度不要太快, 等每一个启动成功再进行下一个步骤, 因为涉及到系统性能的问题 (我电脑配置一般,cpu 不太给力), 所以说要考虑硬件原因.
说到这, 祝大家能顺利搭建成功, 在大数据处理上再迈出一步!
领取专属 10元无门槛券
私享最新 技术干货