datanode

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: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataNodeData

type DataNodeData struct {
	Data string
}

type DataNodeDeleteRequest

type DataNodeDeleteRequest struct {
	RemoteFilepath string
	BlockId        string
}

type DataNodeGetRequest

type DataNodeGetRequest struct {
	RemoteFilePath string
	BlockId        string
}

type DataNodeInstance

type DataNodeInstance struct {
	Host        string //地址
	ServicePort string //端口号
}

type DataNodePutRequest

type DataNodePutRequest struct {
	RemoteFilePath   string
	BlockId          string
	Data             string
	ReplicationNodes []DataNodeInstance
}

type DataNodeReNameRequest

type DataNodeReNameRequest struct {
	ReNameSrcPath  string
	ReNameDestPath string
}

type DataNodeReplyStatus

type DataNodeReplyStatus struct {
	Status bool
}

type NameNodePingRequest

type NameNodePingRequest struct {
	Host string
	Port uint16
}

type NameNodePingResponse

type NameNodePingResponse struct {
	Ack bool
}

type Service

type Service struct {
	DataDirectory string
	ServicePort   uint16
	NameNodeHost  string
	NameNodePort  uint16
}

func (*Service) DeleteFile

func (dataNode *Service) DeleteFile(request *DataNodeDeleteRequest, reply *DataNodeReplyStatus) error

DeleteFile 删除远端文件 输入:相对路径+BlockId 返回:执行成功与否

func (*Service) DeletePath

func (dataNode *Service) DeletePath(request *DataNodeDeleteRequest, reply *DataNodeReplyStatus) error

DeletePath 删除远端文件目录 输入:相对路径 返回:执行成功与否

func (*Service) GetData

func (dataNode *Service) GetData(request *DataNodeGetRequest, reply *DataNodeData) error

GetData 获取blockId对应的数据内容 读取请求:FilePath+BlockId

func (*Service) Heartbeat

func (dataNode *Service) Heartbeat(request bool, response *bool) error

Heartbeat 心跳检测,用来检测rpc调用方法成功与否,来判断是否能获取heartbeat

func (*Service) MakeDir

func (dataNode *Service) MakeDir(request string, reply *DataNodeReplyStatus) error

MakeDir 创建datanode节点文件目录

func (*Service) Ping

func (dataNode *Service) Ping(request *NameNodePingRequest, reply *NameNodePingResponse) error

Ping 维护dataNode的元数据信息:NameNodeHost,NameNodePort,同时测试调用rpc方法消息的应答

func (*Service) PutData

func (dataNode *Service) PutData(request *DataNodePutRequest, reply *DataNodeReplyStatus) error

PutData 将BlockSize大小的数据写入datanode节点对应的路径 文件写入请求:路径,BlockId,实际数据,备份的节点信息 reply:是否写入成功

func (*Service) ReNameDir

func (dataNode *Service) ReNameDir(request *DataNodeReNameRequest, reply *DataNodeReplyStatus) error

ReNameDir 重命名文件目录

Jump to

Keyboard shortcuts

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