什么是storm
storm是一个分布式的计算框架,并且,storm是基于内存式的计算服务,在storm计算期间,所有的数据都在内存中进行计算,没有进行耗时的io操作,也正是因为storm的这种特性,使得storm与hadoop的批处理形式不同,storm是流处理的形式,只要数据一进来就开始进行计算服务。
依赖一:zookeeper
zookeeper是一个分布式应用协调工具。其实可以这样说,zookeeper就是一个管家,它管理着一个分布式集群,所有的机器调度都通过zookeeper进行协调。
进入Apache官网下载zookeeper后进行解压缩,然后进入conf目录,创建一个新的文件conf.cfg
,文件内容如下:
1 2 3 4
| tickTime=2000 dataDir= /usr/myenv/zookeeper-3.4.8/data (填写自己的data目录) dataLogDir=/usr/myenv/zookeeper-3.4.8/logs clientPort=2181
|
每个参数的含义:
。tickTime: zookeeper中使用的基本时间单位, 毫秒值
。dataDir: 数据目录. 可以是任意目录
。dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置.
。clientPort: 监听client连接的端口号.
然后保存该文件,回到conf的上一层目录,进入bin目录,然后执行如下指令:
1 2
| ./zkServer.sh start (开启指令) ./zkServer.sh stop (关闭指令)
|

依赖二:zeromq
如果是mac os的话,直接使用brew的包管理器进行安装:
如果是linux的话,这里有一个脚本,直接使用就可以
githu地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #!/usr/bin/bash
# Download zeromq # Ref http://zeromq.org/intro:get-the-software wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz
# Unpack tarball package tar xvzf zeromq-4.2.2.tar.gz
# Install dependency sudo apt-get update && \ sudo apt-get install -y libtool pkg-config build-essential autoconf automake uuid-dev
# Create make file cd zeromq-4.2.2 ./configure
# Build and install(root permission only) sudo make install
# Install zeromq driver on linux sudo ldconfig
# Check installed ldconfig -p | grep zmq
# Expected # # libzmq.so.5 (libc6,x86-64) => /usr/local/lib/libzmq.so.5 # libzmq.so (libc6,x86-64) => /usr/local/lib/libzmq.so #
|
搭建storm分布式计算框架
在Apache官网下载storm之后,解压缩,进入conf目录下,找到stoem.ymal
文件;打开文件进行编辑:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #配置Zookeeper storm.zookeeper.servers: - "127.0.0.1" storm.zookeeper.port: 2181 storm.zookeeper.root: "/storm"
#配置数据存储路径(这里的路径是我自己的,按自己需求来更改) storm.local.dir: "/Volumes/Extended/Data/apache-storm/data"
#配置节点健康检测 storm.health.check.dir: "healthchecks" storm.health.check.timeout.ms: 5000
#配置Nimbus节点,如果有多个,可以填写,用逗号隔开 nimbus.seeds: ["127.0.0.1"]
#配置Storm UI ui.port: 8088
## 配置DRPC服务 drpc.servers: - "127.0.0.1"
|
修改文件后保存,回退到conf的上层目录,进入bin目录,然后执行以下三条命令:
1 2 3
| ➜ ~ ./storm nimbus & ➜ ~ ./storm ui & ➜ ~ ./storm drpc &
|
然后在浏览器地址栏输入http://127.0.0.1:8088
(端口号就是你设置的ui.port,我这里设置的是8088),然后如果看到这个界面,就表示配置成功了!!!
