1、当hadoop集群中某一个节点挂了,内部数据流程是如何进行的?
每一个datanode都会定期向namenode发送heardbeat消息,当一段时间namenode没有接收到某一个datanode的消息,此时namenode就会将该datanode标记为死亡,并不会向他们发送任何的IO请求,同时任何注册到失效的namenode上的数据不会提供给hdfs所使用,当某些块的副本数小于指定的数量的时候,namenode会不断的跟踪哪些副本是需要复制的,并在必要的时候进行复制。
(官网可以了解到将datanode标记成死亡节点一般默认的时间是10分钟,但是也可以通过修改配置文件来修改下线的时间。)
2、namenode和secondarynamenode分别存储了什么数据
namenode:
1、负责接收客户端的读、写的请求
2、保存文件的时候会保存元数据,例如文件的大小、文件的归属、文件的大小
3、也会收集block的信息
secondarynamenode:
主要是用来存储日志文件,fismage和edits,定期的合并这两个日志文件。
3、集群中如何添加节点
4、mysql与orcal的区别:
1、一个是收费的,另一个是开源的
2、存储的数据量不同,orcal存储的数据量可以很大,但是mysql不可以
5、怎么检查数据有没有出现什么问题:
1、查看建表语句,看创建表时字段是否完整、语言格式是否一致
6、orcal是一个什么类型的数据库:
1、是一个关系型数据库,可以是因高吞吐量的数据库,可移植性比较好
7、sql中常见的函数有:
时间函数:
时间转成时间戳:unix_timestamp
时间戳转成时间:from_timestamp
时间相减:datadiff
窗口函数:
rank、会跳跃 1224
descrank、1223
rownmber 1234
聚合函数:sum、avg
字符串函数:substring、concat
8、orcal中的冷备份与热备份的区别与各自的优缺点:
热备份:针对归档模式的数据库,在数据库继续工作的时候进行备份,但是对于冷备份来说,指的是数据库关闭后对数据进行备份,是用于所有模式的数据库。
优缺点:
热备份:数据在备份的时候数据库可以继续进行工作,还可以恢复到任意的时间点
冷备份:操作比较简单,性能比热备份较强。
9、sql中常见的操作:
表操作:
删除表数据:truncate table 表名
修改表的名称:alter table 表名 rename to 新的表名
新增列:alter table 表名 add 列名
修改列名:alter table 表名 change 原表名 新表名 列类型
删除列:drop table 表名 drop 列名
插入数据:
insert into 表名 (列名1,列名2,列名3)values(值1,值2,值3)
更型数据:update 表名 set 列名=列值
10、数据库中笛卡尔积
指的是在数据库中,两张表在关联的时候不指定任何的关联的条件。
11、flnik中chekpoint的流程:
1、由flink创建checkpointcoordinator(检查点协调器)
2、coordinator会向所有的sourceoperater发送barrier栅栏,当sourceoperater接收到后,就会暂停一切活动(暂停的时间会比较短),并执行state快照,当一切都执行完
向coordinator进行汇报并将barrier发送到下游的operater
3、当下游的operater接收到barrier后也会向所有的sourceoperater,就会执行第二步的操作。一直到将barrier发送到sinkoperater中
4、当sink接收到这个barreier后,依旧执行步骤二,当coordinator接收到所有的operater返回的ok,本次快照拍摄结束。
12、开启checkpoint的方式:
开启checkpoint:默认情况下是禁止的,可以通过调用 StreamExecutionEnvironment
的 enableCheckpointing(n)
来启用 checkpoint,里面的 n 是进行 checkpoint 的间隔,单位毫秒。
也可以在在flink-conf.yaml配置文件中开启checkpoint。
13、flink中的state与checkpoint的主要的区别:
state:指的是某一个task或者是莫一个operater
checkpoint:指的是在某一个特定的时间的快照。
14、spark中如何解决重用:
对重复使用的RDD进行持久化:cache缓存、checkpoint持久化、广播变量
persist:cache则是persist的简化方式,cache底层是调用persist的无参构造器,无参构造器调用的是persist(StorageLevel.MEMORY_ONLY)。
15、cache与checkpoint的区别:
1、cache是基于内存的,然而对于checkpoint来说是基于磁盘的,也可以存储在hdfs等持久化存储。
16、 flink中的状态容错:savepoint、checkpoint
区别:
1、触发条件:savepoint需要手动出发,但是checkpoint是自动的触发
2、主要作用:savepoint主要是用来有计划的恢复,例如调剂并发啊等一些可能。checkpoint是当出异常的时候会自动的触发
3、特点:savepoint持久,可以手动触发恢复,但是checkpoint轻量,可以自动的触发回复。
17、怎么解决kafka数据量过大:
1、可以增加topic的分区数,可以提高并行处理更多的数据
kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --partitions 10
2、增加副本因子,可以提高数据的冗余,提高数据的可靠性
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --replication-factor 3
3、调整消费者的并行度
4、优化生产者配置:
batch.size:增加批处理提高吞吐量
5、配置清理策列:根据数据保留策略配置日志保留时间和日志大小,定期清理旧数据
6、扩大kafka集群的规模:增加broker节点的数量
18、实时计算与实时查询的区别:
实时计算指的是来一条数据就计算一条数据
实时查询指的是在海量的数据中查询数据