安装Twitter Storm集群

安装Storm集群
这页概述Storm集群安装和运行的步骤。如果你在AWS,你应该检出 storm-deploy项目。 storm-deploy完全自动化准备,配置,和在EC2上安装Storm集群 。它还为您安装Ganglia,这样就可以监视CPU,磁盘和网络使用情况。
 
安装Storm集群的步骤概要:
1.  安装Zookeeper集群。
2.  安装Nimbus和worker机器下storm的依赖
3.  下载并解压Storm到Nimbus和worker机器。
4.  添加必要的配置到storm.yaml 文件
5.  使用“storm”脚本启动nimbus、supervisor 、ui守护程序。
 
安装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/ 目录。
 
英文: https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster
 

你可能感兴趣的:(集群,storm,职场,twitter,休闲)