Linux搭建Strom集群
1 说明
1.1 编写目的
本博客编写旨在介绍Storm的集群架构配置,了解Storm的基本使用。
1.2 适用范围
本文适用于对高效率消息中间件及对大数据处理比较有兴趣的童鞋。本文仅介绍了Storm的基本知识、集群架构,以及Storm的基本使用。
2 配置准备
2.1 服务器准备
一般情况下,Storm集群至少需要3台机器。本文就以3台机器作为安装环境进行配置,操作系统以Centos 7为例。
各个节点及描述如下表所示:
服务器名 | IP | 描述 |
---|---|---|
服务器1 | 192.168.204.127 | node1 |
服务器2 | 192.168.204.128 | node2 |
服务器3 | 192.168.204.128 | node3 |
2.2 环境准备
Storm依赖于JDK,python及zookeeper,所以在安装Storm之前需要先安装依赖包。JDK及python可以使用yum命令安装,zookeeper具体安装步骤见https://blog.csdn.net/zhangkai19910815/article/details/84230349
2.3 软件准备
Storm属于Apache的一个子项目,需到其官网上进行下载,下载方式为:
wget http://apache.fayea.com/storm/apache-storm-1.2.1/apache-storm-1.2.1.tar.gz
(具体版本以官网为准)
3 Storm安装
3.1 Storm安装
1、 进入某一目录(本文以/home为例),执行如下命令完成Storm的下载:
wget http://apache.fayea.com/storm/apache-storm-1.2.1/apache-storm-1.2.1.tar.gz
2、 执行命令解压压缩包至软件安装常用目录(本人常用目录为/usr/local/apps,个人按情况而定),[root@node1 home]# tar zxvf apache-storm-1.2.1.tar.gz -C /usr/local/apps
3、为了方便操作将apache-storm-1.2.1修改为storm
进入解压后的目录:cd /usr/local/apps
修改目录名: mv apache-storm-1.2.1 storm
4、修改环境变量
vi /etc/profile
添加系统变量并修改PATH:
export STORM_HOME=/usr/local/apps/storm
export PATH=$PATH:$STORM_HOME/bin
3.2 Storm配置
安装完成后需对Storm进行配置,配置主要体现在config目录下的storm.yaml
[root@node1 conf]# cd /usr/local/apps/storm/conf/
[root@node1 conf]# vi storm.yaml
文件中添加如下内容:
storm.zookeeper.servers:
- “192.168.204.127”
- “192.168.204.128”
- “192.168.204.129”
nimbus.childopts: “-Xms4096m”
supervisor.childopts: “-Xms2048m”
storm.local.dir: “/usr/local/apps/storm/storm-logs” (日志目录,个人视情况创建,这个是我自己创建的目录)
nimbus.host: “192.168.204.127”
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
storm.zookeeper.session.timeout: 60000
storm.zookeeper.connection.timeout: 45000
storm.zookeeper.retry.times: 10
storm.zookeeper.retry.interval: 3000
storm.zookeeper.retry.intervalceiling.millis: 90000
storm.nimbus.retry.times: 10
storm.nimbus.retry.interval.millis: 6000
storm.nimbus.retry.intervalceiling.millis: 180000
nimbus.task.timeout.secs: 60
nimbus.supervisor.timeout.secs: 120
nimbus.monitor.freq.secs: 10
nimbus.cleanup.inbox.freq.secs: 600
nimbus.inbox.jar.expiration.secs: 3600
nimbus.code.sync.freq.secs: 120
nimbus.task.launch.secs: 120
nimbus.file.copy.expiration.secs: 600
#how long supervisor will wait to ensure that a worker process is started
supervisor.worker.start.timeout.secs: 120
#how long between heartbeats until supervisor considers that worker dead and tries to restart it
supervisor.worker.timeout.secs: 60
#how many seconds to sleep for before shutting down threads on worker
supervisor.worker.shutdown.sleep.secs: 1
#how frequently the supervisor checks on the status of the processes it’s monitoring and restarts if necessary
supervisor.monitor.frequency.secs: 3
#how frequently the supervisor heartbeats to the cluster state (for nimbus)
supervisor.heartbeat.frequency.secs: 5
1、 storm.zookeeper.servers:storm使用zookeeper的集群地址列表,根据zookeeper实际安装的机器ip进行配置,如果zookeeper安装时不是使用的默认端口,还需要在这里指定端口;
2、 storm.local.dir:用于Nimbus和Supervisor进程存储少量状态,指定的路径需要在系统相对位置创建该目录;
3、 nimbus.host:storm控制节点;
4、 supervisor.slots.ports:工作节点,每一个端口表示一个工作者,可设置多个;
5、其他配置个人视情况而定;
3.3 其他节点配置
其他节点配置与3.2一致,nimbus.host不需要修改
3.4 启动与停止
3.4.1 启动
Storm的启动顺序为启动Zookeeper—>启动Storm。启动前注意开放相应端口或者关闭防火墙。
启动Zookeeper
在Zookeeper的安装目录下执行启动命令:
[root@node1 bin]# zkServer.sh start
Zookeeper的相关配置可参见https://blog.csdn.net/zhangkai19910815/article/details/84230349
启动Storm
1、 在192.168.204.127机器上进入storm安装路径的bin目录启动nimbus
./storm nimbus &
2、分别在192.168.1.128及192.168.204.129机器上进入storm安装路径的bin目录启动supervisor
./storm supervisor &
3、在192.168.204.127机器上进入storm安装路径的bin目录启动Storm UI
./storm ui &
4、打开http://192.168.204.127:8080,如果访问到Storm表示启动成功。
启动Storm logviewer
在所有Storm节点上执行
./storm logviewer &
作者:洪城屠夫
来源:CSDN
原文:https://blog.csdn.net/zhangkai19910815/article/details/84232993
版权声明:本文为博主原创文章,转载请附上博文链接!