一、Linux
1、常用高级命令列出5个
ps -ef top df -h io top xargs tail uptime netstat
cd ls mkdir
2、查看磁盘使用情况、查看进程、查看端口号
df -h top ps netstat
二、Shell
1、常用工具 (只需要知道名称)
awk、sed 、cut sort 京东 遍历文件夹,读取文件,读取哪行 截取相应内容
2、用shell写过哪些脚本
1)集群启动 分发脚本
#!/bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i ""
done
};;
"stop"){
};;
esac
2)数仓与mysql的导入导出
sqoop --连接mysql hadoop102:3306 root password
--hdfs 路径 路径存在要删除
--quary "select id ,name from 表 创建时间、操作时间" and 命令
全量:where 1 =1 增量 :创建时间
新增和变化:创建时间 or 操作时间
-- 空值处理
--一致性
3)数仓层级内部的导入 ods ->dwd 5步骤
#!/bin/bash
#2定义变量
hive=/opt/module/hive/bin/hive
APP=gmall
#3获取时间
if [ -n "$1" ]; then
do_date=$1
else
do_date=`date -d "-1 day" +%F`
fi
#4 sql
sql="
先写1天 2020-03-10
遇到表,在表前面加上 {$APP}.表名
遇到时间,把时间替换 $do_date
"
# 5 执行sql
$hive -e "$sql"
三、hadoop
1、入门
1)常用端口
hadoop2.x 50070 8088 19888 9000
2)安装hadoop过程中的配置文件
hadoop2.x 8个
core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml
hadoop-env.sh yarn-env.sh mapred-env.sh
slaves(服务器节点、不能有空行、不能有空格)
2、HDFS
1)HDFS的读写流程 笔试题 (有没有朋友) 每组有自己的小群,都是好哥们=》
哥们也不会=》班长、我、其他老师
10亿条join 10条 怎么优化
2)小文件问题
(1)会影响什么
nn内存=》1个文件块,占用namenode多大内存150字节
1亿个小文件*150字节 =
1 个文件块 * 150字节
128G能存储多少文件块?
128 * 1024*1024*1024byte/150字节 = 9亿
分片=》maptask
默认1个文件一个切片
(2)怎么解决
采用har归档方式,将小文件归档 + 自定义Inputformat把数据放入sequence
采用combineFileInputforamt
JVM 重用 ,如果没有小文件,不要开启JVM
开始
执行任务 3s
执行任务 1s
结束
3、MapReduce
shuffle及其优化
shulle map方法之后,reduce方法之前,混洗的过程
default=>site.xml=》idea的配置文件=》代码
wordcount
4、YARN
1)工作机制 笔试题
2)调度器
FIFO 容量、 公平
默认调度器是哪个:Apache是容量、CDH是公平
(1)FIFO:支持单队列 、先进先出 生产环境不会用
(2)容量调度:支持多队列,优先保证先进入的任务资源执行
(3)公平调度器:支持多队列,保证每个任务公平享有队列资源
(4)在生产环境下怎么选择?
大厂:如果对并发度要求比较高,选择公平,要求服务器性能必须OK;
中小公司,集群服务器资源不太充裕选择容量。
(5)容量调度器默认几个队列
就1个default
(6)在生产环境会怎么创建队列?
按照框架:hive /spark/ flink 每个框架的任务放入指定的队列(企业用的不是特别多)
按照业务模块:登录注册、购物车、下单、业务部门1、业务部门2、
因为怕新员工进来,写递归死循环代码,把所有资源全部耗尽。
rm -rf /* 5个 上个月 rm -rf /* 廊坊 5s =》已经转正
新浪 dwd层 话说话费劲 站不起来 =》成功转正
任务的级别 降级使用
业务部门1
业务部门2
下单
购物车
登录注册
四、Zookeeper
1、半数机制,安装奇数台
2、常用命令
ls get create
3、paxos算法 今日头条
4、安装台数
10台服务器安装多少zk 3台
20台服务器安装多少zk 5台
50台服务器安装多少zk 7台
100台服务器安装多少zk 11台
Zookeeper越多好还是越少好?
台数多,好处:提高可靠性;坏处:影响通信延时
五、flume 三件事
1、组成source channel sink 事务(put/take)
1)taildir source
(1)断点续传、多目录
(2)哪个flume版本产生的?Apache1.7 cdh1.6
(3)没有断点续传功能时怎么做的?
自定义
(4)taildir挂了怎么办?
不会丢数:断点续传
重复数据:
(5)怎么处理重复数据?
不处理:生产环境通常不处理
处理
自身:在taildirsource里面增加自定义事务
找兄弟:下一级处理(hive dwd sparkstreaming flink布隆)
去重手段(groupby、开窗取窗口第一条、redis)
(6)taildir source 是否支持递归遍历文件夹读取文件?
不支持。 自定义 递归遍历文件夹 +读取文件
2)file channel /memory channel/kafka channel
(1)file channel
数据存储于磁盘,优势:可靠性高;劣势:传输速度低
默认容量:100万event
(2)memory channel
数据存储于内存,优势:传输速度快;劣势:可靠性差
默认容量:100个event
(3)kafka channel
数据存储于Kafka,基于磁盘;
优势:可靠性高;
传输速度快 kafka channel》memory channel+kafka sink 原因省去了sink阶段
(4)kafka channel哪个版本产生的?
flume1.6 版本产生=》并没有火;因为有bug
topic-start 数据内容
topic-event 数据内容 ture 和false 很遗憾,都不起作用。
增加了额外清洗的工作量。
flume1.7解决了这个问题,开始火了。
(5)生产环境如何选择
如果下一级是kafka,优先选择kafka channel
如果是金融、对钱要求准确的公司,选择file channel
如果就是普通的日志,通常可以选择memory channel
每天丢几百万数据 pb级 亿万富翁,掉1块钱会捡?
3)HDFS sink
(1)时间(1小时-2小时) or 大小128m、event个数(0禁止)
2、三个器(拦截器、选择器、监控器)
1)拦截器
(1)ETL
数据清洗:轻度清洗{} =》保证传输效率
服务器时间:13位 必须全部是数字
(2)分类型
start 启动
event
(商品列表、商品详情、点击、
广告
点赞、评论、收藏
故障
后台活跃、通知
)
一个表一个topic,一定能满足下一级所有消费者;
可以做适当的轻度聚合
(3)自定义拦截器的步骤
定义一类,实现interceptor接口,重写里面4个方法
(初始化、关闭、单event、多event,创建一个静态内部类Builder)
打包=》上传到flume的lib包下=》在配置文件中管理拦截器
(4)拦截器可以不用吗?
可以器可以不用;需要在下一级hive的dwd层和sparksteaming里面处理
优势:只处理一次,轻度处理,
劣势:影响性能,不适合做实时推荐这种对实时要求比较高的场景
2)选择器
rep(默认,发往下一级所有通道)
m(选择性发往对应通道)
ReplicatingChannelSelector
MultiPlexingChannelSelector
本次项目用m,根据flume头发往对应的topic
start-topic event-topic
3)监控器
g
尝试提交的次数远远大于最终成功的次数。
自身:增加内存flume-env.sh 4-6g
找朋友:增加服务器台数
搞活动 618 =》增加服务器=》用完在退出
日志服务器配置:8-16g内存、磁盘8T
3、优化
1)file channel 可以配置多目录(多磁盘)提高吞吐量
2)HDFS sink 小文件
(1)时间(1小时-2小时) or 大小128m、event个数(0禁止)
3)监控器
调整内存
自身 提高自己内存
找朋友 增加flume台数
4)flume挂了怎么办?
六、Kafka 24件
1、基本信息
1)组成 (四块) 生产者 blocker consumer zookeeper(存储blocker,consumer信息等不存储blocker信息)
2)需要安装多少台?
2 *(生产者峰值生产速率 * 副本 /100) + 1 = 3台
2 * (n*2 /100)+1 = 3 n=50 m/s
2 * n + 1 一般3太就够了
3)副本2-3个,2个居多
副本的优势:提高可靠性;
副本劣势:增加了网络IO传输
4)生产者峰值生产速率 ? 压测 必须进行 100亿数据什么时候能 迭代过程 和台数 迭代压测
百兆/s 消费速率 百兆/s
5)监控器用的什么?
kafkamanager managermonitor egale 都是开源
我们都是自己研发的。 仰视大佬 (如果面试官说 我们都是自己研发的)
6)Kafka数据保存多久
默认保存7天;生产环境建议3天 (底气在于日志服务器默认保存30天,不怕丢失 flume当天要消费完前一天的数据 所以3天就够了)
7)数据量
条/s m/s
日活 100万(用户数) 1人1天100条(中间值) 一天多少条日志=100万*100条=1亿
1亿/(24*3600s) = 1150条/s
1条日志1k (0.5k-2k)
1m/s
什么时间点数量最大,能达到多少?
晚上7-10点 =》 20m/s -30m/s 不要超过50m/s
100g
8)给Kafka磁盘预留多大空间
100g * 2个副本* 3天 /0.7 zabbix
留30%的空间 一般来说
9)设置多少个分区
3-10个
(1)设置1个分区
(2)压测:生产者峰值生产速率tp ,消费者峰值消费峰值速率tc
(3)有个预期的吞吐量t
(4)分区数=t /min(tp,tc)
tp = 20m/s tc=50m/s t =100m/s
分区数=100 /20 =5个
分区数影响了并发度
10)isr 解决leader挂了谁当老大;谁在isr队列,就有机会;
旧版:延迟时间、延迟条数; 新版:延迟时间
11)分区分配策略
range(默认)
10个线程 3个分区
1 2 3 4
5 6 7
8 9 10
容易产生数据倾斜
roundRobin
hash 随机打散,再采用轮询,尽量减少数据倾斜。
2、挂了
短时间数据进入到flume channel
长时间有日志服务器30天数据
3、丢失数据
ack
0 发送过去就不管了 , 可靠性最差 传输效率最高
1 发送过去,leader应答; 可靠性一般 传输效率一般
-1 发送过去leader和follower,共同应答;可靠性最高;传输效率最低
在生产环境怎么选?
0是没人选的。
如果是普通日志,通常选择1 最求效率
如果是金融和钱相关的,通常选择-1 上海
4、重复数据
1)不处理
2)处理
幂等性+事务+ ack=-1
下一级处理
hive dwd sparkstreaming (groupby、开窗取窗口第一条、redis)
精确一次消费
5、数据积压了
自身 :增加分区 消费者也要增加消费线程(sparkstreaming CPU核数)
5个分区 CPU核数5 个
128m 1g内存
找兄弟: 提高下一级消费者的消费能力 batchsize(1000/s =》2000-3000)
6、优化
num.network.threads=3 计算线程 线程数=CPU核数+1 =9
num.io.threads=8 IO线程 线程数=CPU核数*2 = 16
CPU核数为8
压缩:优势:减少磁盘空间、提高网络传输效率; 劣势: 频繁计算场景,就不要采用
kafka内存调整到4-6g,不要超过6g。6g还不行,增加kafka台数
7、其他
1) 为什么kafka传输效率快?
分布式集群、采用分区
顺序读写 600m/s 随机读写 100m/s
0拷贝技术、压缩
2)如果传输的日志文件2m,会有什么问题?
kafka不能生产、也不能消费
3)Kafka过期数据清理
七、Hive
1、组成
mr /tez /spark/
mr引擎:基于磁盘,计算时间比较长,但是能算出结果(周指标、月指标、年指标)
tez引擎:基于内存,计算速度快,如果宕机,数据直接丢(临时调试,容易OOM)
spark引擎:基于磁盘和内存(每天的定时任务)
2、与mysql区别/hbase
hive mysql
数据量大小 大 小
速度 数据量大/快 数据量小/快
查询 增删查改
3、内部表和外部表区别
元数据、原始数据
删除数据时:
内部表:元数据、原始数据 全删除
外部表:元数据 只删除
在公司生产环境下,什么时候创建内部表,什么时候创建外部表?
在公司中绝大多数场景都是外部表。
自己使用的临时表,才会创建内部表;
4、4个by
o 全局排序
s 排序
d 分区
c 排序和分区字段相同时使用
在生产环境order by用的多吗? 京东 oom 40-50t内存
s+d 在生产环境用的最多。分区内排序
c 比较少
5、函数:
1)系统函数
日 date_add date_sub
周 next_day
月 date_format last_day
解析json get_json_object
2)自定义函数
UDF/UDTF(hive)、UDAF(spark)
在项目中用UDF解析公共字段
在项目中使用UDTF解析的是事件字段
如果项目中不用自定义UDF、UDTF能解析吗?
可以用系统函数get_json_object
用系统函数能解决,为什么还要自定义?
自定义函数更灵活,方便调试bug
自定义UDF步骤?
定义类,继承UDF,重新里面evaluate方法
自定义UDTF步骤
定义类,继承G...UDTF ,重写3个方法 初始化、process、关闭
打包=》上传到集群=》在hive里面创建永久函数
3)窗口函数
rank
over
手写topn
6、优化
1)mapjoin默认打开,不要关闭;
2)行列过滤 join where =>where join
3)创建分区表; 分桶(对数据不太清楚 ,采样)
4)小文件
CombineHiveInputformart 减少切片,进而减少Maptask
开启JVM重用
merge maponly任务,默认功能打开
MapReduce任务,需要打开merge功能。
执行完任务之后,会将小于16m的文件,合并到256m(hive的块大小)
5)合理设置map个数和reduce个数;
map个数怎么设置? 切片 max(0,min(块大小,Long的最大值))
128m数据对应1g内存
6)压缩 好处:减少磁盘空间,减少网络传输; 坏处:增加了解压缩计算
7)采用列式存储orc、parquet 提高查询效率;提高压缩的比例 100g=>10g 5-6g
id name age
1 zs 18
2 lisi 19
3 wangwu 20
行 1 zs 18 2 lisi 19 3 wangwu 20
select age from user 随机读写
列 1 2 3 zs lisi wangwu 18 19 20
select age from user 顺序读写:18 19 20
8)在map端开启combiner
7、数据倾斜
静态分区
insert overwrite table1 partition(dt="2020-03-10")
select
age,
name
from user
// 动态分区
insert overwrite table1 partition(dt)
select
age,
name,
dt
from user
8、hql练习
八、sqoop
1、遇到过哪些问题?怎么解决的
1)空值问题 2个 2个
hive mysql
\N null
2)数据一致性问题
hive =》 mysql导出
4个map
2个成功、2个失败
gmv 1亿 1万 跳楼
1万 1亿 疯了
原则:数据可以没有,但是不能错(决策)
--staging
3)ads层是parquet/orc =》mysql
不能成功;
推荐:ads层就不要建列式存储的表
ads parquet/orc=》临时表textfile=》mysql
ads parquet/orc +加参数 =》mysql
4)sqoop每天向HDFS导入多少数据?
100万日活、业务数据
普通的日常消费品电商:10万
每人每天多少条 10条
10万 * 10条 = 1g数据量
1g
5)面试官公司,数据量比较大,发生了数据倾斜?怎么办?
九、数据项目架构
1、质疑项目
2、数据仓库的输入数据源和输出系统分别是什么?
输入:用户行为数据、业务数据、爬虫(灰色地带)
输出:报表 (用户画像、推荐)
高数、线性代数、概率(考过研究生 )
3、 版本选型
Apache:开源、免费、 需要自己解决兼容性问题;大厂和比较有实力的公司
hadoop3.1.3 spark2.4.5 hive3.1.0 2天 尚大
CDH :不开源,不能编译源码; 收费(7.0以后)
5.12.1 5.16 6.2.0 6.3.0 =》CDH市场上最多;大家也知道要收费;
java程序员,
HDP:可以重新编译源码;已经被CDH 收购了
CDP:(7.0以后) 10000美金 6万 100台
建议公司,赶紧备用一套Apache; 只有你会。再也不敢开除你;
4、物理机、云主机
(1)一共4万 用5年
(2)云主机,以阿里云为例,差不多相同配置,每年5W
(1)物理机:需要有专业的运维人员(1万*13)、电费(商业用户)、安装空调
(2)云主机:很多运维工作都由阿里云已经完成,运维相对较轻松
生产环境怎么选择?
金融公司(着急),和阿里没有直接冲突的公司,一般选择阿里云;
小公司,需要融资上市的,先用阿里云搭建一个效果;
如果能拉到融资,后续会买物理机;如果拉不到,那就凉凉;
中型上市公司、传统行业的公司;资金比较充足;有长期打算的。运维技术实力比较强 选择物理机
5、三年的数据都会保存吗?
生产环境有的公司
1)保留半年
2)保留1年
3)保留2年
4)保留3年
非保留的数据,不是删除;
不是删除,只是永久备份;
公司稍微有点钱的话,保留数据。他会把数据备份。
6、用户行为数据中,哪张表的数量最多,是多少?
商品列表、商品详情、点击、广告、点赞、评论、收藏、故障、启动、通知、后台活跃
100g =>点击?
平均值:100g/11 = 10g
点击表的数量是平均值的2-3倍
7、业务数据中,哪张表的数据量最多,是多少?
订单、用户、支付、订单详情、商品表、三级分类、二级分类、一级分类
30张
平均值:1g/30张=34m
订单详情:100m
刚毕业去哪种公司比较好?
小型公司;
中型公司;
大型公司;
大厂公司;
互联网公司、传统公司
能进大厂肯定要进;只会一项技术;(sql/实时) =》1-2年=》再出来还得跳大厂
中小公司,从0-1的比较多 把系统搭建完就可以了。 什么时候搭建完,什么时候走
不要被温水煮青蛙
外包分两种:
一种,把活接到外包公司,政府项目,追求的是快,不重视质量。内部有成熟的解决方案;比较累。
另一种,外包到大厂;驻场; 平安、华为、阿里、腾讯 建议去。 长见识。
去一个比较优秀的团队;最好有大厂出来的,技术水平比较高。团队氛围比较好。
技术到位、钱到位;人是否顺眼
十、数仓项目
1、ods
1)保持数据原貌不做任何修改
2)数据压缩;LZO。减少磁盘空间;100g=>10g
3)分区表,防止后续的全表扫描
用户行为: string line dt
ods_start 启动;
ods_event(商品列表、商品详情、点击、
广告、
点赞、评论、收藏
故障
后台活跃、通知
)
业务数据:8张表(订单表、用户、支付、订单详情、商品表、三级分类、二级分类、一级分类)
2、dwd
1)ETL :核心字段有意义,去重、去null
2)ETL的工具是什么?hive hql 、spark sql 、mr、Python、kettle
3)清洗掉多少算正常?1/万
4)维度退化
商品表、三级分类、二级分类、一级分类=》商品表
省份+地区=>省份
维度建模:星型模型(选择)、雪花模型、星座
减少重复join操作
5)脱敏:身份证号、手机号、个人信息 135*****0013
6)压缩:优势:减少磁盘空间
7)列式存储,parquet,提高查询效率;
8)分区表
用户行为
ods_start; =》get_json_object
ods_event; =>UDF /UDF/UDTF=>get_json_object
业务数据:8张表(订单表、用户、支付、订单详情、商品表)
3、dws
用户行为宽表、商品宽表、设备行为宽表
1)哪张宽表最宽?
用户行为宽表
2)这个宽表有多少个字段?
60-100个
3)哪100个字段?
一口气说出30个字段就行
今天登陆次数;点赞次数、评论次数、收藏次数、取消点赞次数、
加入购物车次数、下单次数、取消下单次数、取消收藏次数、追加评论次数、
支付次数、支付金额、下单金额、取消订单的商品数据、取消订单的商品金额、
发货次数、退款次数、退款的金额;
4)留转G复活
日活:100万
月活:是日活的2-3倍 300万
总注册的用户多少?1000万-3000万之前
GMV:每天 10万订单 (50 - 100) 500万-1000万
10%-20% 100万-200万(人员:程序员)
复购率 某日常商品复购;(手纸、面膜、牙膏)10%-20%
电脑、显示器、手表 1%
转化率: 商品详情 =》 加购物车 =》下单 =》 支付
5%-10% 60-70% 90%-95%
留存率: 1/2/3、周留存、月留存
搞活动: 10-20%
4、ads 100-200个指标
分析指标;
一口气30个指标;
日活、新增、留存、转化率、流失、回流、连续三周活跃、
7天内连续三天登录;GMV、复购率;复购率排行;
要求可以现场手写;
新增
新增和变化
全量
新增:--quary "select * from 表 where createtime=今天" and 命令
新增和变化:--quary "select * from 表 where createtime=今天 or operatetime =今天" and 命令
全量:--quary "select * from 表 where 1=1" and 命令
作为架构师的技术选型
clickhouse:可以支持多表
druid:支持实时、和批处理;处理速度快;但是只支持单表;为啥快?
行:按照时间预聚合,列:采用列式存储,查询速度快
kylin:预计算:结果算好,写入hbase;
presto:基于内存;速度很快;容易出现OOM 支持的数据源比较多
impala:基于内存;速度很快;容易出现OOM 支持的数据相对少 性能比presto更优秀一些。
在生产环境:如果是CDH框架选择impala ;如果Apache选择presto
spark:基于和内存和磁盘;主要跑每天的定时任务;
es : 主要用于存储和查询;一般用在没有大数据集群场景; 一般用于存储用户画像标签
标签:喜欢晚上工作、喜欢晚上买手纸、喜欢晚上运动、
50m/s 60s 3000m/s *30 = 90g 100g 40分钟 120g
azkaban
1)每天里面跑多少指标?
100-200个离线指标
普通没有活动时,100个
搞活动:200个
元旦、春节、情人节、3.8 、端午节、清明节、6.18、中秋节、国庆节
劳动节、54青年节、植树节、11。11 12.12 1024
周末
新产品上线、新市场的开拓
2)任务挂了怎么办?
00:30 发个邮件(普通)、打电话(重要)
打开电脑,vpn远程连接公司电脑,重新执行该任务
yarn(任务队列分等级:新产品、新市场、6.18重要活动) (购物车、日活)
3)数据仓库每天跑多少张表,大概什么时候运行,运行多久?
70-100 00:30 6-7小时 8点
用户行为 业务数仓
ods 6张 27张表
dwd 11张 20
dws 6
dwt 6
ads 20
age 1-150 边界值 1 150 -1 151
等价类: 50 100
瀑布式开发 V字形开发1年-3年
需求 需求测试
总体设计 系统集成测试
软件概要设计 软件集成测试
软件详细设计 单元测试
代码 代码走查
敏捷式开发 小步快跑
需求 10
代码
测试
需求 10
代码
测试
需求 10
代码
测试
实时数仓
实时项目
flink项目
数据湖
ranger azkaban打电话
数量质量
在线教育: 卖课
电商:日用品、卖书、卖医疗设备
小说:卖小小说
医疗:卖医疗设备、卖的医生咨询服务
旅游:卖车票、旅游路线、房间预订
15 20 学历、年龄、java开发
30k 拼多多
回顾:
一、Linux:
常用高级命令5个 :查看端口号、查看进程、查看磁盘使用情况
二、Shell
1、shell工具
awk /sed sort cut
2、写过哪些脚本
1)启动停止
2)数仓与mysql的导入导出
3)数仓层级内部的导入
三、hadoop
1、入门
1)常用端口号
2)8个安装配置文件
3)1.x和2.x区别
2、HDFS
1)HDFS读写流程
2)小文件
3)有多少个副本
4)块大小多大
3、mapreduce
1)Shuffle 及其优化、压缩
4、yarn
1)yarn工作机制
2)调度器
四、Zookeeper
1、选举机制
2、常用命令
3、安装多少台
五、flume 三件事
1、Flume的组成
1)taildir source
为什么选他?
哪个版本产生的?
没产生这个source之前,怎么实现的断点续传?
挂了怎么办?
数据重复了怎么办?
是否支持递归遍历文件夹读取文件?
2)channel
几种channel?各自的优缺点?什么场景下使用
3)hdfs sink
有什么问题?怎么解决
4)事务 put take
2、三个器(拦截器、选择器、监控器)
1)拦截器
ETL 做什么事? 为什么这样做?
分类型
分了几类?为什么这么分?
自定义拦截器步骤?
拦截器是否可以取消? 好处和坏处
2)选择器 有几种 项目中用的那种
3)监控器 监控了什么?出现性能问题怎么处理?
3、优化
1)file channel
2)hdfs sink
3)3)监控器
4)flume挂了怎么办?
六、Kafka
1、基本信息
1)组成 p b c zk
2)安装多少台 2(生产者峰值生产速率*副本/100) +1 = 3
3)压测
4)副本 好处和坏处
5)保存多少
6)数据量?100万 1150条/s 1m/s
7)分区数 总吞吐量/min(tp,tc) 3-10
8)分区分配策略
9)isr
10)多少个topic
11)是否做监控器
2、挂了
3、丢失数据
4、重复数据
5、数据积压了
6、优化
副本、保存时间
压缩
kafka内存默认1g 生产环境调整到4-6g
7、其他
为什么读写效率比较高
1m