我是靠谱客的博主 深情蜻蜓,最近开发中收集的这篇文章主要介绍DatanodeID,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

DatanodeID

public String name;
/// 内容存放 :“hostname:portNumber” 也可以没有端口
///name 的值配置在这个 hdfs-site.xml的{dfs.datanode.address}

public String storageID;
/// 存放介质 不同机器存放不同介质。
protected int infoPort;
/// infoserver 的端口
public int ipcPort;
/// ipc server 端口

方法:

读出主机ip
public String getHost() {
int colon = name.indexOf(":");
if (colon < 0) {
return name;
} else {
return name.substring(0, colon);
}
}
读出主机端口 默认是50010
public int getPort() {
int colon = name.indexOf(":");
if (colon < 0) {
return 50010; // default port.
}
return Integer.parseInt(name.substring(colon+1));
}


equals和hashCode 由name 和storageID共同决定

public boolean equals(Object to) {
if (this == to) {
return true;
}
if (!(to instanceof DatanodeID)) {
return false;
}
return (name.equals(((DatanodeID)to).getName()) &&
storageID.equals(((DatanodeID)to).getStorageID()));
}

public int hashCode() {
return name.hashCode()^ storageID.hashCode();
}

因为介质不可能发生改变。 所以updateRegInfo只有三个参数
public void updateRegInfo(DatanodeID nodeReg) {
name = nodeReg.getName();
infoPort = nodeReg.getInfoPort();
ipcPort = nodeReg.getIpcPort();
// update any more fields added in future.
}

最后

以上就是深情蜻蜓为你收集整理的DatanodeID的全部内容,希望文章能够帮你解决DatanodeID所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部