安装Twitter Storm集群
安装
Storm
集群
这页概述Storm集群安装和运行的步骤。如果你在AWS,你应该检出storm-deploy项目。storm-deploy完全自动化准备,配置,和在EC2上安装Storm集群 。它还为您安装Ganglia,这样就可以监视CPU,磁盘和网络使用情况。
安装Storm集群的步骤概要:
1.
安装Zookeeper集群。
2.
安装Nimbus和worker机器下storm的依赖
<font face="Courier New">。</font>
3.
下载并解压Storm到Nimbus和worker机器。
4.
添加必要的配置到storm.yaml
文件
。
5.
使用“storm”脚本启动nimbus、supervisor
<font face="Courier New">、ui守护程序。</font>
安装Zookeeper集群
Storm使用Zookeeper协调集群。Zookeeper不是用于传递消息,因此Storm给Zookeeper的负载是非常的低。对大多数案例,单个节点的Zookeeper集群应该足够了。如果你想要失效恢复(failover)或者部署大规模的storm集群,你也许想要大规模Zookeeper集群。Zookeeper部署说明在这里。
Zookeeper部署注意事项:
1. zookeeper是快速失败的(fail-fast)系统,如果它遇到任务错误,进程将退出,所以对Zookeeper进行监管是非常关键的。使用daemontools or SMF可以达到失效后自动报警和重启服务。更多细节看这里。
2. 设置定时任务压缩Zookeeper的数据和处理日志是非常关键的。Zookeeper后台程序本身不处理这些事情,如果你没有设置定时任务,Zookeeper将很快用完磁盘空间。更多细节看这里。
在nimbus和worker机器上安装依赖
接下来你需要在nimbus和worker机器上安装storm依赖。依赖包括:
1. ZeroMQ 2.1.7
2. JZMQ
3. Java 6
4. Python 2.6.6
5. unzip
这些版本的依赖和storm一起已经测试过。Storm与不同版本的JAVA或Python搭配时,有可能不能工作。
安装ZeroMQ 或 JZMQ时,遇到问题看Installing native dependencies.
下载并解压Storm到Nimbus和Worker机器
接下来,下载Storm并解压压缩包到Nimbus和每一台worker机器。下载地址看这里。
添加必要的配置到storm.yaml文件
Storm发行包包含一个conf/storm.yaml文件,用来配置Storm程序。你能从这里看到默认配置值。
Storm.yaml覆盖defaults.yaml中的所有默认配置。这里是一些关于集群的必选配置。
1)storm.zookeeper.servers:这是一个为Storm集群配置的Zookeeper集群的主机列表。它应该像这样:
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
如果你的Zookeeper集群使用不同于默认的端口,你应该设置storm.zookeeper.port。
2)storm.local.dir:Nimbus和Supervisor守护程序需要一个本地磁盘目录存储小量状态(像jars,confs,其它)。你应该在每台机器都创建这些目录,赋予足够权限,并且在配置中设置目录位置。例如:
storm.local.dir: "/mnt/storm"
3)java.library.path:这是Storm使用的本地库(ZeroMQ和JZMQ)载入路径。大多数安装,默认路径"/usr/local/lib:/opt/local/lib:/usr/lib"就行,所以你可能不需要配置它。
4)nimbus.host:Worker节点需要知道哪个机器是Master,以便下载topology jars和confs。例如:
nimbus.host: "111.222.333.44"
5)supervisor.slots.ports: 每一台worker机器,你用这个配置来指定多少workers运行在那台机。每个worker使用单一端口接收消息,并且这个设置定义哪个商品是打开的且可以使用。如果你定义5个端口,那么Storm将在这台机分配5个worker运行。如果你定义3个端口,Storm将仅运行3个worker。默认情况,这个设置是配置4个worker运行在端口6700, 6701, 6702, 和 6703。例如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
启动Storm
最后一步,启动Storm相关守护程序。运行supervision下的每一个守护程序是特别关键的一点。Storm是一个快速失败(fail-fast)的系统,这意味着这些进程随时都可能因发生错误而停止。由于Storm的设计,所以它随时停止都是安全的,当进程重新启动时正确的恢复。这是为什么Storm保持进程无状态的原因-- 如果Nimbus或supervisors重新启动,正在运行的topologies是不受影响的。下面是如何运行storm守护程序:
1)Nimbus
在master机器的supervision下运行命令”bin/storm nimbus”
2)Supervisor
在每个worker机器的supervision下运行命令”bin/storm supervisor”。Supervisor守护程序负责starting 和 stopping 那台机上的worker进程。
3)UI
运行supervision下的命令”bin/storm ui”来运行Storm UI(你能从浏览器访问一个站点,它提供集群和topologies的诊断信息)。在你的浏览器中输入” http://{nimbus host}:8080”访问UI。
守护程序把日志记录在每一个解压的storm下的 logs/目录。
相关推荐
枫叶上的雨露 2020-05-02
LandryBean 2020-03-12
一名java从业者 2020-01-09
weeniebear 2013-03-25
weeniebear 2014-05-28
sfqbluesky 2019-12-12
AbnerSunYH 2016-08-12
weeniebear 2016-08-11
Stereo 2016-07-27
芒果先生Mango 2018-05-31
dykun 2019-08-16
GimmeS 2016-10-11
benbendy 2016-09-30
Johnhao 2016-09-30
AbnerSunYH 2016-04-28
benbendy 2016-04-15