模拟日志数据

本文介绍如何使用Python模拟日志数据,并详细阐述Flume的特性、架构和核心组件,包括Source、Sink、Channel以及事务机制。通过Flume实现数据从多种源到大数据存储系统的高效传输。
摘要由CSDN通过智能技术生成

模拟日志数据。。

日志模拟器主要模拟站点的用户信息和用户行为日志数据 使用shell调用java类实现数据的生产 !  

所需文件如下:

datagen.jar

genlog.sh

注意: 存储数据的文件夹要预先创建好

Bash
mkdir -p /tmp/doit/user_data
mkdir -p /tmp/doit/log_data

将用来模拟生成数据的jar包和脚本下载后上传到Linux到指定位置,我当前是放到了/tmp/doit目录下,也可以放到任意目录下

执行sh脚本文件 ,内部调用datagen.jar中的java类生成特定格式的数据!  

注意修改脚本中的JAVA_HOME路径

Shell
#!/bin/bash
# $1 生成数据的种类:user | log
# 如果生成user
# $2 如果生成user,则是user数据的用户量
# $3 如果生成user,则是user数据的输出路径(到文件名)
# ===================================================
# 如果生成log
# $2, 在线人数
# $3,  要生成的日期
# $4,  1:流式生成  0:批量生成
# $5,  user数据的路径
# $6,  日志数据的输出路径(到目录)
# $7,  是否日志模式(每行flush)
# =====================================================
# 注意脚本中的java环境变量  修改成自己对应的位置
export JAVA_HOME=/opt/apps/jdk1.8.0_191/
if [ $1 = user ];then
echo "generating user data ..."
$JAVA_HOME/bin/java -cp datagen.jar cn.doitedu.datagen.beans.GenUsers $2 $3  &
fi
# 生成日志数据
if [ $1 = log ];then
echo "generating log data ..."
$JAVA_HOME/bin/java -jar datagen.jar ${2} ${3}  ${4} ${5} ${6} ${7}  &
fi

首先准备虚拟机环境 , 必须有java开发环境 ! 将所需的脚本文件和Jar包上传到指定的虚拟机中!

1.1 模拟用户数据

生成用户数据

Shell
# 初始化用户数据(10000000代表公司的用户总量级别)
sh genlog.sh user 100000 /tmp/doit/user_data/user.json

执行脚本时,要指定脚本绝对路径或相对路径

扩展:

  • 用户数据信息是存储在MySQL这样的关系型数据库中 ,
  • 可以修改日志生成脚本,在生成用户的时候 将数据存储到MySQL中
  • 也可以将数据导入到MySQL中

1.2 模拟日志数据

为公司生成1000W用户 , 日志可以滚动生成也可以批量生成

  • 0 批量生成
  • 1 流式生成

Bash
# 流式生成日志(200000代表当天在活跃用户总量)
# sh genlog.sh log 20000 2022-03-10_08:30:00 1 /tmp/doit/user_data/user.json  /tmp/doit/log_data 1
# 批量生成日志
sh genlog.sh log 20000 2022-07-09_11:11:11 0 /tmp/doit/user_data/user.json  /tmp/doit/log_data 0   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值