大数据采集系统搭建

简介: 大数据采集系统搭建

1 采集系统介绍

对于数据的抽取通常会搭建专业的数据采集系统来完成各种源数据的抽取。

采集系统的执⾏流程如下:


2 采集系统搭建

搭建步骤如下:

  1. 配置Kafka-Connecter(kafka-to-hdfs)
  2. 部署采集系统
  3. 部署web前端

2.1 配置

启动Kafka - Connector

先新建一个kafka-to-hdfs目录, 把lib目录复制到kafka-to-hdfs内, 目录结构如下图:

.
`-- kafka-to-hdfs
    `-- lib
        |-- kafka-to-hdfs.jar
    |-- .....

在kafka ( 项目中需要上传到kafka容器中 ) 的安装目录新建 plugins目录把kafka-to-hdfs目录复制进去, 最终目录结构如下图:

. ( kafka目录 )
|-- LICENSE
|-- NOTICE
|-- bin
|-- config
|-- libs
|-- logs
|-- plugins
|   `-- kafka-to-hdfs
|       `-- lib
|           |-- kafka-to-hdfs.jar
|           |-- ......
|-- site-docs

在config目录 找到connect-distributed.properties, 修改4项目配置, 新增加一项目配置, 详细修改如下:

## key.converter 与 value.converter 默认值
# key.converter=org.apache.kafka.connect.json.JsonConverter
# value.converter=org.apache.kafka.connect.json.JsonConverter
## 修改为:
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter
## 是否开启json转换
# key.converter.schemas.enable=true
# value.converter.schemas.enable=true
## 修改为:
key.converter.schemas.enable=false
value.converter.schemas.enable=false
## 新增配置, 指定自定义Connector的配置, 这里是以插件的方式, 这里使用的是绝对路径
plugin.path=/opt/kafka_2.11-2.2.0/plugins/kafka-to-hdfs

以上配置完成, 接下来是启动及测试

2.2 启动

启动命令如下:

# 进行kafka安装目录, 执行下面命令启动
./bin/connect-distributed.sh ./config/connect-distributed.properties
# 启动过程中没有发现报错说明启动成功, 可以使用ctrl + c 结束, 然后后台启动 
# 后台启动方式
nohup $KAFKA_HOME/bin/connect-distributed.sh $KAFKA_HOME/config/connect-distributed.properties >$KAFKA_HOME/logs/output_distributed 2>&1 &

3 提交 Connector

3.1 提交 Connector

提交接口: http://localhost:8083/connectors

请求类型: POST

参数类型: JSON

{
  "name": "visit_topic", 
  "config": {
    "connector.class": "cn.itcast.bigdata.common.kafka_to_hdfs.hdfs.HdfsSinkConnector", 
    "tasks.max": "1", 
    "topics": "visit_topic", 
    "hdfs.url": "hdfs://xc-online-hadoop:9000/",
    "flush.size": "100", 
    "expression":"yyyy-MM-dd", 
    "hdfs.path": "/user/hive/external/data_course/course_visit_source/", 
    "name": "visit_topic" 
  }
}

3.2 Connector其他REST API

注意这里是本机测试, ip为: localhost, 你测试时以你的为准

查询所有 Connector:

# 接口
http://localhost:8083/connectors
# 请求方试
GET
# 参数
无

查询指定 Connector 状态

# 接口
http://localhost:8083/connectors/{name}/status
# 请求方试
GET
# 参数 - Path Val
指定Connector的名字

查询指定 Connector 配置参数

# 接口
http://localhost:8083/connectors/{name}/config
# 请求方试
GET
# 参数 - Path Val
指定Connector的名字

删除指定 Connector

# 接口
http://localhost:8083/connectors/{name}
# 请求方试
DELETE
# 参数 - Path Val
指定Connector的名字

4 测试

测试方式:

js埋点 --> 
  数据发送到采集服务器 --> 
    采集服务器数据发送kafka --> 
      kafka-connect监听topic --> 
        数据持久化到hdfs

效果如下图:

最终hdfs上保存js埋点获取的数据, 如下图所示:

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
数据采集 缓存 大数据
【赵渝强老师】大数据日志采集引擎Flume
Apache Flume 是一个分布式、可靠的数据采集系统,支持从多种数据源收集日志信息,并传输至指定目的地。其核心架构由Source、Channel、Sink三组件构成,通过Event封装数据,保障高效与可靠传输。
649 1
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
数据采集 数据可视化 安全
基于python大数据的天气可视化分析预测系统
本研究探讨基于Python的天气预报数据可视化系统,旨在提升天气数据获取、分析与展示的效率与准确性。通过网络爬虫技术快速抓取实时天气数据,并运用数据可视化技术直观呈现天气变化趋势,为公众出行、农业生产及灾害预警提供科学支持,具有重要的现实意义与应用价值。
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。

热门文章

最新文章