最近在研究流式特征处理,所以搭建了storm集群环境,把过程发出来,以备后续查看。
安装包准备
jdk: oracle官网下载的jdk1.8.0_181版本
zookeeper: zookeeper下载的zookeeper-3.4.12版本
storm: storm下载的apache-storm-1.2.2版本
配置环境变量
1 |
|
配置zookeeper
修改配置文件
zookeeper需要修改ZOOKEEPER_HOME/conf/zoo.cfg文件,加入下列信息
1 |
|
其中dataDir是zookeeper的数据文件目录;server.id=host:port:port,其中id是每个节点的编号,这个编号需要在dataDir目录下创建myid文件中写入,m7-pce-hdp01~m7-pce-hdp03是hostname,第一个port用于连接leader的端口,第二个port用于连接leader的选举端口。
启动zookeeper
执行ZOOKEEPER_HOME/bin/zkServer.sh启动zookeeper,并执行zkServer.sh status,查看是否启动成功
配置storm
storm配置文件在STORM_HOME/conf/storm.yaml,需要配置一下几个信息
配置zookeeper列表
1 |
|
配置nimbus
1 |
|
配置storm本地dir
1 |
|
配置supervisor.slots.ports
supervisor.slots.ports是指每个机器可以启动多少个worker,一个端口号代表一个worker
1 |
|
启动Storm集群
启动nimbus集群
1 |
|
用jps查看后台线程会发现多了nimbus(先显示config value,配置正确后变成nimbus)
启动supervisor
1 |
|
用jps查看后台线程出现Supervisor
启动监控ui
1 |
|
用jps查看后台线程出现core
在浏览器中输入“http://m7-pce-hdp01:8080/index.html”即可看到
提交任务
集群配置完,我们开始向集群提交任务。
配置本地storm
需要在storm.yaml文件中配置nimbus
1 |
|
准备程序
在STORM_HOME/examples下有很多示例代码,我们选用storm-starter进行测试。这里需要用maven进行打包,执行mvn package就行。然后我们就能在target文件夹下找到storm-starter-1.2.2.jar,一会就提交它。
提交任务
1 |
|
然后输入storm list
1 |
|
也可以进入ui页面进行查看运行状态。storm任务运行完也不会停止,需要手动kill。
总结
以上就是storm集群的搭建过程,很简单,基本上没遇到什么问题。