Linux 下Apache storm 环境搭建

写在前面

网上有不少搭建storm环境的方法,我也是从这些方法开始学习storm,但是因为许多博客的时间都比较久远,导致了很多的问题,也浪费了不少时间,所以我决定将自己的一些学习经验分享出来。

Storm的搭建

要搭建一个storm环境,我们首先要做的就是用搜索引擎搜索一下,不论是百度还是Bing,输入storm,你都可以找到它的官网所在,如图:
搜索结果
接下来,进入官网,找到Download,不论网站的布局怎么改变,你总是能在显眼的地方找到它,不要怀疑,先点它一下,你会看到这个:
点击下载后
在这个界面你会看到很多的版本,选择你喜欢的,不过我一般选择最新的。但首先要做的是看到这个图片中的第一行“Downloads for Apache Storm are below. Instructions for how to set up a Storm cluster can be found here”,它告诉你哪里可以找到安装Storm的命令。我们点进去,它大概就长这个样子:
安装命令
我们可以看到,它为我们总结了安装storm集群的几个步骤,第一个就是安装Zookeeper集群,第二步是在要运行Nimbus和worker的机器上安装依赖,第三步是在要运行Nimbus和worker的机器上下载并解压storm,接下来填写配置文件,最后就可以使用了。

zookeeper集群的安装

我们按照官网给的步骤,首先来按照zookeeper集群。

还是上一个网页

还是上一个,网页,给出了安装zookeeper的链接,点进去,它大概长这个样子:
zookeeper
进Getting Started里看一下,它大概是这样的:
zookeeper
这个文档说得非常的详细,先从镜像下载一个最近稳定版本的zookeeper,然后解压出来,解压之后在conf目录下创建一个zoo.cfg的文档,文档里需要填写的内容也在下面给出来了,复制粘贴即可,注意修改dataDir的路径。第一个tickTime和clientPort不需要我们操心,我们只需要根据我们自己的情况改一下dataDir的路径就可以了。配置好了以后基本上就可以运行了,为什么说基本上,因为有可能你还没有安装jdk,那你得自己去下载一个,随便也把python装了吧,因为第二步就需要jdk和python的支持。然后进入你下载的zookeeper文件夹,运行bin/zkServer.sh start 看一下zookeeper装好了没。

Storm的下载和安装

在这里插入图片描述

回到storm,选一个最新的包,下载下来后解压,解压以后进入文件夹,修改conf/storm.yaml中的内容

 storm.zookeeper.servers:
    - "127.0.0.1"
 storm.local.dir : "/home/hostname/Strom/stormdir"
# 
# nimbus.seeds: ["host1", "host2", "host3"]
# 
 nimbus.seeds: ["127.0.0.1"]
 supervisor.slots.ports :
     - 6700
     - 6701
     - 6702
     - 6703

第1,2行是运行zookeeper服务的地址,如果你就一台机器就填本地地址就行。第3行你可以自己新建一个文件夹,填你新建文件夹的地址。这个文档的修改一定要特别注意,比如每一行都不能顶格(我也不知道为什么),如果格式有问题是会报错的。

这搞定了之后,按照官网的说法是差不多了,但如果你提交你的代码到集群是跑不起来的,还需要安装ZMQ和JZMQ。如果不装这两个东西会出现问题,我就踩过这个坑,就是你提交你的程序到集群之后,无法从kafka中获取到数据,你在storm UI上查看会显示无可用数据。先装ZMQ,这一部分就不截图了下载链接放在这大家自己下,解压之后进入文件夹依次输入命令

扫描二维码关注公众号,回复: 4440905 查看本文章
sudo ./configure   

sudo make

sudo make install

记得要安装g++。
接下来是安装JZMQ,用git clone https://github.com/nathanmarz/jzmq.git 获取到jamq的软件包,接下来的操作命令和有可能遇到的问题以及解决办法我都放在了下面,就不一一讲解了
./autogen.sh
autogen.sh: error: could not find libtool. libtool is required to run autogen.sh.
Sudo apt-get install libtool*
autogen.sh: error: could not find autoreconf. autoconf and automake are required to run autogen.sh.
sudo apt-get install autoconf automake libtool
./configure
configure: error: cannot find javah.
将jdk更换为10以下版本
make
No rule to make target ‘classdist_noinst.stamp’, needed by 'org/zeromq/ZMQ.class

错误: 找不到 ‘org.zeromq.ZMQ’ 的类文件。
Makefile:842: recipe for target ‘org_zeromq_ZMQ.h’ failed
cd src
javac -d . org/zeromq/*.java

sudo make install
到这storm的环境就搭建完了。
最后说一下环境变量的搭建,给不会的同学参考一下,在命令行中输入

sudo gedit /etc/profile

然后在打开的文件中添加

#set zookepper env
export ZOOKEEPER_HOME=/home/hostname/Strom/ZooKeeper/zookeeper-3.4.12
export PATH=$PATH:${ZOOKEEPER_HOME}/bin

#set storm env
export STORM_HOME=/home/lhostname/Strom/storm
export PATH=$PATH:${STORM_HOME}/bin

注意 `ZOOKEEPER_HOME和STORM_HOME后面跟的都是你自己的文件路径。

猜你喜欢

转载自blog.csdn.net/qq_35508286/article/details/83190234