1、首先安装依赖包
[root@Hadoop-NN-01 ~]# yum install uuid* [root@Hadoop-NN-01 ~]# yum install libuuid [root@Hadoop-NN-01 ~]# yum install libuuid-devel [root@Hadoop-NN-01 ~]# yum install libtool [root@Hadoop-NN-01 ~]# yum install e2fsprogs [root@Hadoop-NN-01 ~]# yum install e2fsprogs-devel
2、安装 zeromq
下载:http://download.zeromq.org/zeromq-4.1.2.tar.gz
解压:tar xzf zeromq-4.1.2.tar.gz
编译安装:
./configure --without-libsodium
make
make install
sudo ldconfig
3、安装 jzmq (先安装JDK)
安装git:
yum install git git clone git://github.com/nathanmarz/jzmq.git cd jzmq
或
如果不安装git,则使用wget:
wget https://codeload.github.com/zeromq/jzmq/zip/master unzip jzmq-master.zip cd jzmq-jni/
编译安装:
./autogen.sh ./configure make make install
4、安装 Python(CentOS自带python2.6可以略过此步)
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar -zxvf Python-3.5.0.tgz cd Python-2.7.2 ./configure make make install
安装完后:
vi /etc/ld.so.conf 追加 /usr/local/lib/
5、安装 zookeeper
参考文档:http://www.cnblogs.com/hunttown/p/5452138.html
6、安装 storm
下载:http://mirror.bit.edu.cn/apache/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz
解压:tar -zxvf apache-storm-0.9.6.tar.gz
设置环境变量:
[root@Hadoop-NN-01 ~]# vim /etc/profile #storm export STORM_HOME=/home/hadoopuser/apache-storm-0.9.6 export PATH=$PATH:$STORM_HOME/bin [root@Hadoop-NN-01 ~]# source /etc/profile #使环境变量生效
7、配置
storm配置文档:https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml
[root@Hadoop-NN-01 conf]# vim storm.yaml #注意yaml格式的要求,注意在每一项的开始时要加空格,冒号后也必须要加空格,否则storm就不认识这个配置文件了 storm.zookeeper.servers: - " Zookeeper-01" - " Zookeeper-02" - " Zookeeper-03" # storm.zookeeper.port : 2181 #非默认端口时配置 nimbus.host: " Hadoop-NN-01" nimbus.thrift.port: 6627 storm.zookeeper.port: 2181 storm.local.dir: "/home/hadoopuser/apache-storm-0.9.6/tmp" supervisor.slots.ports: - 6700 - 6701 - 6702 # to nimbus 1G够用了 nimbus.childopts: "-Xmx1024m" # to supervisor 1G够用了 supervisor.childopts: "-Xmx1024m" # to worker 作业一般可以给的大一些,因为要处理数据。一般给4G以上。 worker.childopts: "-Xmx4096m"
Storm集群中有两种节点,一种是控制节点(Nimbus节点),另一种是工作节点(Supervisor节点)。所有Topology任务的提交必须在Storm客户端节点上进行需要配置~/.storm/storm.yaml文件,由Nimbus节点分配给其他Supervisor节点进行处理。
mkdir ~/.storm
cp /home/hadoopuser/apache-storm-0.9.6/conf/storm.yaml ~/.storm/storm.yaml
#修改hosts(可省略):
nimbus节点hosts改为 nimbusHost
supervisor节点hosts改为 supervisorHost1…...x
#进程说明:
zkServer nimbus, supervisor 和 ui
storm nimbus & 要等待一会直到出现---- backtype.storm.daemon.nimbus
storm supervisor & 要等待一会直到出现---- storm.daemon.supervisor
storm ui & 要等待一会直到出现---- properties backtype.storm.ui.core
jps 可以查看各个进程的运行状态
core 对应的进程是 Storm UI
Jps 对应的进程是 Java jps
nimbus 对应的进程是 Storm nimbus
supervisor 对应的进程是 Storm supervisor
QuorumPeerMain 对应的进程是 zkServer.sh
8、启动storm
#启动zookeeper: [root@Hadoop-NN-01 ~]# zkServer.sh start #启动Storm: [root@Hadoop-NN-01 ~]# storm nimbus & #后台启动 [root@Hadoop-NN-01 ~]# storm supervisor & [root@Hadoop-NN-01 ~]# storm ui &
浏览器中查看状态:http://192.168.107.82:8080/
9、提交作业(topology)
[root@Hadoop-NN-01 ~]# storm jar xxxx.jar storm.starter.WordCountTopology arg1 arg2 arg3
10、关闭作业
[root@Hadoop-NN-01 ~]# storm kill topologyname
注意事项:
1、Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
2、经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。
3、为了方便使用,可以将bin/storm加入到系统环境变量中。