前段时间,一个客户现场的Hadoop看起来很不正常,有的机器的存储占用达到95%,有的机器只有40%左右,刚好前任的负责人走了,这边还没有明确接班人的时候。

  我负责的大数据计算部分,又要依赖Hadoop的基础平台,要是Hadoop死了,我的报表也跑不出来(专业背锅)。

  做下balance,让各个节点的存储均衡一下。

  1、首先需要配上这个参数:  

<property>
<name>dfs.datanode.balance.bandwidthPerSec</name>
<value></value>
<description>hdfs做balance的占用的网络带宽,建议配置网卡带宽的一半(//*=480MBps)</description>
</property>

  

  2、重启datanode  

# 停止datanode
[hadoop@venn06 sbin]$ ./hadoop-daemon.sh stop datanode
stopping datanode # 启动datanode
[hadoop@venn06 sbin]$ ./hadoop-daemon.sh start datanode
starting datanode, logging to /opt/hadoop/hadoop3/logs/hadoop-hadoop-datanode-venn06.out

  服务器网卡的带宽有限,不设置这个参数,做balance的时候,会把网卡的带宽跑满。需要移动的block很多,执行时间就会很长,会导致集群网络资源不足,任务跑得很慢。

  3、执行balance  

[hadoop@venn05 bin]$ pwd
/opt/hadoop/hadoop3/bin
[hadoop@venn05 bin]$ nohup ./hdfs balancer -threshold 1 &

  由于执行时间会很长,所以把命令放到后台执行。

  

  

  HDFS做balance的方式大概如下:

    1、计算集群中需要移动的block数量,计算需要移动的文件大小。

    2、并发的从资源占用高的机器,往资源占用低的机器移数据。一批一批的,一批的大小,会根据需要移动的文件大小计算。

    3、重复第1步,直到资源均衡(1%左右的差距)

  HDFS做balance的时候,会先移动block,成功后才会删除数据,只要集群网络资源充足,可以不警慎的执行balance操作,随时停也不影响,不会丢数据。

  

由于datanode 空间大小不同,所以有的机器磁盘占用会高一点。

hadoop 修改datanode balance带宽使用限制的更多相关文章

  1. Hadoop的datanode无法启动

    Hadoop的datanode无法启动 hdfs-site中配置的dfs.data.dir为/usr/local/hadoop/hdfs/data 用bin/hadoop start-all.sh启动 ...

  2. 设置Hadoop的 dataNode的单个Map的内存配置

    1.进入hadoop的配置目录 ,找到 环境变量的 $HADOOP_HOME cd $HADOOP_HOME 2.修改dataNode 节点的 单个map的能使用的内存配置 找到配置的文件: /opt ...

  3. hadoop修改MR的提交的代码程序的副本数

    hadoop修改MR的提交的代码程序的副本数 Under-Replicated Blocks的数量很多,有7万多个.hadoop fsck -blocks 检查发现有很多replica missing ...

  4. linux及hadoop修改权限

    linux下修改文件权限: 在shell环境里输入:ls -l 或者 ls -lh drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份对应:文件属性 连接数 ...

  5. hadoop启动 datanode的live node为0

    hadoop启动 datanode的live node为0 浏览器访问主节点50070端口,发现 Data Node 的 Live Node 为 0 查看子节点的日志 看到 可能是无法访问到主节点的9 ...

  6. 解决hadoop no dataNode to stop问题

    错误原因: datanode的clusterID 和 namenode的 clusterID 不匹配. 解决办法: 1. 打开 hadoop/tmp/dfs/namenode/name/dir 配置对 ...

  7. hadoop修改

    https://github.com/medcl/elasticsearch-analysis-ik/releases hadoop-/etc/hadoop/core-site.xml <con ...

  8. hadoop 运行 datanode , mac 系统

    问题描述 今天使用 hadoop 时,发现无法通过下面命令上传文件到 hadoop 文件系统,会报错. bin/hadoop fs -put input . 运行 jps 后,输出如下: Resour ...

  9. hadoop中datanode无法启动

    一.问题描述 当我多次格式化文件系统时,如 [hadoop@xsh hadoop]$ ./bin/hdfs namenode -format 会出现datanode无法启动,查看日志(/usr/loc ...

随机推荐

  1. ATX 安卓设备 WiFi 统一管理以及设备自动化测试

    众所周知,安卓单台设备的UI自动化测试已经比较完善了,有数不清的自动化框架或者工具.但是介绍多设备管理的内容并不多,当手里的手机多了之后,要做自动化测试平台,这块的东西又不得不碰,摆脱USB限制,接入 ...

  2. 179. Largest Number(INT, String)

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  3. 【转】微信公众号h5网页被嵌入广告 不知道什么原因

    这个是因为http劫持导致的.HTTP劫持是在使用者与其目的网络服务所建立的专用数据通道中,监视特定数据信息,提示当满足设定的条件时,就会在正常的数据流中插入精心设计的网络数据报文,目的是让用户端程序 ...

  4. 写一写关于python开发面试的常遇到的问题以及解答吧,持续更新——看心情

    1,什么是python中的魔术方法? 魔术方法是重载运算符的昵称,形式是__init__类似这样的前后双下滑线组成的,常用的__init__,__new__,__call__,__str__,__ge ...

  5. SI和DI

    si和di是8086CPU中和bx功能相近的寄存器,si和di不能够分成两个8位寄存器来使用. 用si和di实现将字符串"welcome to masm!"复制到它后面的数据区中. ...

  6. 利用shell脚本远程登录服务器并修改saltstack配置并重启服务

    最近公司为了上一个活动功能,增加了40台服务器,虽然服务器可以通过saltstack 来统一管理(自动化运维工具 SaltStack 搭建),项目可以通过jenkins + saltstack统一发布 ...

  7. ifconfig 运行command not found

    vi /home/lx/.bash_profile中添加 PATH=$PATH:$HOME/bin:/sbin:/bin export PATH   linux查看服务自启动  chkconfig - ...

  8. SQL truncate 、delete与drop区别[z]

    [z]https://www.cnblogs.com/8765h/archive/2011/11/25/2374167.html 相同点: 1.truncate和不带where子句的delete.以及 ...

  9. 梦殇 chapter four

    有人说,当你为一个问题发愁时,投掷硬币是最好的解决办法.不是因为硬币本身,而是当抛在空中时,你心里希望它落在哪面.       或许是这样吧.     时间会淡化一切记忆么,总是不相信,时间是最好的解 ...

  10. jquery关于attr和prop的差异

    转自:http://www.jb51.net/article/88068.htm 处理像checkbox,radio和select这样的元素时,经常会发现明明使用了attr设置了selected或ch ...