一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux下Storm集群搭建配置教程

时间:2016-04-10 编辑:简简单单 来源:一聚教程网


准备服务器

4台服务器,在每台hosts配置,命名为storm storm1 storm2 storm3,storm用作nimbus,drpc,admin等
java环境要配置好

部署zookeeper集群

为每台zookeeper目录建立data、log目录,并在data下新建文件myid,内容分别为1,2,3

zoo.cfg配置

dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log

server.1=storm1:2888:3888
server.2=storm2:2888:3888
server.3=storm3:2888:3888

# zookeeper日志比较占空间所以需要定期清理,以下配置为每24小时清理一次,最多保留10个日志文件
autopurge.snapRetainCount=10
autopurge.purgeInterval=24
之后启动每台zookeeper,查看follow leader是否正确,如未能正常启动查看是否防火墙上没有开放2181 2888 3888端口

部署storm集群

修改storm.yaml,下面nimbus机子的配置,他还承担了ui及drpc入口的任务

storm.zookeeper.servers:
    - "storm1"
    - "storm2"
    - "storm3"

storm.local.dir: "/usr/local/storm/workspace"

nimbus.host: "storm"

ui.port: 8787

storm.messaging.transport: "backtype.storm.messaging.netty.Context"
storm.messaging.netty.server_worker_threads: 1
storm.messaging.netty.client_worker_threads: 1
storm.messaging.netty.buffer_size: 5242880
storm.messaging.netty.max_retries: 100
storm.messaging.netty.max_wait_ms: 1000
storm.messaging.netty.min_wait_ms: 100

drpc.servers:
    - "storm"
下面是supervisor的配置

storm.zookeeper.servers:
    - "storm1"
    - "storm2"
    - "storm3"

storm.local.dir: "/usr/local/storm/workspace"

nimbus.host: "storm"

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

storm.messaging.transport: "backtype.storm.messaging.netty.Context"
storm.messaging.netty.server_worker_threads: 1
storm.messaging.netty.client_worker_threads: 1
storm.messaging.netty.buffer_size: 5242880
storm.messaging.netty.max_retries: 100
storm.messaging.netty.max_wait_ms: 1000
storm.messaging.netty.min_wait_ms: 100

drpc.servers:
    - "storm"
这是使用了netty进行传输,比zeromq方便些

storm的启动

nimbus:
bin/storm nimbus >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &
bin/storm drpc >/dev/null 2>&1 &
supervisor:
bin/storm supervisor >/dev/null 2>&1 &
bin/storm logviewer >/dev/null 2>&1 &

storm list
storm kill xxxx

storm自重启

 

为每个服务器安装daemontools
daemontools自动将svscanboot写入inittab,开机自启动,但发现svscanboot并不能自动起来,不知道哪边配置不对,就删掉开机自启动,而且svscanboot指定/service根目录后,svscan扫描通过相对路径启动的并不能正常运行脚本。

所以写好supervise运行的run脚本,通过 nohup supervise /service/* &

nimbus:
nohup supervise /service/storm &
nohup supervise /service/storm-ui &
nohup supervise /service/storm-drpc &

supervisor:
nohup supervise /service/storm &
nohup supervise /service/storm-log &
nohup supervise /service/zookeeper &

因为服务器有限,3台supervisor也是zookeeper的集群,当然启动storm前需完成zookeeper的启动

重启服务器后,并不能自动重启,需要手动以上命令;但由于没有/service目录已经存在supervise目录,其中包含了上一次运行的锁,会阻止此次的启动,固启动前应删除supervise文件夹

热门栏目