基于Docker, 整合Storm&Kafka&Hbase的完整性Wordcount DEMO

kafka & storm & hbase & docker(Wordcount DEMO)


kafka作为分布式消息系统,实时大吞吐量消息系统;
storm作为大数据的实时处理系统;
hbase是apache hadoop 的数据库,其具有高效的读写性能,而且针对分布式设计
docker 目前非常火的,高可用应用容器引擎

一、说明

基于docker的容器集群,管理hadoop集群,把kafka的生产者,将字符串pull到storm的KafkaSpout,然后转发各种Bolt,到最后Hbase保存信息到’wordcout’表里面.
github地址: https://github.com/pkeropen/storm-kafka-hbase , 具体使用说明请看README

二、操作准备流程

假设已经启动容器集群

1. hbase 建表

在hbase中建立相应的表:
hbase(main):060:0> create ‘wordcount’,‘result’

2. kafka 创建Topic

在kafka中建立相应的topic:

[hadoop@kafka vita]$ bin/kafka-topics.sh --create --zookeeper zk:2181 --replication-factor 1 --partitions 1 --topic test

Created topic “test”.

3.打包Artifacts(IntelliJ IDEA)

具体怎么build,问度娘就可以了. 这里注意一下,build的jar ,去掉storm-core.jar,所有log4j.jar,slf4j.jar,因为storm环境已经存在这些jar,不然会包冲突

4. kafka生产端发送数据

在kafka生产者端输入数据:

[hadoop@kafka vita]$ bin/kafka-console-producer.sh --broker-list h40:9092,h41:9092,h42:9092 --topic hehe

hello world
hello world

5. storm 提交Topopogy

提交Topohogy的jar,到storm执行流

[hadoop@storm vita]$ storm jar storm-kafka-hbase.jar com.vita.Topohogy test

执行成功如下图:
在这里插入图片描述

6. hbase scan

查看hbase中的表:

hbase(main):061:0> scan ‘wordcount’
ROW COLUMN+CELL
hello column=result:count, timestamp=1495132057639, value=\x00\x00\x00\x03
world column=result:count, timestamp=1495132057642, value=\x00\x00\x00\x01


三、注意
1.docker compose 的ymal,要设定好extra_host, 这里就是/etc/hosts主机列表
extra_hosts:
  - "nimbus:10.17.0.8"
  - "supervisor:10.17.0.9"
  - "hadoop:10.17.0.3"
  - "pig:10.17.0.4"
  - "zk:10.17.0.2"
2.docker 构建后, 出现.sh not found

这里是因为sh的format是dos, 用vim,修改 set ff=unix,然后重新构建image即可

3.hbase的hbase-site.xml配置问题
 <property>
 	<name>hbase.rootdir</name>
 	<value>hdfs://10.17.0.3:9000/hbase</value>
 </property>

value要是 hadoop的namenode地址,不然启动不了

四、参考文章
- [kafka+storm+hbase整合试验](https://blog.csdn.net/m0_37739193/article/details/72540800)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值