HDFS的副本放置策略(机架感知 rack awareness)

 topology.script.file.name

 

 HDFS不能够自动判断集群中各个datanode的网络拓扑情况。这种机架感知需要topology.script.file.name属性定义的可执行文件(或者脚本)来实现,文件提供了IP->rackid的翻译。NameNode通过这个得到集群中各个datanode机器的rackid。如果topology.script.file.name没有设定,则每个IP都会翻译成/default-rack。

 

 下面给出了一个script文件的c语言示例。这个文件需要处理多个输入参数的情况,每个参数是个ip。文件的输出对应就是rackid串。

   int main(int argc , char *argv[])
   {

 


                for(int i=1 ;i< argc; i++)
                {
                        char* ipStr     = argv[i];

                         //  找到ip对应的rack设置,下面的
                        cout<<"/rack1/"<<i<<" ";

                 }
                        cout<< endl;


   }

 

 

 

  网络拓扑

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值