Storm集群部署
来源:互联网 发布:小米手机怎么开数据 编辑:程序博客网 时间:2024/05/21 14:46
搭建一个Storm集群需要依次完成的安装步骤:
- 搭建Zookeeper集群;
- 安装Storm依赖库 (Java 1.7x版本、Python 2.6.x版本);
- 下载并解压Storm发布版本 (0.10.0版本);
- 修改storm.yaml配置文件;
- 启动Storm各个后台进程。
storm.yaml 配置
Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。默认配置在这里可以查看。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。以下配置选项是必须在conf/storm.yaml中进行配置的:
storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下: storm.zookeeper.servers: - "192.168.180.78" - "192.168.180.79" - "192.168.180.80" 如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。
storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如: storm.local.dir: "/home/admin/storm/workdir"
java.library.path: Storm使用的本地库加载路径,默认为"/usr/local/lib:/opt/local/lib:/usr/lib",一般不需要配置。
nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如: nimbus.host: "192.168.180.82"
supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。如果需要在每个节点上运行4个workers,可以分别使用6700、6701、6702和6703端口,如: supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
JVM options: 用于配置Storm使用JVM参数
[注] yaml 文件的配置使用
“-”
来表示数据的层次结构,配置项的:
后必须有空格,否则该配置项无法识别集群配置示例如下:
########### These MUST be filled in for a storm configuration# storm.zookeeper.servers:# - "server1"# - "server2" storm.zookeeper.servers: - "192.168.180.78" - "192.168.180.79" - "192.168.180.80" storm.zookeeper.port: 2181# storm's work directory storm.local.dir: "/home/storm/workdir"# nimbus.host: "nimbus" nimbus.host: "192.168.180.82"# supervisor's work ports supervisor.slots.ports: -6700 -6701 -6702 -6703# #### Netty transport configuration# transmission protocol storm.messaging.transport: "backtype.storm.messaging.netty.Context"# server's work threads number storm.messaging.netty.server_worker_threads: 1# client's work threads number storm.messaging.netty.client_worker_threads: 1# buffer size storm.messaging.netty.buffer_size: 5242880# max retry times storm.messaging.netty.max_retries: 100# max waiting time(ms) storm.messaging.netty.max_wait_ms: 1000# min waiting time(ms) storm.messaging.netty.min_wait_ms: 100## JVM parameters can be configured here nimbus.childopts: "-Xloggc:/home/enjoyor/storm/apache-storm-0.9.3/logs/nimbusGC.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps" supervisor.childopts: "-Xloggc:/home/enjoyor/storm/apache-storm-0.9.3/logs/nimbusGC.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps" worker.childopts: "-Xloggc:/home/enjoyor/storm/apache-storm-0.9.3/logs/nimbusGC.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps"
Storm 运行
和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在任意时刻被停止,并且当进程重启后被正确地恢复执行。这也是为什么Storm不在进程内保存状态的原因,即使Nimbus或Supervisors 被重启,运行中的Topologies不会受到影响。以下是启动Storm各个后台进程的方式:
Nimbus: 在Storm主控节点上运行
nohup storm nimbus &
启动Nimbus后台程序,并放到后台执行;Supervisor: 在Storm各个工作节点上运行
nohup storm supervisor &
启动Supervisor后台程序,并放到后台执行;UI: 在Storm主控节点上运行
nohup storm ui &
启动UI后台程序,并放到后台执行,启动后可以通过 http://{nimbus host}:8080 观察集群的worker资源使用情况、Topologies的运行状态等信息。
注意事项:
- Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
- 经测试,Storm UI必须和Storm Nimbus 部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。
- 为了方便使用,可以将bin/storm加入到系统环境变量中。
至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。
- Storm集群部署
- Storm集群部署
- storm 集群部署
- storm集群部署
- Storm集群部署
- storm集群基础+部署
- storm 集群 安装 部署
- Storm集群部署
- storm集群部署
- storm集群的部署
- Storm集群搭建、storm集群部署
- Storm集群环境安装部署
- Storm-0.8.1集群部署
- Storm——集群部署
- Storm集群安装部署步骤
- Storm(二):集群部署配置
- Storm集群安装部署步骤【详细版】
- Storm集群安装部署步骤【详细版】
- 搭建Win32汇编编程环境——RadASM+Masm32
- C++第二次实验-4
- make警告:检测到时钟错误
- IOS泛型
- PHP DATE 如何取得当月的第一天和最后一天!
- Storm集群部署
- Android Studio使用教程-菜单(File)
- 51nod1432 贪心
- 指针和const的2, 3事
- 计算机网络_面试
- Android Studio使用教程-菜单(Edit)
- 概率密度函数(probability density function)课程笔记
- An internal error occurred during: "Add Deployment".
- 看门狗定时器(WDT,Watch Dog Timer)