博客
关于我
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/

    你可能感兴趣的文章
    【Bootstrap5】精细学习记录
    查看>>
    Struts2-从值栈获取list集合数据(三种方式)
    查看>>
    vscode中快速生成vue模板
    查看>>
    参考图像
    查看>>
    *.json: [“usingComponents“][“van-button“] 未找到
    查看>>
    设计模式(18)——中介者模式
    查看>>
    error LNK2019:无法解析的外部符号_imp_CryptAcquireContextA@20
    查看>>
    推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
    查看>>
    ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
    查看>>
    BUU-MISC-caesar
    查看>>
    【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
    查看>>
    一文理解设计模式--命令模式(Command)
    查看>>
    VTK:可视化之RandomProbe
    查看>>
    block多队列分析 - 2. block多队列的初始化
    查看>>
    Java时间
    查看>>
    不编译只打包system或者vendor image命令
    查看>>
    The wxWindows Library Licence (WXwindows)
    查看>>
    【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
    查看>>
    flink启动(二)
    查看>>
    关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
    查看>>