Hadoop 机架(集群拓扑)设置
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_rack_awareness
Hadoop会通过集群的拓扑(节点在交换机的连接形式)优化文件的存储,降低跨交换机的数据通信,使副本跨交换机以保证数据安全。
但Hadoop没有默认的集群拓扑识别机制,需要使用额外的java类或脚本两种形式设置。
官网上给了集群拓扑的基本说明(!(Rack Awareness)[https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/RackAwareness.html]),给出来的那两段脚本看得有点懵,就自己试了一下,写了个更简单的。
其实只是Hadoop会调用脚本,将多个Datanode的ip作为输入,每次最多输入的ip数设置在net.topology.script.number.args,将输入的ip转换成/rack-num的形式(以/开头的字符串),用标准输出流(如Python的print)输出结果。
具体操作
编写脚本
下面的脚本在输入
192.168.3.1
192.168.3.4
时,会输出
/rack1
/rack4
#!/bin/python3
import sys
# 第一个参数是脚本路径,直接pop掉
sys.argv.pop(0)
# 0-3 rack0
# 4-7 rack1
# 8-11 rack2
# ...
# 其它的参数里每个参数都是一个ip,此处直接取ip的最后一位除以4作为Racknum
# 实践上可以读文件确定ip的对应关系
for ip in sys.argv:
hostNum = int(ip.split(".")[3])
print("/rack" + str(int(hostNum/4)))
设置配置参数
<property>
<name>net.topology.script.file.name</name>
<value>/home/sparkl/hadoop/etc/hadoop/topology.py</value>
</property>
重启集群即可
验证结果
以下命令能够直接获取某一个文件的分布状态,以及总的rack数量:
hdfs fsck /readme.md -files -blocks -racks
貌似没有直接以树状的形式输出集群拓扑的命令,namenode的日志中能看到datanode在连接时的拓扑位置。
Hadoop 机架(集群拓扑)设置的更多相关文章
- Hadoop - Ambari集群管理剖析
1.Overview Ambari是Apache推出的一个集中管理Hadoop的集群的一个平台,可以快速帮助搭建Hadoop及相关以来组件的平台,管理集群方便.这篇博客记录Ambari的相关问题和注意 ...
- hadoop的集群安装
hadoop的集群安装 1.安装JDK,解压jar,配置环境变量 1.1.解压jar tar -zxvf jdk-7u79-linux-x64.tar.gz -C /opt/install //将jd ...
- 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建
1. 介绍 在过去几年中,神经网络已经有了很壮观的进展,现在他们几乎已经是图像识别和自动翻译领域中最强者[1].为了从海量数据中获得洞察力,需要部署分布式深度学习.现有的DL框架通常需要为深度学习设置 ...
- Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04
前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...
- Hadoop分布式集群搭建
layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...
- Hadoop基础-Hadoop的集群管理之服役和退役
Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...
- 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
- 基于zookeeper的高可用Hadoop HA集群安装
(1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...
- Hadoop+HBase 集群搭建
Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...
随机推荐
- XML 约束
XML约束 一.约束 约束:规定 xml 文档的书写规则 要求: 1.能够在 xml 中引入约束文档 2.能够简单的读懂约束文档 分类: 1.DTD:一种简单的约束技术(后缀.dtd) 2.Schem ...
- Springboot默认定时任务——Scheduled注解
1.pom配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- 背部——哑铃&杠铃
- MySQL查询(关联查询)
一.mysql查询与权限 (一)数据库关联查询 **内连接查询(inner join)** 查询两个表共有的数据,交集 SELECT * FROM tb1 INNER JOIN tb2 ON 条件 所 ...
- iptables和lvs
解压密码6Hai7Gf8 路由转发 0是不转发,1是转发 [root@m01 roles]# cat /proc/sys/net/ipv4/ip_forward 0 临时生效 [root@m01 ...
- orm字段类型使用
IntegerField:整数类型,映射到数据库中会变成11位的int类型 num是整型字典 object中的5是第五行还是id是5? 整型字符串型都可以传到整数字段 FloatField:浮点数类 ...
- linux-秘钥生成
服务器sshd配置 #vim /etc/ssh/sshd_conf PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # ...
- 学会github管理项目与VS单元测试——第二次作业
GIT地址 https://github.com/Bing-Fairy/AchaoCalculator GIT用户名 Bing—Fairy 学号后五位 62502 博客地址 https://home. ...
- docer安装之pure-ftp
https://hub.docker.com/r/stilliard/pure-ftpd Docker Pure-ftpd Server https://hub.docker.com/r/stilli ...
- 零基础Python教程-函数及模块的使用
函数 在学习本节内容之前,我们先来一起做道数学题. 已知:半径分别为0.1.0.2.0.3的三个圆,分别求这三个圆的面积. 很多读者可能要笑一下,这不是小学的数学问题吗? S = π * r * r ...