1.下载安装包
http://storm.apache.org/downloads.html
wget https://archive.apache.org/dist/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz
2.解压缩至指定目录
tar -zxf apache-storm-1.1.0.tar.gz -C /usr/local/
3.修改配置文件
3.1 创建storm数据目录和日志目录
[root@bigdata ~]# mkdir -p /data/storm/logs
[root@bigdata ~]# mkdir -p /data/storm/db
3.2 vim storm.yaml
cd /usr/local/apache-storm-1.1.0/conf
storm.zookeeper.servers: ["bigdata"]
storm.zookeeper.port: 2181
#nimbus.seeds指定的时候最好指定主机名,否则在webui界面查询的时候会重复显示节点信息
nimbus.seeds: ["bigdata"]
storm.local.dir: "/data/storm/db"
storm.log.dir: "/data/storm/logs"
ui.port: 18088
#对于每一台worker机器,它决定了这台机器一共可以运行多少个worker进程。每个worker进程会独占一个端口来接收消息,这个参数就是配置了哪些端口会分配给worker进程。
#如果你在这配置了5个端口,那么storm将能分配5个worker进程给这台机器,如果配置3个端口,那么storm也只能分配3个worker进程。storm默认分配4个worker进程到6700,6701,6702,6703端口。
#建议:一般跟CPU核数成比例:core * n(n>=1),不一定是1,如果任务压力不大,也可能是2、3,如果任务计算压力大,一般是1
supervisor.slots.ports:
- 6700
- 6701
supervisor.childopts: "-Xmx512m -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=20001"
storm.messaging.netty.buffer_size: 5242880
storm.messaging.netty.max_retries: 100
storm.messaging.netty.max_wait_ms: 20000
supervisor.worker.start.timeout.secs: 600
supervisor.worker.timeout.secs: 600
nimbus.task.timeout.secs: 600
nimbus.supervisor.timeout.secs: 600
#worker内存:默认情况下,Storm启动worker进程时,JVM的最大内存是768M。使用过程中,由于可能会在Bolt中加载大量数据,768M内存无法满足需求,会导致内存溢出程序崩溃。
#可以通过在Strom的配置文件storm.yaml中设置worker的启动参数:
worker.childopts: "-Xmx512m"
storm.zookeeper.connection.timeout: 30000
storm.zookeeper.session.timeout: 2000000
storm.zookeeper.root: "/storm"
drpc.servers: ["bigdata"]
4. 启动服务
4.1 启动主节点服务 nimbus
(bin/storm nimbus >/data/logs/storm_start.log 2>&1 &)
[root@bigdata apache-storm-1.1.0]# bin/storm nimbus >/data/logs/storm_start.log 2>&1 &
[1] 7135
[root@bigdata apache-storm-1.1.0]# tail -f /data/logs/storm_start.log
4.2 启动web ui监控页面
(bin/storm ui >/data/logs/storm_start_ui.log 2>&1 &)
访问storm web ui http://bigdata:18088
4.3 启动从节点服务 supervisor
(bin/storm supervisor >/data/logs/storm_start_supervisor.log 2>&1 &)
4.4 启动页面日志监控服务 logviewer
(bin/storm logviewer >/data/logs/storm_start_logviewer.log 2>&1 &)
5. 检查(主/备)服务状态
7624 logviewer -- 日志监控服务
24249 QuorumPeerMain -- zookeeper
7452 Supervisor
26557 Kafka
7293 core -- ui
7135 nimbus
6. 服务停止
由于storm没有停止命令,采用kill -9 进程号的形式停止服务