在配置一个Storm环境之前,首先需要一个Linux操作系统。常见的linux系统有CentOS、Red Hat、Ubuntu等,我使用的是Ubuntu 14.04。系统尽量是最新的,对于旧版本的ubuntu,软件源支持不太好,apt-get install会发生错误
总的来说,storm安装配置需要如下几个步骤:
- 安装java jdk
- 安装python
- 安装zookeeper
- 安装zeromq, jzmq
- 安装storm
- 安装Java JDK
什么是JDK?JDK(Java Development Kit),即java开发工具包,java程序开发者必须安装JDK来编译、调试程序。
(1)下载
到http://www.oracle.com/technetwork/java/javase/downloads/index.html里下载需要的linux的java版本
注意:
- 选择Accept License Agreement才可以下载
下载的文件为java-8u25-linux-x64.tar.gz,放在/home/zbb/storm目录下。
(2)安装
改变工作目录到你要安装java的地方,我的是"cd /usr/local/lib"
解压:
tar -zxvf /home/zbb/storm/java-8u25-linux-x64.tar.gz
tar是linux 下的打包和解压命令行工具,具体细节可以参考”man tar”。
这个命令将 java-jdk-8u25-linux-x64.tar.gz压缩包从你下载的地方(即/home/zbb/storm)解压到当前目录(即/usr/local/lib)下。
解压缩完毕之后,执行"ls",能看到当前目录下有一个新目录叫"jdk1.8.0_25"
(3)环境变量设置
打开/etc/profile文件:
sudo gedit /etc/profile
在文件最后增加如下几行:
export JAVA_HOME=/usr/local/lib/jdk1.8.0_25 export JRE_HOME=/usr/local/lib/jdk1.8.0_25/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
(之后还会多次编辑/etc/profile,可以一次都加进去)
(4)环境变量读入
source /etc/profile
/etc/profile修改后,要用这条语句使其立即生效。
(5)在终端中键入java -version得到java version "1.8.0_25"的话表示安装好java环境了.
2. 安装Python
比较新的Ubuntu版本中已经自带了Python 2.7,无需再安装。
在终端中输入python来检测,Ctrl+Z退出python shell
3. 安装zookeeper
zookeeper是一个针对大型分布式系统的可靠协调系统。主要是状态同步用的。
它可以在这里 http://mirror.bit.edu.cn/apache/zookeeper/stable/ 下载,下载在/home/zbb/storm
cd /usr/local/lib tar -zxvf /home/zbb/storm/zookeeper-3.4.6.tar.gz
同样要修改环境变量。方法见上
将zookeeper-3.4.5/conf目录下面的 zoo_sample.cfg修改为zoo.cfg,配置文件内容如下所示:
tickTime=2000 dataDir=/home/zbb/storm/tmp/zookeeper clientPort=2181 initLimit=5 syncLimit=2
启动zookeeper服务器:
zkServer.sh start
查看zookeeper服务器状态:
zkServer.sh status
链接服务器
zkCli.sh
4. 安装zeromq和jzmq
(1) zeromq安装
从这里 http://zeromq.org/intro:get-the-software 下载zeromq
下载后会得到zeromq-4.0.5.tar.gz
解压后执行如下命令:
./autogen.sh ./configure make make install
安装时 ,可能碰到两个错误:
a. make[1]: *** 没有规则可以创建“org/zeromq/ZMQ.class”需要的目标
解决办法:
touch src/classdist_noinst.stamp
b. 没有规则可以创建按“all”所需要的目标“org/zeromq/ZMQ$Context.class”
javac -d ./src/org/zeromq/*.java
(2) jzmq安装
git clone https://github.com/nathanmarz/jzmq.git cd jzmq ./autogen.sh ./configure make sudo make install
注意:在zeromq和jzmq安装的过程中,可能会因为缺少一些部件而失败,诸如automake、g++、autoconf、libtool等,利用
apt-get install automake apt-get install g++ apt-get install autoconf apt-get install libtool
安装即可。其中,g++如果不装,可能会提示unable to find a working C++ complier的错误
5. 安装storm
storm在这里 http://storm.apache.org/downloads.html 下载,下载。
配置/conf/storm.yaml文件:
storm.zookeeper.servers: - "127.0.0.1" nimbus.host: "127.0.0.1" storm.local.dir: "/home/zbb/storm/tmp/storm" java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib" topology.debug: "true"
启动storm:
storm nimbus& storm supervisor& storm ui&
然后利用jps查看进程,应该有QuorumPeerMain、nimbus、core、Jps、supervisor五个进程。在浏览器中输入http://127.0.0.1:8080来进入Storm UI的界面,可以查看Storm运行期间的相关信息。