如下是依次须要完成的安装步骤html
1、安装JDK1.6java
2、安装Zookeeperc++
3、安装zeromq-2.1.7apache
4、安装jzmqide
5、安装Python-2.7.2post
6、安装unzip测试
7、安装Stormui
1、下载并安装JDK1.6 并设置环境变量,如:url
export JAVA_HOME=/opt/java6spa
export PATH=$PATH:$JAVA_HOME/bin
运行java、javac命令,测试java正常安装。
2、安装zookeeper
简易安装:下载zookeeper-3.4.6.tar.gz放到/opt目录,而后修改/opt/zookeeper-3.4.6/data/myid 文件中的序列号,最后到bin目录下./zkServer.sh start 启动
完整安装:
安装zookeeper(至少安装2n+1台,n>0,也就是说不能安装两台,因此每套环境只安装了一台)
一、下载zookeeper:wget http://mirror.esocc.com/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 放到opt目录下
二、将conf目录下的 zoo_sample.cfg复制为zoo.cfg
三、编辑zoo.cfg
3.一、添加server(单机模式就不用改了,集群模式要添加以下:)
server.1=zookeeper1:2888:3888 (节点ip及端口)
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
3.2 添加配置项,说明数据文件路径
dataDir=/opt/zookeeper-3.4.6/data/
四、在/opt/zookeeper-3.4.6/data/ 目录下新建myid文件,并编辑为server.id中的id号,如一、二、3
五、启动zookeeper:/opt/zookeeper-3.4.6/bin/zkServer.sh start
六、查看状态:/opt/zookeeper-3.4.6/bin/zkServer.sh status
七、中止zookeeper进程:/opt/zookeeper-3.4.6/bin/zkServer.sh stop
3、安装zeromq-2.1.7(安装过程当中若出现失败,请关注注意事项)
一、下载并解压zeromq-2.1.7
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar -zxf zeromq-2.1.7.tar.gz
二、执行如下命令
cd zeromq-2.1.7
./configure
make
make install
4、安装jzmq
一、下载并解压jzmg
二、执行如下命令
cd jzmq
./autogen.sh
./configure
make
make install
5、安装Python-2.7.2
一、下载并解压Python-2.7.2
二、执行如下命令
cd Python-2.7.2
./configure
make
make install
6、安装unzip
yum install unzip
7、安装storm-0.8.0
一、下载并解压storm-0.8.0
二、修改${storm}/conf/storm.yaml配置文件
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式以下:
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
若是Zookeeper集群使用的不是默认端口,那么还须要storm.zookeeper.port选项。
2) storm.local.dir: Nimbus和Supervisor进程用于存储少许状态,如jars、confs等的本地磁盘目录,须要提早建立该目录并给以足够的访问权限。而后在storm.yaml中配置该目录,如:
storm.local.dir: "/state/partition1/tmp/storm"
3) java.library.path: Storm使用的本地库(ZMQ和JZMQ)加载路径,默认为"/usr/local/lib:/opt/local/lib:/usr/lib",通常来讲ZMQ和JZMQ默认安装在/usr/local/lib 下,所以不须要配置便可。
4) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工做节点须要知道哪一个机器是Nimbus,以便下载Topologies的jars、confs等文件,如:
nimbus.host: "111.222.333.444"
5) supervisor.slots.ports: 对于每一个Supervisor工做节点,须要配置该工做节点能够运行的worker数量。每一个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认状况下,每一个节点上可运行4个workers,分别在6700、670一、6702和6703端口,如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
3 启动Storm各个后台进程
如下是启动Storm各个后台进程的方式:
a、Nimbus: 在Storm主控节点的${storm}/bin目录上运行"nohup storm nimbus &"启动Nimbus后台程序,并放到后台执行;
b、Supervisor: 在Storm各个工做节点的${storm}/bin目录上运行"nohup storm supervisor &"启动Supervisor后台程序,必须先启动主节点并放到后台执行;
c、UI: 在Storm主控节点的${storm}/bin目录上运行"nohup storm ui &"启动UI后台程序,并放到后台执行,启动后能够经过
http://nimbus host:9090/ 观察集群的worker资源使用状况、Topologies的运行状态等信息。
至此,Storm集群已经部署、配置完毕,能够向集群提交拓扑运行了。
启动目前项目的各个job在$STORM_HOME/bin目录下
只要在主节点启动,jar包也放主节点上
参数:名称,进程数NumWorkers(默认值为各个topology后面的值)
storm jar stormtopology.jar com.hc360.storm.MyTopology MyTopology 3;
经过UI去查看各个job是否成功启动:
http://nimbus host:9090/
关闭各个job的命令以下:
在$STORM_HOME/bin目录下
storm kill MyTopology;
注意事项:
1.配置hosts文件 (注意:localhost采起默认127.0.0.1,不要改动)
vi /etc/hosts
配置环境变量(jdk,storm):
vi /etc/profile
2.No route to host
出现上面错误的缘由有多是:防火墙没有关闭
iptables -l
3.中途失败,按照提示先安装其余库
yum install libtools
yum install gcc-c++
yum install uuid-devel
yum install libuuid-devel
4.Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
5.经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,不然UI没法正常工做,由于UI进程会检查本机是否存在Nimbus连接。
6.为了方便使用,能够将bin/storm加入到系统环境变量中。