博客
关于我
kafka+storm+hbase整合试验(Wordcount)
阅读量:617 次
发布时间:2019-03-14

本文共 2040 字,大约阅读时间需要 6 分钟。

Kafka Storm HBase整合实践指南

环境搭建

在完成上述环境搭建后,我们可以开始配置并运行Kafka、Storm、HBase的整合系统。以下是详细的配置步骤和运行方法。

1. 环境配置

确保所有节点(h40、h41、h42)之间可以互相通信,网络配置无误。

2. HBase依赖处理

HBase依赖较多,需将相关jar包添加到Storm的lib目录下。具体步骤如下:

# 将HBase的jar包添加到Storm的lib目录cp /home/hadoop/hbase-1.0.0/lib/*.jar $STORM_HOME/lib/

3. Storm本地运行配置

在Eclipse中,通过 StormSubmitter 提交Topology。运行时,确保hosts文件中已配置好各节点IP和主机名。

4. Topology配置

在代码中,Topology的配置主要包括以下几个部分:

4.1 Kafka Spout配置

// Kafka配置String topic = "hehe";String zkRoot = "/kafka-storm";String id = "old";BrokerHosts brokerHosts = new ZkHosts("h40:2181,h41:2181,h42:2181");SpoutConfig spoutConfig = new SpoutConfig(brokerHosts, topic, zkRoot, id);spoutConfig.forceFromStart = true;spoutConfig.scheme = new SchemeAsMultiScheme(new StringScheme());

4.2 Storm拓扑定义

// Storm拓扑定义TopologyBuilder builder = new TopologyBuilder();builder.setSpout("KafkaSpout", new KafkaSpout(spoutConfig));builder.setBolt("word-spilter", new SpliterBolt()).shuffleGrouping("KafkaSpout");builder.setBolt("writer", new CountBolt(), 3).fieldsGrouping("word-spilter", new Fields("word"));

5. HBase配置

在Topology中,HBaseBolt的配置如下:

// HBaseBolt配置SimpleHBaseMapper mapper = new SimpleHBaseMapper();HBaseBolt hBaseBolt = new HBaseBolt("wordcount", mapper).withConfigKey("hbase.conf");mapper.withColumnFamily("result");mapper.withColumnFields(new Fields("count"));mapper.withRowKeyField("word");

6. Topology运行

6.1 本地模式

在Eclipse中右击Topohogy.java,选择“Run As”->“Java Application”。注意:需确保Windows和虚拟机之间有正确的hosts配置。

6.2 集群模式

将项目打包并上传至虚拟机的Storm目录下,执行以下命令:

# 在虚拟机上运行storm jar wordcount.jar hui.Topohogy h40

7. 数据生产与验证

在Kafka生产者端执行以下命令,发送数据:

# 生产者端执行kafka-console-producer.sh --broker-list h40:9092,h41:9092,h42:9092 --topic hehe

输入数据,如:

hello worldhello stormhello kafkahello linuxhello world

8. HBase数据查看

在HBase CLI中执行扫描命令:

hbase(main):061:0> scan 'wordcount'

9. 注意事项

  • HBase依赖处理:确保HBase的jar包已正确添加到Storm的lib目录,否则会出现“找不到或无法加载主类 CreateMyTable”的错误。

  • hosts文件配置:在Windows系统中,需在hosts文件中添加虚拟机IP和主机名,避免网络通信问题。

  • Storm集群运行:在集群模式下,需确保所有节点间的通信正常,且HBase配置正确。

  • 通过以上步骤,可以成功实现Kafka到Storm到HBase的数据流处理和存储,实现实时大数据处理与分析功能。

    转载地址:http://dynoz.baihongyu.com/

    你可能感兴趣的文章
    GitHub完整记录数据库GHTorrent的下载和安装经验
    查看>>
    Android进阶解密读书笔记2——第2章:Android系统启动——第1、2小节
    查看>>
    Gradle实战四:Jenkins持续集成
    查看>>
    wgcloud运维监控系统错误:防篡改校验错误次数大于10次,不再上报数据
    查看>>
    iOS 开发官方文档链接收集
    查看>>
    vue报错 created hook错误
    查看>>
    12-面向对象1
    查看>>
    HDU - 4109 Instrction Arrangement
    查看>>
    JQuery--手风琴,留言板
    查看>>
    MFC 自定义消息发送字符串
    查看>>
    Linux操作系统的安装与使用
    查看>>
    C++ 继承 详解
    查看>>
    OSPF多区域
    查看>>
    Docker入门之-镜像(二)
    查看>>
    数据结构——链表(3)
    查看>>
    socket模块和粘包现象
    查看>>
    去了解拉绳位移编码器的影响因素
    查看>>
    无法初始化Winsock2.2处理
    查看>>
    vMotion 操作失败进度卡在14% ,报错: Operation Timed out
    查看>>
    重置UAG Application admin密码
    查看>>