各版本Linux安装可能都不太一样,这里我用的还是自己的Ubuntu15.04工作机来安装的。
生产环境可能是CentOS或者其他版本Linux
如果使用Netty作为消息中间件的话,可以不用安装zeromq,jzeromq
- 安装Python
- 安装JDK配置
- 安装unzip
以上安装参考:Ubuntu工作环境搭建
- 安装Zookeeper
Zookeeper安装参考:ZooKeeper安装与配置
- 安装zeromq
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
sudo make install
sudo ldconfig
个人Ubuntu下配置编译环境时出错,记录如何解决:
configure: error: cannot link with -luuid, install uuid-dev.
sahinn@sahinn:~/soft/storm/zeromq-2.1.7$ sudo apt-get install uuid-dev
如果没有root权限,或当前用户无sudo权限时,
执行 “ ./configure --prefix=/home/xxxxx” 替换 “./configure”, 其中/home/xxxx 为安装目标目录
- 安装jzmq
git clone git://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
运行autogen,make时出错出错
#以下是运行autogen出错
sahinn@sahinn:~/soft/storm/jzmq$ ./autogen.sh
autogen.sh: error: could not find libtool. libtool is required to run autogen.sh.
sahinn@sahinn:~/soft/storm/jzmq$ sudo apt-get install libtool
#Ubuntu15.04上安装后默认是libtoolize,加个软连接
sahinn@sahinn:~/soft/storm/jzmq$ sudo ln -s /usr/bin/libtoolize /usr/bin/libtool
#接下来遇到
autogen.sh: error: could not find autoreconf. autoconf and automake are required to run autogen.sh.
sahinn@sahinn:~/soft/storm/jzmq$ sudo apt-get install autoconf
#以下是运行make出错
#注意需要创建下面的文件
cd jzmq/src
touch classdist_noinst.stamp
##重新定义CLASSPATH
CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/ZMQException.java org/zeromq/ZMQQueue.java org/zeromq/ZMQForwarder.java org/zeromq/ZMQStreamer.java
#然后
make
sudo make install
make install 如果没有root权限,或当前用户无sudo权限时,
执行 “ ./configure --prefix=/home/xxxx --with-zeromq=/home/xxxx” 替换
“./configure”, 其中/home/xxxx 为安装目标目录
安装完之后下面会生成两个jar包
sahinn@sahinn:/usr/local/share/java/zmq.jar
sahinn@sahinn:/home/sahinn/soft/storm/jzmq/perf/zmq-perf.jar
- 安装Storm
wget http://apache.fayea.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.zip
unzip apache-storm-0.9.5.zip
sahinn@sahinn:~/soft/storm$ sudo ln -s apache-storm-0.9.5/ /usr/local/storm
sahinn@sahinn:~/soft/storm$ vim ~/.bashrc
#添加以下环境变量
#Storm
export STORM_HOME=/home/sahinn/soft/storm/apache-storm-0.9.5
export PATH=$PATH:$STORM_HOME/bin
sahinn@sahinn:~/soft/storm$ source ~/.bashrc
至此,Storm安装完毕。
Storm配置
单机版配置
- 启动zookeeper:
/usr/local/zookeeper/bin/zkServer.sh 单机版直接启动,不用修改什么配置。
- 配置storm:
文件在/usr/local/storm/conf/storm.yaml
storm.zookeeper.servers:
- 127.0.0.1
storm.zookeeper.port: 2181
nimbus.host: "127.0.0.1"
storm.local.dir: "/tmp/storm"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址
- storm.zookeeper.port: zookeeper端口
- storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。
- java.library.path:Storm使用的本地库(ZMQ和JZMQ)加载路径。默认为”/usr/local/lib:/opt/local/lib:/usr/lib”,一般来说ZMQ和JZMQ默认安装在/usr/local/lib 下,因此不需要配置即可。
- nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件。
- supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口。
以下是启动Storm各个后台进程的方式:
Nimbus: 在Storm主控节点上运行”bin/storm nimbus >/dev/null 2>&1 &”启动Nimbus后台程序,并放到后台执行;
Supervisor: 在Storm各个工作节点上运行”bin/storm supervisor >/dev/null 2>&1 &”启动Supervisor后台程序,并放到后台执行;
UI: 在Storm主控节点上运行”bin/storm ui >/dev/null 2>&1 &”启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。
运行jps命令看下进程情况
sahinn@sahinn:/usr/local/storm$ jps
23659 core
23138 nimbus
12479 activemq.jar
23982 Jps
23555 supervisor
23144 QuorumPeerMain
运行ip:8080可以查看到Storm UI相关
原文链接:[Storm学习笔记]Storm安装与配置,转载请注明来源!