当前位置: 首页 > article >正文

大数据-Storm流式框架(八)---Storm案例

中国移动项目部署文档

一、项目架构

二、启动集群

1、启动Zookeeper集群

2、启动Hbase(完全分布式需要先启动Hadoop集群)

在conf/hbase-env.sh中设置JAVA_HOME

在conf/hbase-site.xml中,仅需要指定hbase和zookeeper写数据的本地路径。默认情况下会在/tmp下创建新的目录。

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///root/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/root/zookeeper</value>
  </property>
</configuration>

我们不需要创建任何目录,hbase会创建。如果手动创建了,hbase会做一个迁移,这不是我们想要的。

bin/start-hbase.sh脚本用于启动hbase。启动成功,hbase会在标准输出打印成功启动的信息。使用jps查看进程,会只有一个HMaster进程。这个进程中包含了一个HMaster、一个HRegionServer以及一个zookeeper的daemon。它们在同一个进程中。



1、连接HBase:
	shell> ./bin/hbase shell
2、在hbase的shell中输入help并回车,获取帮助:
	hbase(main):001:0> help
3、创建表
	使用create命令创建表,必须指定表名和列族的名称
	hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds

=> Hbase::Table - test

4、列出表的信息
	使用list命令列出信息。
	hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds

=> ["test"]

5、向table插入数据
	使用put命令。
	hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds
	以上,插入了三个值,每次一个。第一次在row1的位置,cf:a列插入值value1。hbase中的列由列族前缀cf跟一个冒号,再跟一个列标识符后缀比如a。

6、一次性扫描表中的所有数据
	要查询表中的数据,可以使用scan命令。可以在该命令中使用限定条件,下面获取了表中的所有数据:
	hbase(main):016:0> scan 'test'
ROW                     COLUMN+CELL                                                                                                
 	row1                      column=cf:a, timestamp=1568514191889, value=value1                                                         
 	row2                      column=cf:b, timestamp=1568514198429, value=value2                                                         
row3                      column=cf:c, timestamp=1568514205341, value=value3                                                         
3 row(s) in 0.0350 seconds

7、查询一行记录
	使用get命令一次获取一行记录
	hbase(main):017:0> get 'test', 'row1'
COLUMN                         CELL                                                                                                       
 	cf:a                              timestamp=1568514191889, value=value1                                                                      
1 row(s) in 0.0140 seconds

8、禁用一张表
	如果要删除表或更改表的设置,需要先使用disable命令禁用该表,之后也可以使用enable命令重新使用该表。
	hbase(main):018:0> disable 'test'
0 row(s) in 1.3350 seconds

hbase(main):019:0> enable 'test'
0 row(s) in 0.2520 seconds

	再次使用disable命令禁用该表:
	hbase(main):020:0> disable 'test'
0 row(s) in 1.2580 seconds

9、删除表
	在表已经禁用的情况下,使用drop命令删除表
	hbase(main):021:0> drop 'test'
0 row(s) in 0.1550 seconds

10、退出HBase的shell
	退出shell断开到集群的连接,可以使用quit命令。但是hbase服务进程仍然在后台运行。
	hbase(main):022:0> quit
[root@node1 hbase-0.98.12.1-hadoop2]#

11、停止hbase服务进程
	bin/start-hbase.sh开启hbase的所有进程,bin/stop-hbase.sh用于停止所有hbase进程。
	[root@node1 hbase-0.98.12.1-hadoop2]# bin/stop-hbase.sh 
stopping hbase..................
[root@node1 hbase-0.98.12.1-hadoop2]#
12、使用jps查看进程信息,确保hbase的HMaster和HRegionServer进程成功关闭:
	[root@node1 hbase-0.98.12.1-hadoop2]# jps
2831 Jps
[root@node1 hbase-0.98.12.1-hadoop2]#start-hbase.sh
3、启动Kafka集群
	bin/kafka-server-start.sh config/server.properties

三、项目部署

1、在Hbase中创建如下表:

start-hbase.sh

hbase shell

create 'cell_monitor_table','cf'

  1. 修改项目配置

A、cmccstorm项目

    1. 修改cmcc.constant.Constants中对应各配置项。

如:HBASE_ZOOKEEPER_LIST、KAFKA_ZOOKEEPER_LIST、BROKER_LIST、ZOOKEEPERS

B、cmccweb项目

  1. 修改cmcc.hbase.dao.impl.HBaseDAOImp中Hbase的Zookeeper集群配置
  2. 启动生成测试数据的方法 -- cmccstorm

运行kafka.productor. CellProducer,随机生成模拟数据,并将数据写入到Kafka中。

此时,可查看Kafka中topic列表:

bin/kafka-topics.sh --zookeeper node2:2181,node3:2181,node4:2181 --list

bin/kafka-topics.sh --zookeeper node2:2181,node3:2181,node4:2181 --create --replication-factor 2 --partitions 1 --topic mylog_cmcc

bin/kafka-console-consumer.sh --zookeeper node2:2181,node3:2181,node4:2181 --from-beginning --topic mylog_cmcc

mylog_cmcc为模拟数据发送至Kafka中的topic

查看数据:

bin/kafka-console-consumer.sh --zookeeper node2:2181,node3:2181,node4:2181 --topic mylog_cmcc

  1. 启动storm分析-- cmccstorm

(当前项目以本地测试为例)

运行topo.KafkaOneCellMonintorTopology,从Kafka中读取数据,Storm分析之后,结果写入Hbase中存放。

此时,若已经产生“掉话”情况,分析结果在Hbase当中可以查看到:

  1. 启动web展示项目 -- cmccweb

将cmccweb添加到Tomcat中,启动Tomcat服务,浏览器通过访问以下地址查看:

http://localhost:8080/cmcc/onecellmonitor.jsp


http://www.kler.cn/news/108723.html

相关文章:

  • Docker 批量导入镜像
  • VTK OrientationMarker 方向 三维坐标系 相机坐标轴 自定义坐标轴
  • Monocular arbitrary moving object discovery and segmentation 论文阅读
  • IconWorkshop 6软件官方下载:制作ICO/ICON图标、编辑、转换图标
  • Web攻防06_sqlmap的使用
  • Java面试基础篇
  • 《C和指针》(6)指针
  • JAVA面试题简单整理
  • php使用lunar实现农历、阳历、节日等功能
  • SpringBoot小项目——简单的小区物业后台管理系统 认证鉴权 用户-角色模型 AOP切面日志 全局异常【源码】
  • 云原生微服务治理 第四章 Spring Cloud Netflix 服务注册/发现组件Eureka
  • 【C++项目】高并发内存池第五讲内存回收释放过程介绍
  • 如何利用 ChatGPT 提升编程技能
  • RabbitMQ生产者的可靠性
  • 洛谷 B2029 大象喝水 C++代码
  • pandas笔记
  • spring-aop-execution表达式
  • vue3.0运行npm run dev 报错Cannot find module node:url
  • 文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题
  • Java SE 学习笔记(十七)—— 单元测试、反射
  • POJ 1201 Intervals 线段树
  • 微信小程序之投票管理
  • Leetcode—274.H指数【中等】
  • Java 四种引用类型
  • 【网络协议】聊聊TCP如何做到可靠传输的
  • redis 常用方法
  • 71 搜索二维矩阵
  • 大数据之LibrA数据库常见术语(十)
  • Springmvc 讲解(1)
  • 嵌入式开发