写流程write的客户端方法
2021-09-15 09:36:35 0 举报
写流程create方法NameNode端
作者其他创作
大纲/内容
DFSOutputStream
将写满的packet加入到dataQueue
DFSPacket
addLast(packet)
FSOutputSummer
会创建与DataNode的连接,发送ChecksumHeader的信息,接受Data Node的回应。
createPacket
创建一个block块,如果不存在块的话
将dataQueue中的packet包装发送出去
FSDataOutputStream
getFirst
writeChecksum
DataNode
createBlockOutputStream
LocatedBlock
nextBlockOutputStream
removeFirst
如果这是第一个packet,将PacketHeader的信息写入
dataQueue
BlockOpResponseProto
writeChunkImpl
locateFollowingBlock
writeTo
ackQueue
waitAndQueueCurrentPacket()
NameNode
writeChecksumChunks
先将Checksum算出,然后将其和data传入,生成chunk
DataStreaer.run
DataStreamer
ResponseProcessor
将信息写入到packet中去
write
writeData
packet
ack.readFields(blockReplyStream);
queueCurrentPacket
0 条评论
下一页