1 环境


1.1 软件信息

项目信息
操作系统centos-release-7-5.1804.el7
JDKoracle jdk 1.8.0_131
storm1.2.1
zookeeper3.4.6

1.2 节点信息

机器名IP
master192.168.0.128
slave1192.168.0.129
slave2192.168.0.130
slave3192.168.0.131

2 安装zookeeper


storm集群的配置管理使用zookeeper实现,所以需要先安装zookeeper。

2.1 修改配置文件

zookeeper的配置文件在conf文件夹下,默认只提供了“zoo_sample.cfg”,我们先复制一份这个文件,名称改为“zoo.cfg”。
集群模式中, 集群中的每台机器都需要感知其它机器, 在 zoo.cfg 配置文件中, 可以按照如下格式进行配置, 每一行代表一台服务器配置:

server.id=host:port:port

id 被称为 Server ID, 用来标识服务器在集群中的序号。同时每台 ZooKeeper 服务器上, 都需要在数据目录(即 dataDir 指定的目录) 下创建一个 myid 文件, 该文件只有一行内容, 即对应于每台服务器的Server ID。

如下是本次使用的配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/root/zookeeper-3.4.6/data
# 日志文件
dataLogDir=/root/zookeeper-3.4.6/log

# the port at which the clients will connect
clientPort=2181
# 各节点配置
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server.4=slave3:2888:3888

2.2 修改myid

修改好配置文件后,把安装包和配置文件拷贝到所有节点里。
在每个节点 dataDir 指定的目录下 (即 /root/zookeeper-3.4.6/data 目录) 创建名为 myid 的文件, 文件内容和 zoo.cfg 中当前机器的 id 一致。根据上述配置, master 的 myid 文件内容为 1。

2.3 启动集群

执行bin下的zkServer.sh命令

./zkServer.sh start

3 安装storm


3.1 配置storm

storm的配置文件为:conf/storm.yaml,配置信息如下:

storm.zookeeper.servers:
    - "master"
    - "slave1"
    - "slave2"
    - "slave3"
storm.zookeeper.port: 2181
nimbus.seeds: ["master"]

supervisor.slots.ports:
    - 6700

storm.local.dir: /root/apache-storm-1.2.1/data

3.2 启动节点

nimbus上的启动脚本

#!/bin/sh --login
nohup /root/apache-storm-1.2.1/bin/storm nimbus > /dev/null &  
nohup /root/apache-storm-1.2.1/bin/storm ui > /dev/null &

supervisor上的启动脚本

#!/bin/sh --login

nohup /root/apache-storm-1.2.1/bin/storm supervisor > /dev/null  &

检查是否正常启动

通过浏览器访问ui监控界面,”storm ui”命令运行的机器ip + 默认8080端口,如本例中的http://192.168.0.128:8080

这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐