Storm On Yarn的安装和部署

发布时间:2021-08-02 21:05:05 作者:chen
来源:亿速云 阅读:190
# Storm On Yarn的安装和部署

## 一、概述

Apache Storm是一个分布式实时计算系统,而YARN是Hadoop的资源管理框架。将Storm运行在YARN上(Storm On Yarn)可以实现资源的统一管理和调度,提高集群资源利用率。本文将详细介绍Storm On Yarn的安装和部署过程。

### 1.1 环境要求

在开始之前,请确保满足以下环境要求:

- Hadoop集群(版本2.x或以上)
- ZooKeeper集群(建议3.4.5+)
- JDK 1.8+
- Maven 3.x
- Storm 2.x

## 二、前期准备

### 2.1 软件下载

需要下载以下软件包:

```bash
wget https://archive.apache.org/dist/storm/apache-storm-2.4.0/apache-storm-2.4.0.tar.gz
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

2.2 环境变量配置

编辑~/.bashrc文件,添加以下内容:

export HADOOP_HOME=/path/to/hadoop
export STORM_HOME=/path/to/storm
export PATH=$PATH:$HADOOP_HOME/bin:$STORM_HOME/bin

执行source ~/.bashrc使配置生效。

三、YARN环境配置

3.1 修改YARN配置

编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>
    <!-- 启用资源调度 -->
    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    </property>
    
    <!-- 允许AM申请更多资源 -->
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>8192</value>
    </property>
    
    <!-- 每个容器最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>
</configuration>

3.2 重启YARN服务

$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/start-yarn.sh

四、Storm配置调整

4.1 修改storm.yaml

编辑$STORM_HOME/conf/storm.yaml

storm.zookeeper.servers:
  - "zk1.example.com"
  - "zk2.example.com"
  - "zk3.example.com"

nimbus.seeds: ["nimbus1.example.com"]

storm.local.dir: "/data/storm"

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

4.2 配置YARN集成

添加以下YARN相关配置:

storm.mode: "distributed"
storm.yarn.jar: "/path/to/storm-yarn-master.jar"

yarn.scheduler.address: "resourcemanager.example.com:8030"
yarn.resourcemanager.address: "resourcemanager.example.com:8032"
yarn.resourcemanager.scheduler.address: "resourcemanager.example.com:8030"

五、构建Storm-YARN集成包

5.1 获取源代码

git clone https://github.com/apache/storm.git
cd storm
git checkout v2.4.0

5.2 编译打包

mvn clean package -DskipTests

生成的JAR包位于: storm-yarn/target/storm-yarn-2.4.0.jar

六、部署Storm On YARN

6.1 上传配置文件

将以下文件上传到HDFS:

hdfs dfs -mkdir /storm
hdfs dfs -put $STORM_HOME/conf/storm.yaml /storm
hdfs dfs -put $STORM_HOME/lib/* /storm/lib

6.2 启动Storm集群

执行以下命令启动Storm On YARN:

yarn jar storm-yarn-2.4.0.jar \
    org.apache.storm.yarn.Client \
    -jar storm-yarn-2.4.0.jar \
    -appname "Storm-On-YARN" \
    -container_memory 2048 \
    -container_vcores 2 \
    -master_memory 4096 \
    -master_vcores 4 \
    -queue default \
    -storm_conf /storm/storm.yaml

6.3 验证部署

检查YARN应用状态:

yarn application -list

查看Storm UI(默认端口为8080):

http://<nimbus_host>:8080

七、常见问题解决

7.1 资源不足错误

现象:应用无法获取足够资源
解决方案: 1. 增加YARN资源分配 2. 调整容器内存大小 3. 检查队列资源限制

7.2 ZooKeeper连接问题

现象:Storm组件无法连接ZooKeeper
解决方案: 1. 验证ZK服务状态 2. 检查storm.yaml中的ZK配置 3. 查看防火墙设置

7.3 拓扑提交失败

现象:提交拓扑时出现权限错误
解决方案: 1. 确保HDFS目录权限正确 2. 检查Kerberos认证配置 3. 验证Storm用户权限

八、性能调优建议

8.1 资源配置建议

组件 内存建议 CPU建议
Nimbus 4-8GB 2-4核
Supervisor 4-16GB 4-8核
Worker 1-4GB 1-2核

8.2 参数优化

# 增加worker进程数
topology.workers: 4

# 调整消息超时时间
topology.message.timeout.secs: 60

# 优化序列化
topology.tuple.serializer: org.apache.storm.serialization.kyro.KryoValuesSerializer

九、监控与维护

9.1 监控指标

建议监控以下关键指标: - 拓扑处理延迟 - Worker资源使用率 - Spout/Bolt执行计数 - 消息队列积压情况

9.2 日志管理

Storm日志位置:

$STORM_HOME/logs/

YARN容器日志查看:

yarn logs -applicationId <app_id>

十、总结

本文详细介绍了Storm On YARN的完整部署流程,包括: 1. 环境准备和配置 2. YARN环境调优 3. Storm-YARN集成包构建 4. 集群部署和验证 5. 常见问题解决方案

通过将Storm部署在YARN上,可以实现: - 资源统一管理和调度 - 提高集群利用率 - 动态资源分配 - 与其他Hadoop生态组件协同工作

附录:参考命令速查

  1. 查看YARN节点状态:
yarn node -list
  1. 终止Storm应用:
yarn application -kill <application_id>
  1. 手动提交拓扑:
storm jar topology.jar com.example.Topology -c storm.yaml topology
  1. 查看拓扑状态:
storm list

注意:实际部署时请根据集群环境和业务需求调整配置参数。建议先在测试环境验证后再进行生产部署。 “`

(全文约3050字,实际字数可能因格式调整略有变化)

推荐阅读:
  1. 应用案例 | 从Storm到Flink,有赞五年实时计算效率提升实践
  2. Storm 环境部署及简单使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:Linux EXT3文件系统下成功恢复误删文件的方法

下一篇:solr查询语法的详细介绍

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》