线上问诊:业务数据采集

系列文章目录

线上问诊:业务数据采集


文章目录

  • 系列文章目录
  • 前言
  • 一、环境准备
    • 1.Hadoop
    • 2.Zookeeper
    • 3.Kafka
    • 4.Flume
    • 5.Mysql
    • 6.Maxwell
  • 二、业务数据采集
    • 1.数据模拟
    • 2.采集通道
  • 总结


前言

暑假躺了两个月,也没咋写博客,准备在开学前再做个项目找找感觉,由于之前做过广告数仓的案例,这次的博客会相对简略一些,数仓包括离线和实时两个部分,离线用来加深记忆,实时用来学习新技术。


一、环境准备

由于很多内容之前博客都完成过。这里就不过多赘述了。

1.Hadoop

Hadoop学习专栏前四章内容为Hadoop集群安装。

2.Zookeeper

Zookeeper安装

3.Kafka

Kafka安装

4.Flume

Flume安装
安装好之后为了后边实验方便,修改两个参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Flume安装后需要分发到所有节点

xsync /opt/module/flume/

5.Mysql

广告数仓:采集通道创建

6.Maxwell

这里我们选用1.29.2版本,因为在1.30.0开始,放弃了对java8的支持。
在这里插入图片描述
1.上传并解压
在这里插入图片描述
在这里插入图片描述
2.创建Maxwell所需数据库和用户

CREATE DATABASE maxwell;
CREATE USER 'maxwell'@'%' IDENTIFIED BY 'maxwell';
GRANT ALL ON maxwell.* TO 'maxwell'@'%';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'maxwell'@'%';

3.修改配置文件

cp config.properties.example config.properties
vim config.properties

在这里插入图片描述

producer=kafka
kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092
kafka_topic=topic_db# mysql login info
host=hadoop102
user=maxwell
password=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true# 指定数据按照主键分组进入Kafka不同分区,避免数据倾斜
producer_partition_by=primary_key

4.启停脚本
vim ~/bin/mxw.sh

#!/bin/bashMAXWELL_HOME=/opt/module/maxwellstatus_maxwell(){result=`ps -ef | grep com.zendesk.maxwell.Maxwell | grep -v grep | wc -l`return $result
}start_maxwell(){status_maxwellif [[ $? -lt 1 ]]; thenecho "启动Maxwell"$MAXWELL_HOME/bin/maxwell --config $MAXWELL_HOME/config.properties --daemonelseecho "Maxwell正在运行"fi
}stop_maxwell(){status_maxwellif [[ $? -gt 0 ]]; thenecho "停止Maxwell"ps -ef | grep com.zendesk.maxwell.Maxwell | grep -v grep | awk '{print $2}' | xargs kill -9elseecho "Maxwell未在运行"fi
}case $1 instart )start_maxwell;;stop )stop_maxwell;;restart )stop_maxwellstart_maxwell;;
esac

5.添加权限
chmod +x ~/bin/mxw.sh

二、业务数据采集

1.数据模拟

上传模拟数据

mkdir /opt/module/mock-medical
cd /opt/module/mock-medical

在这里插入图片描述
修改配置文件
vim application.yaml
在这里插入图片描述
现在我们为其创建数据库。

mysql -uroot -p000000 -e"drop database if exists medical;create database medical charset utf8mb4 collate utf8mb4_general_ci;"

在这里插入图片描述
执行jar包
java -jar mock-medical-1.1.jar
在这里插入图片描述
在数据库检查是否获取到数据。
在这里插入图片描述
封装成脚本
vim ~/bin/medical_mock.sh

#!/bin/bashfor ((i=0; i < $1; i++))
doecho "正在执行第 $[ $i + 1 ] 次数据模拟"ssh hadoop102 "cd /opt/module/mock-medical/; java -jar mock-medical-1.1.jar"
done

2.采集通道

在这里插入图片描述
现在我们已经将初始数据输入到Mysql,接下来使用Maxwell将数据传输到Kafka。
先启动Zookeeper,Kafka和Maxwell
在这里插入图片描述
Maxwell会实时监控MYSQL数据,然后将其传送到Kafka集群,所以我们现打开一个Kafka消费集群。

bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic topic_db

在这里插入图片描述
现在我们再次生产数据输入到MYSQL,Maxwell就会将产生的数据传送到Kafka集群,我们实现打开的消费者就会收到数据。
在这里插入图片描述
出现数据,说明通道没问题。到此数据采集通道完成。


总结

这里抓一次快照,后边实时数仓还要基于这里再次开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/81020.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

byte-budddy: Unexpected type reference on method: 19

使用byte-buddy版本为1.10.1 在使用agent时&#xff0c;启动应用&#xff0c;报错如下 造成报错的相关代码 Data public class CloudAccountUpdateReq implements Serializable {private List<Valid CloudAccountDiscountDTO> discountList;}已修复 issue: https://gi…

Arduino程序设计(四)按键消抖+按键计数

按键消抖按键计数 前言一、按键消抖二、按键计数1、示例代码2、按键计数实验 参考资料 前言 本文主要介绍两种按键控制LED实验&#xff1a;第一种是采用软件消抖的方法检测按键按下的效果&#xff1b;第二种是根据按键按下次数&#xff0c;四个LED灯呈现不同的流水灯效果。 一…

面试题(二)

目录 一.集合 (1) LinkedHashMap(JDK 1.8) (2) ArrayList (3) HashMap (4) ConcurrentHashMap 二. IO流 (1) 分类 (2) 应用 三.多线程 (1) 线程状态 (2) 死锁 (3) 应用 (4) 要点 (5) 线程池 返回 ThreadPoolExecutor 类分析 线程池原理分析 四. 数据库 (1) …

0基础学习VR全景平台篇 第89篇:智慧眼-安放热点

一、功能说明 安放热点&#xff0c;是智慧眼成员们正式进入城市化管理的第一步&#xff0c;即发现问题后以安放热点的形式进行标记&#xff0c;再由其他的角色成员对该热点内容作出如核实、处理、确认完结等操作&#xff08;具体流程根据项目实际情况而定&#xff09;。 二、…

geacon_pro配合catcs4.5上线Mac、Linux

我的个人博客: xzajyjs.cn 一些链接 Try师傅的catcs4.5项目: https://github.com/TryGOTry/CobaltStrike_Cat_4.5&#xff0c;最新版解压密码见&#xff1a;https://www.nctry.com/2708.html geacon_pro: https://github.com/testxxxzzz/geacon_pro BeaconTool.jar: https:/…

BERT、ERNIE、Grover、XLNet、GPT、MASS、UniLM、ELECTRA、RoBERTa、T5、C4

BERT、ERNIE、Grover、XLNet、GPT、MASS、UniLM、ELECTRA、RoBERTa、T5、C4 ELMOBERTERNIE![在这里插入图片描述](https://img-blog.csdnimg.cn/274e31d0f8274c748d05abe2ec65fc73.png)GroverXLNetGPTMASSUniLMELECTRARoBERTaT5C4ELMO BERT

干货分享:可证明安全的隐私计算

“隐语”是开源的可信隐私计算框架&#xff0c;内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择&#xff0c;提供丰富的联邦学习算法和差分隐私机制 开源项目&#xff1a;github.com/secretflowgitee.com/secretflow 以下文章来源于DataFunTalk &#xff0c;作者洪澄 D…

Typecho博客搭建 实现公网访问内网站点

文章目录 前言1. 环境安装2.安装Typecho3.安装cpolar内网穿透4. 固定公网地址5.配置Typecho 前言 Typecho是一款PHP语言编写的开源博客程序&#xff0c;它是一个轻量级的内容管理系统&#xff0c;专注于博客领域。支持多用户、多站点、多语言等功能&#xff0c;可以满足不同用…

Go 语言在 Windows 上的安装及配置

1. Go语言的下载 Golang官网&#xff1a;All releases - The Go Programming Language Golang中文网&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 两个网站打开的内容只有语言不同而已&#xff0c;网站上清晰的标注了不同操作系统需要对应安装哪个版本&#xff0c;其中…

Ansible 临时命令搭建安装仓库

创建一个名为/ansible/yum.sh 的 shell 脚本&#xff0c;该脚本将使用 Ansible 临时命令在各个受管节点上安装 yum 存储库. 存储库1&#xff1a; 存储库的名称为 EX294_BASE 描述为 EX294 base software 基础 URL 为 http://content/rhel8.0/x86_64/dvd/BaseOS GPG 签名检查为…

【Python】强化学习:原理与Python实战

搞懂大模型的智能基因&#xff0c;RLHF系统设计关键问答 RLHF&#xff08;Reinforcement Learning with Human Feedback&#xff0c;人类反馈强化学习&#xff09;虽是热门概念&#xff0c;并非包治百病的万用仙丹。本问答探讨RLHF的适用范围、优缺点和可能遇到的问题&#xff…

如何更高效的写出更健全的代码,一篇文章教会你如何拥有一个良好的代码风格

前言&#xff1a;在平常的写代码的过程中&#xff0c;或多或少的遇到很多奇怪的 bug &#xff0c;尤其是一些大的程序&#xff0c;明明上一部分都是好好的&#xff0c;写下一块的时候突然多几百个 bug 的情况&#xff0c;然后这一块写完了后编译的时候直接傻眼了&#xff0c;看…