namenode

package
v0.0.0-...-943f040 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ListMetaData

type ListMetaData struct {
	FileName string
	FileSize uint64
}

type NameNodeDeleteRequest

type NameNodeDeleteRequest struct {
	RemoteFilePath string
	FileName       string
}

type NameNodeFileSize

type NameNodeFileSize struct {
	FileSize uint64
}

type NameNodeListRequest

type NameNodeListRequest struct {
	RemoteDirPath string
}

type NameNodeMetaData

type NameNodeMetaData struct {
	BlockId        string
	BlockAddresses []datanode.DataNodeInstance //datanode的实例数组
}

NameNodeMetaData nameNode的元数据,包含块id,块地址

type NameNodeReNameFileRequest

type NameNodeReNameFileRequest struct {
	ReNameSrcFileName  string
	ReNameDestFileName string
}

type NameNodeReNameRequest

type NameNodeReNameRequest struct {
	ReNameSrcPath  string
	ReNameDestPath string
}

type NameNodeReadRequest

type NameNodeReadRequest struct {
	FileName string
}

type NameNodeWriteRequest

type NameNodeWriteRequest struct {
	RemoteFilePath string
	FileName       string
	FileSize       uint64
}

NameNodeWriteRequest nameNode写入请求

type ReDistributeDataRequest

type ReDistributeDataRequest struct {
	DataNodeUri string
}

type Service

type Service struct {
	PrimaryPort         string
	Host                string
	Port                uint16
	BlockSize           uint64
	ReplicationFactor   uint64
	IdToDataNodes       map[uint64]datanode.DataNodeInstance
	FileNameToBlocks    map[string][]string //key:path+filename
	BlockToDataNodeIds  map[string][]uint64 //key:BlockId value:主+备份节点
	FileNameSize        map[string]uint64   //文件大小 key:path+filename
	DirectoryToFileName map[string][]string //目录下对应的文件 key:path value:该目录下所有文件名
}

func NewService

func NewService(primaryPort string, serverHost string, blockSize uint64, replicationFactor uint64, serverPort uint16) *Service

func (*Service) DeleteFileNameMetaData

func (nameNode *Service) DeleteFileNameMetaData(request *NameNodeDeleteRequest, reply *bool) error

DeleteFileNameMetaData 删除文件相关的元数据信息

func (*Service) DeleteMetaData

func (nameNode *Service) DeleteMetaData(request *NameNodeDeleteRequest, reply *bool) error

DeleteMetaData 删除路径相关的元数据信息

func (*Service) FileSize

func (nameNode *Service) FileSize(request *NameNodeReadRequest, reply *NameNodeFileSize) error

FileSize 获取文件对应的文件大小

func (*Service) GetBlockSize

func (nameNode *Service) GetBlockSize(request bool, reply *uint64) error

GetBlockSize 获取存储的每个Block大小

func (*Service) GetIdToDataNodes

func (nameNode *Service) GetIdToDataNodes(request *bool, reply *[]datanode.DataNodeInstance) error

GetIdToDataNodes 获取当前存活的datanode元数据组信息:host+port

func (*Service) List

func (nameNode *Service) List(request *NameNodeListRequest, reply *[]ListMetaData) error

List 罗列出文件夹中的文件信息

func (*Service) ReDistributeData

func (nameNode *Service) ReDistributeData(request *ReDistributeDataRequest, reply *bool) error

ReDistributeData 当有dataNode节点dead,将死亡的节点上的数据进行备份,重新分配备份节点写入

func (*Service) ReName

func (nameNode *Service) ReName(request *NameNodeReNameRequest, reply *[]datanode.DataNodeInstance) error

ReName 重命名文件目录

func (*Service) ReNameFile

func (nameNode *Service) ReNameFile(request *NameNodeReNameFileRequest, reply *bool) error

ReNameFile 修改文件名

func (*Service) ReadData

func (nameNode *Service) ReadData(request *NameNodeReadRequest, reply *[]NameNodeMetaData) error

ReadData 读取文件对应的元数据数组 request:文件名:path + fileName 返回信息:BlockIds对应的BlockAddresses(datanode的host+port)

func (*Service) ReplicationnameNode

func (nameNode *Service) ReplicationnameNode(request *bool, reply *Service) error

ReplicationnameNode 获取主nameNode节点的元数据信息:FileNameToBlocks,IdToDataNodes,BlockToDataNodeIds,FileNameSize,DirectoryToFileName

func (*Service) WriteData

func (nameNode *Service) WriteData(request *NameNodeWriteRequest, reply *[]NameNodeMetaData) error

WriteData 传入写入请求:{路径,文件名,文件大小} 返回数据:元数据数组,包含每个BlockId对应多个datanodeId(备份)

type UnderReplicatedBlocks

type UnderReplicatedBlocks struct {
	BlockId           string
	HealthyDataNodeId uint64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL