安装Storm
步骤:
A、搭建ZooKeeper集群
B、安装storm依赖的软件
C、安装及配置Storm
1、搭建ZooKeeper集群
2、安装storm依赖的软件
ZeroMQ 2.1.7 是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。
JZMQ 底层消息队列
Java 6
Python 2.6.6
unzip //用于解压可以不安装
ZeroMQ安装:
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar -xzvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install
JZMQ安装:
git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
sudo make install
安装时可能的报错及解决办法:
1、出现错误:configure: error: Unable to find a working C++ compiler
需要安装g++编译器:
sudo yum install gcc-c++
2、出现错误:configure: error: cannot link with -luuid, install uuid-dev.
需要安装软件包uuid-devel和libuuid-devel:
sudo yum install uuid-devel
sudo yum install libuuid-devel
3、出现错误:autogen.sh: error: could not find libtool. libtool is required to run autogen.sh.
需要安装libtool:
sudo yum install libtool
可能用到的命令:
yum install -y gcc-c++.x86_64
yum install -y uuid-devel.x86_64
yum install -y libuuid-devel.x86_64
yum install -y libtool.x86_64
yum install -y git.x86_64 //JZMQ安装使用的工具git
安装Storm
下载解压:
wget https://dl.dropboxusercontent.com/s/tqdpoif32gufapo/storm-0.9.0.1.tar.gz
tar xzvf ./storm-0.9.0.1.tar.gz
conf/storm.yaml配置文件中增加,以空格开头:
storm.zookeeper.servers:
- "master"
storm.zookeeper.port: 2181 【默认】
nimbus.host: "master"
storm.local.dir: "/opt/soft/storm-0.9.0.1/data"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
java.library.path: /usr/local/lib:/opt/local/lib:/usr/lib 【默认】
ui.port: 8081
参数解释
storm.zookeeper.servers:这是一个为Storm集群配置的Zookeeper集群的主机列表
storm.local.dir:Nimbus和Supervisor守护程序需要一个本地磁盘目录存储小量状态(像jars,confs,其它),每台机器都创建这些目录,赋可写权限
java.library.path:这是Storm使用的本地库(ZeroMQ和JZMQ)载入路径。大多数安装,默认路径"/usr/local/lib:/opt/local/lib:/usr/lib"就行,所以你可能不需要配置它。
supervisor.slots.ports: 每一台worker机器,你用这个配置来指定多少workers运行在那台机。每个worker使用单一端口接收消息,并且这个设置定义哪个端口是打开的且可以使用。如果你定义5个端口,那么Storm将在这台机分配5个worker运行。
Storm启动测试
Storm是一个快速失败(fail-fast)的系统,这意味着这些进程随时都可能因发生错误而停止。由于Storm的设计,所以它随时停止都是安全的,当进程重新启动时正确的恢复。这是为什么Storm保持进程无状态的原因-- 如果Nimbus或supervisors重新启动,正在运行的topologies是不受影响的。
Nohup挂到后台执行
1)Nimbus
在master机器的supervision下运行命令”bin/storm nimbus”
2)Supervisor
在每个worker机器的supervision下运行命令”bin/storm supervisor”。Supervisor守护程序负责starting 和 stopping 那台机上的worker进程
3)UI
运行supervision下的命令”bin/storm ui”来运行Storm UI(你能从浏览器访问一个站点,它提供集群和topologies的诊断信息)。在你的浏览器中输入” http://{nimbus host}:8081”访问UI。
补充
主节点
挂到后台启动
nohup ./storm nimbus &
启动ui
nohup ./storm ui &
启动ui就可以通过浏览器访问了
http://master:8081
可以在nimbus上再启动一台supervisor
slavel 启动
nohup ./storm supervisor &