一:什么是Storm?
Storm是开源的一个分布式实时计算系统,用于数据的实时分析,持续计算,分布式RPC、在线机器学习、ETL等。例如,在电商购物网站购买商品时,会在网页旁边或者底端看到与自己所需要商品相关的系列商品,这就是使用类似Storm实时计算去做的。Hadoop适用于海量数据的离线数据分析,无法做到实时分析计算。
Storm系统的设计保证了消息能得到快速的处理,使用ZeroMQ作为其底层消息队列。Storm有一个"本地模式",可以在处理过程中完全模拟Storm集群,可以使我们快速进行开发和单元测试。Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快,在一个小集群中,,每个结点每秒可以处理数以百万计的消息。Storm的部署和运维都很便捷,可以使用任意编程语言来开发应用。
二:Storm环境搭建
1:需要安装的软件
jdk的下载与安装,具体步骤参考https://mp.csdn.net/postedit/84196901这篇博客
zookeeper的下载与安装,具体步骤参考https://mp.csdn.net/postedit/84201320这篇博客
storm安装包的下载
下载地址:http://mirrors.hust.edu.cn/apache/storm/apache-storm-1.2.2/
cd /usr/local/hadoop
tar -zxvf apache-storm-1.2.2.tar.gz
cd /apache-storm-1.2.2/conf/
修改配置文件storm.yaml
stom.zookeeper.servers:zookeeper集群的ip地址
nimbus.host:Storm集群中master的IP地址
storm.local.dir:配置data文件夹
ui.port:网页访问的端口号
supervisor.slots.ports:worker在运行过程中使用的端口号
注意上图中箭头位置的空格,不要去掉,否则可能会导致Storm无法正常启动
将主机器的storm传到从机器中去
scp /usr/local/hadoop/apache-storm-1.2.2/ @slave1:/usr/local/hadoop
scp /usr/local/hadoop/apache-storm-1.2.2/ @slave2:/usr/local/hadoop
修改各个主机的系统配置文件 /etc/profile
vim /etc/profile
添加export STORM_HOME=/usr/local/apache-storm-1.2.1
修改export PATH=$JAVA_HOME/bin:$STORM_HOME/bin:$PATH
然后运行source /etc/profile
三:storm集群的启动
首先,启动Zookeeper集群,具体操作看我之前搭建Zookeeper集群的博客里面有详细介绍
其次,启动Storm集群
主机器192.168.10.138 从机器:192.168.10.139、192.168.10.141
主机器(nimbus): storm nimbus &
从机器(supervisor): storm supervisor &
主机器ui运行: storm ui &
主机器logviewer运行: storm logviewer &
查看进程可以看到启动了
在浏览器中访问http://192.168.10.138:8081 ,可以查看storm的一些集群配置
这样storm的集群环境就搭建好啦。