Apache Storm集群搭建配置图文
需要JDK和Python
Zookeeper集群
解压之后配置环境变量
Source /etc/profile生效
Cd {storm}/conf
Vim storm.yaml
注意Yaml配置文件的格式问题
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
:之后留空格
反正有事没事留个空格
想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分
之后启动命令
nohup storm supervisor >/dev/null 2>&1 & nohup storm nimbus >/dev/null 2>&1 & nohup storm ui >/dev/null 2>&1 &
nohup ./storm supervisor >/dev/null 2>&1 & nohup ./storm nimbus >/dev/null 2>&1 & nohup ./storm ui >/dev/null 2>&1 &
./是在当前目录下的sh命令 ../是上一级 或者这样 ./storm supervisor ./storm nimbus ./storm ui |
哪一个可以用哪一个
使用jps查看是否成功启动
Nimbus和ui在同一个主机启动
浏览器查看{nimbus.host}:8080
遇到的一些问题:
- 因为没启动的话{storm}/logs下是没有日志文件的,或者说是没有logs这个文件夹的
所以那个时候加了一个
然后报错(用./storm supervisor启动报错)
解决方法:删掉冲突jar包(自己加的)
2.Ui启动成功,supervisor启动成功,但是nimbus启动不了
访问{nimbus.host}:8080
解决办法1:
重启Zookeeper集群
解决办法2:
查看storm.yaml是否缺少符号,有手误
3.Nimbus一开始启动成功,但是过一会自动exit了
这个时候已经启动成功了,所以有日志文件了
我是在logs目录中找到了nimbus.log文件找到了错误信息
Storm会通过获取hostname来启动storm程序,所以保持hostname和hosts一直
因为我nimbus主机没有一致,所以报runtime Exception
这两个必须一直