一:背景
zookeeper版本: zookeeper-3.4.7.tar.gz
storm版本:apache-storm-0.9.5.tar.gz
二: 安装zookeeper
tar -zxvf zookeeper-3.4.7.tar.gz -C /usr/local
cd /usr/local/zookeeper-3.4.7/con
cp zoo_sample.cfg zoo.cfg
配置参数 zoo.cfg
启动zookeeper
./zkServer.sh start
验证zookeeper是否正常启动
./zkCli.sh -server localhost:2182
三:安装storm
tar -zxvf apache-storm-0.9.5.tar.gz -C /usr/local/
vi /etc/profile 添加环境变量
export STORM_HOME=/usr/local/apache-storm-0.9.5
export PATH=/usr/local/git/bin:${MAVEN_HOME}/bin:${STORM_HOME}/bin:$PATH
source /etc/profile
配置参数 /conf/storm.yaml
1) storm.zookeeper.servers : Storm 集群使用的 Zookeeper 集群地址,其格式如下
storm.zookeeper.servers:
- "ip1"
- "ip2"
- "ip3"
如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项
如: storm.zookeeper.port: 2182
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:mkdir -p /data/storm/
如:storm.local.dir: "/data/storm"
3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,
如:nimbus.host: "localhost"
4) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,
如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
最后的配置结果为:
四:启动Storm各个后台进程
五:注意事项
zookeeper版本: zookeeper-3.4.7.tar.gz
storm版本:apache-storm-0.9.5.tar.gz
二: 安装zookeeper
tar -zxvf zookeeper-3.4.7.tar.gz -C /usr/local
cd /usr/local/zookeeper-3.4.7/con
cp zoo_sample.cfg zoo.cfg
配置参数 zoo.cfg
启动zookeeper
./zkServer.sh start
验证zookeeper是否正常启动
./zkCli.sh -server localhost:2182
三:安装storm
tar -zxvf apache-storm-0.9.5.tar.gz -C /usr/local/
vi /etc/profile 添加环境变量
export STORM_HOME=/usr/local/apache-storm-0.9.5
export PATH=/usr/local/git/bin:${MAVEN_HOME}/bin:${STORM_HOME}/bin:$PATH
source /etc/profile
配置参数 /conf/storm.yaml
1) storm.zookeeper.servers : Storm 集群使用的 Zookeeper 集群地址,其格式如下
storm.zookeeper.servers:
- "ip1"
- "ip2"
- "ip3"
如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项
如: storm.zookeeper.port: 2182
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:mkdir -p /data/storm/
如:storm.local.dir: "/data/storm"
3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,
如:nimbus.host: "localhost"
4) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,
如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
最后的配置结果为:
四:启动Storm各个后台进程
和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在任意时刻被停止,并且当进程重启后被正确地恢复执行。这也是为什么Storm不在进程内保存状态的原因,即使Nimbus或Supervisors被重启,运行中的Topologies不会受到影响。
以下是启动Storm各个后台进程的方式:
- Nimbus: 在Storm主控节点上运行 "storm nimbus &" 启动Nimbus后台程序,并放到后台执行;
- Supervisor: 在Storm各个工作节点上运行" storm supervisor &"启动Supervisor后台程序,并放到后台执行;
- UI: 在Storm主控节点上运行 "storm ui &" 启动UI后台程序,并放到后台执行,启动后可以通过http://10.243.3.18:8080/index.html观察集群的worker资源使用情况、Topologies的运行状态等信息。
五:注意事项
- Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
- 经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。
- 为了方便使用,可以将bin/storm加入到系统环境变量中。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-1973943/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28624388/viewspace-1973943/