背景
这篇笔记原来是记录在印象笔记中的,没有发布到博客中,这次我重新整理一下发布上来,希望给读者以参考。
Storm的部署手册
Zookeepr的部署
-
下载完毕后,放到/usr/local下,并使用tar -zxvf 命令解压
-
在 /etc/profile 增加环境变量
-
在${ZOOKEEPER_HOME}下增加两个目录dataDir和dataLogDir
-
修改 conf/zoo_simple 为 zoo.cfg
-
vim conf/zoo.cfg 主要目的有两个
-
增加对应配置项
-
把定时清理日志的注释打开 :客户端在与zookeeper交互过程中会产生非常多的日志,而且zookeeper也会将内存中的数据作为snapshot保存下来,这些数据是不会被自动删除的,这样磁盘中这样的数据就会越来越多。不过可以通过这两个参数来设置,让zookeeper自动删除数据。
-
autopurge.snapRetainCount:设置保留多少个snapshot,之前的则删除
-
autopurge.purgeInterval:设置多少小时清理一次
-
- 使用 ZkServer.sh start 启动服务即可。
Storm的部署
-
官网下载storm,并解压到/usr/local
-
修改配置文件storm.yaml
-
替换worker.xml为自己项目的配置文件
-
利用脚本启动
#!/bin/bash
# start zookeeper
zkServer.sh start
nohup /usr/local/apache-storm-1.2.3/bin/storm nimbus &
nohup /usr/local/apache-storm-1.2.3/bin/storm supervisor &
nohup /usr/local/apache-storm-1.2.3/bin/storm ui &
- 提交任务
#!/bin/bash
storm jar ~/Downloads/stormfortest-1.0-SNAPSHOT.jar cn.net.icomp.stormspring.StartStorm startstorm
部署要点
-
注意日志量
- 业务日志量:warn级别,其他为info;调试的时候,可以用ui直接修改日志级别
- gc日志量:storm默认启动参数为 保存最近10个gc文件
-
Zookeeper Nimbus 和 supervisor守护进程,使用daemontools,自动检测启动
-
arthas监控工具
-
storm核心守护线程的自动恢复工具,详情见这篇博客的最后。