Storm集群安装部署
引用地址
1. 环境信息
主机名 | 操作系统版本 | IP地址 | 安装软件 |
log1 | CentOS 7.0 | 114.55.29.86 | JDK1.7、zookeeper-3.4.6、apache-storm-1.0.0 |
log1 | CentOS 7.0 | 114.55.29.241 | JDK1.7、zookeeper-3.4.6、apache-storm-1.0.0 |
log3 | CentOS 7.0 | 114.55.253.15 | JDK1.7、zookeeper-3.4.6、apache-storm-1.0.0 |
2. 安装Zookeeper集群
参见之前的文章《Zookeeper介绍及安装部署》。
3. 安装Storm集群
log1、log2和log3部署storm集群,log1作为Nimbus节点,log2和log3作为surpervisor节点。
(1)下载安装软件并解压
[root@log1 local]# wget http://apache.fayea.com/storm/apache-storm-1.0.0/apache-storm-1.0.0.tar.gz
[root@log1 local]# tar zxf apache-storm-1.0.0.tar.gz
(2)配置storm
[root@log1 ~]# cd /usr/local/apache-storm-1.0.0/
[root@log1 apache-storm-1.0.0]# vim conf/storm.yaml
- 配置Zookeeper地址(配置Zookeeper的主机名,注意: 如果Zookeeper集群使用的不是默认端口,那么还需要配置storm.zookeeper.port)
- storm.local.dir: The Nimbus and Supervisor daemons require a directory on the local disk to store small amounts of state (like jars, confs, and things like that). 在配置文件里添加一行:
storm.local.dir: "/usr/local/apache-storm-1.0.0/status"
这个status目录在storm启动的时候会自动创建,当然也可以提前创建好。
- 配置nimbus.seeds:用于配置主控节点的地址,可以配置多个。
- 配置supervisor.slots.ports
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
配置工作节点上的进程端口。你配置一个端口,意味着工作节点上启动一个worker,在实际的生产环境中,我们需要根据实际的物理配置以及每个节点上的负载情况来配置这个端口的数量。在这里每个节点我象征性的配置4个端口。
注意:以上配置,凡是有冒号的地方,冒号后都要有个空格。
log2和log3主机也是同样的配置。拷贝这台机器的storm包到log2和log3主机:
[root@log1 local]# scp -pr apache-storm-1.0.0 root@114.55.29.241:/usr/local/
[root@log1 local]# scp -pr apache-storm-1.0.0 root@114.55.253.15:/usr/local/
- 对于两台supervisor node,我们额外开启JMX支持,在配置文件中加入如下配置:
supervisor.childopts: -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9998
9998就是用于通过JMX收集supervisior JVM指标的端口。
(3)配置storm环境变量
[root@log1 apache-storm-0.10.0]# vim /etc/profile
export STORM_HOME=/usr/local/apache-storm-0.10.0
export PATH=$STORM_HOME/bin:$PATH
[root@log1 apache-storm-0.10.0]# source /etc/profile
五、启动storm ui、Nimbus和Supervisor
log1节点启动nimbus和storm ui:
[root@log1 ~]# nohup storm ui >/dev/null 2>&1 &
[root@log1 ~]# nohup storm nimbus >/dev/null 2>&1 &
log2和log3主机启动Supervisor节点:
[root@log2 ~]# nohup storm supervisor >/dev/null 2>&1 &
[root@log3 ~]# nohup storm supervisor >/dev/null 2>&1 &
启动 drpc logviewer
nohup storm
drpc >/dev/null 2>&1 &
nohup storm
logviewer>/dev/null 2>&1 &
访问ui页面: http://114.55.29.86:8080/
界面简单介绍:
- Used slots:使用的worker数。
- Free slots:空闲的worker数。
- Executors:每个worker的物理线程数。