Apache Storm是一个免费的开源分布式实时计算系统。Apache Storm使可靠地处理无界数据流变得容易,为实时处理做了Hadoop为批处理做的事情。Apache Storm很简单,可以和任何编程语言一起使用,使用起来很有趣!Apache Storm有很多用例:实时分析、在线机器学习、连续计算、分布式RPC、ETL等等。ApacheStorm速度很快:一个基准测试显示每个节点每秒处理超过一百万个元组。它是可扩展的,容错的,保证您的数据将被处理,并且易于设置和操作。
Apache Storm集成了您已经使用的排队和数据库技术。Apache Storm拓扑消耗数据流,并以任意复杂的方式处理这些流,根据需要在计算的每个阶段之间重新划分这些流。阅读教程中的更多内容。
1. 安装相关包
/home/jerry#sudo apt-get install libtool /home/jerry#sudo apt-get install autoconf /home/jerry#sudo apt-get install automake /home/jerry#sudo apt-get install g++ /home/jerry#sudo apt-get install uuid /home/jerry#sudo apt-get install python |
(一般ubuntu会自带Python,不需要下载)
2. 安装Zeromq
下载zeromq-4.0.10.zip,下载地址https://github.com/zeromq/zeromq4-x/releases/download/v4.0.10/zeromq-4.0.10.zip
进入解压后的文件夹在/usr/local/zeromq/,依次执行:
/usr/local/zeromq#./configure /usr/local/zeromq#apt install make /usr/local/zeromq#make |
3. 安装jzmq
jzmq是JNI封装的ZMQ的Java库,storm需要通过它来使用ZMQ,我下载的是3.1.0版本的。下载地址:https://github.com/zeromq/jzmq/archive/v3.1.0.zip
进入解压后的文件夹在/usr/local/jzmq/,依次执行
/usr/local/jzmq#apt-get install libzmq3-dev /usr/local/jzmq#./autogen.sh /usr/local/jzmq#./configure /usr/local/jzmq#make |
4、启动zookeeper
5、安装storm
下载apache-storm-2.0.0-src.tar.gz,注意不要下载apache-storm-src-2.0.0-src.tar.gz
/home/jerry#tar -xzf apache-storm-2.0.0-src.tar.gz -C /usr/local /home/jerry#cd /usr/local /usr/local#mv apache-storm-2.0.0 storm /usr/local#gedit ~/.bashrc |
export STORM_HOME=/usr/local/storm
export PATH=$PATH:$STORM_HOME/bin
/usr/local#source ~/.bashrc /usr/local#cd storm /usr/local/storm#mkdir stormlocaldir /usr/local/storm#gedit conf/storm.yaml |
storm.zookeeper.servers:
- "127.0.0.1"
nimbus.host: "127.0.0.1"
storm.local.dir: /usr/local/storm/stormlocaldir
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
6、启动storm
1)启动zookeeper
/usr/local/storm#zkServer.sh start |
2)启动storm numbus
/usr/local/storm#bin/storm nimbus & |
3)启动Storm supervisor
/usr/local/storm#./storm supervisor & |
7、检查
/usr/local/storm# jps 61648 nimbus 2864 JobHistoryServer 2705 SecondaryNameNode 2470 DataNode 61846 Supervisor 62135 Jps 2327 NameNode 3197 HQuorumPeer |