storm依赖的软件
ZeroMQ 2.1.7 是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。
JZMQ 底层消息队列
jdk 1.6
Python
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
下载解压:
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运行。