hadoop 修改datanode balance带宽使用限制
前段时间,一个客户现场的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带宽使用限制的更多相关文章
- Hadoop的datanode无法启动
Hadoop的datanode无法启动 hdfs-site中配置的dfs.data.dir为/usr/local/hadoop/hdfs/data 用bin/hadoop start-all.sh启动 ...
- 设置Hadoop的 dataNode的单个Map的内存配置
1.进入hadoop的配置目录 ,找到 环境变量的 $HADOOP_HOME cd $HADOOP_HOME 2.修改dataNode 节点的 单个map的能使用的内存配置 找到配置的文件: /opt ...
- hadoop修改MR的提交的代码程序的副本数
hadoop修改MR的提交的代码程序的副本数 Under-Replicated Blocks的数量很多,有7万多个.hadoop fsck -blocks 检查发现有很多replica missing ...
- linux及hadoop修改权限
linux下修改文件权限: 在shell环境里输入:ls -l 或者 ls -lh drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份对应:文件属性 连接数 ...
- hadoop启动 datanode的live node为0
hadoop启动 datanode的live node为0 浏览器访问主节点50070端口,发现 Data Node 的 Live Node 为 0 查看子节点的日志 看到 可能是无法访问到主节点的9 ...
- 解决hadoop no dataNode to stop问题
错误原因: datanode的clusterID 和 namenode的 clusterID 不匹配. 解决办法: 1. 打开 hadoop/tmp/dfs/namenode/name/dir 配置对 ...
- hadoop修改
https://github.com/medcl/elasticsearch-analysis-ik/releases hadoop-/etc/hadoop/core-site.xml <con ...
- hadoop 运行 datanode , mac 系统
问题描述 今天使用 hadoop 时,发现无法通过下面命令上传文件到 hadoop 文件系统,会报错. bin/hadoop fs -put input . 运行 jps 后,输出如下: Resour ...
- hadoop中datanode无法启动
一.问题描述 当我多次格式化文件系统时,如 [hadoop@xsh hadoop]$ ./bin/hdfs namenode -format 会出现datanode无法启动,查看日志(/usr/loc ...
随机推荐
- Centos 7 MariaDB Galera cluster 部署
一.安装环境准备 1.系统: CentOS Linux release 7.4.1708 (Core) 2.hosts 10.6.32.51 openstack1 10.6.32.52 opensta ...
- Maven clean基本命令
转自--------------------------------------https://www.cnblogs.com/hiver/p/7850954.html 假设现有项目结构如下 dail ...
- 项目总结14:Windows远程连接redis(cmd指令或PowerShell指令)
1-确认远程的redis服务器是否允许被远程连接,已redis server安装在阿里云ECS上为例 1-1-确认在阿里云控制台,开放了端口6379和允许访问的IP 1-2-确认在服务器上安装redi ...
- python颜色及背景
linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33). 书写格式,和相关说明如下: 1 2 ...
- JFinal Model判断数据库某条记录的属性字段是否包含空值
如果做报表,一条记录中有空值,使用FreeMarker渲染word会报错,并把错误日志输出到Word中.所以需要之前判断下当前记录中属性值是否有空值. package com.huijiasoft.u ...
- Bootstrap 框架 day57
Bootstrap框架 Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包 ...
- 使用PreparedStatement时,输出完整的SQL语句
使用psstmt时不能打印出完整的sql语句,挺不方便的,找到一个实现方法,记录下来. package com.zhh.function.util; import java.io.InputStrea ...
- mac/linux 修改vim显示信息
转自:http://www.cnblogs.com/yjmyzz/p/4019783.html 步骤1: cp /usr/share/vim/vimrc ~/.vimrc 先复制一份vim配置模板到个 ...
- Luogu 2812 校园网络 - Tarjan
Description 给出一个有向图, 要求出至少从哪几个点出发, 能不漏地经过所有节点. 再求出至少加几条边, 才能使图变成一个强联通分量 Solution 求出所有强联通分量, 形成一个有向无环 ...
- html中 和空格的区别
Non-Breaking Space 注意是 这6个字符是一个整体, 在html中, 是空格的占位符.一个 代表一个空格:两个 代表两个空格,即使用几个 就显示几个空格. 但是普通的空格在h ...