返回顶部
首页 > 资讯 > 精选 >HDFS Balancer工具主要调优参数怎么使用
  • 526
分享到

HDFS Balancer工具主要调优参数怎么使用

2023-07-05 19:07:58 526人浏览 独家记忆
摘要

这篇“hdfs Balancer工具主要调优参数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HDFS&n

这篇“hdfs Balancer工具主要调优参数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HDFS Balancer工具主要调优参数怎么使用”文章吧。

    引言

    HDFS Balancer工具可以用来分析块的分布情况,并且可以重新分配Datanode中的数据。

    使用HDFS Balancer

    方式一:使用HDFS Balancer命令

    HDFS Balancer命令语句如下。

    hdfs balancer[-threshold <threshold>][-policy <policy>][-exclude [-f <hosts-file> | <comma-separated list of hosts>]][-include [-f <hosts-file> | <comma-separated list of hosts>]][-source [-f <hosts-file> | <comma-separated list of hosts>]][-blockpools <comma-separated list of blockpool ids>][-idleiterations <idleiterations>]

    Balancer主要参数如下表。

    参数描述
    threshold磁盘容量的百分数。

    默认值为10%,表示上下浮动10%。

    集群总使用率较高时,需要调小Threshold,避免阈值过高。

    当集群新增节点较多时,您可以适当增加Threshold,使数据从高使用率节点移向低使用率节点。

    policy平衡策略。支持以下策略:
    • datanode(默认):当每一个DataNode是平衡的时候,集群就是平衡的。

    • blockpool:当每一个DataNode中的blockpool是平衡的,集群就是平衡的。

    excludeBalancer排除特定的DataNode。
    includeBalancer仅对特定的DataNode进行平衡操作。
    source仅选择特定的DataNode作为源节点。
    blockpoolsBalancer仅在指定的blockpools中运行。
    idleiterations最多允许的空闲循环次数。覆盖默认的5次。

    方式二:使用start-balancer.sh工具

    start-balancer.sh实际上是调用hdfs daemon start balancer命令。使用方式如下:

    • 登录待配置集群的任意节点,详情请参见登录集群。

    可选:执行以下命令,修改Balancer的最大带宽。

    hdfs dfsadmin -setBalancerBandwidth &lt;bandwidth in bytes per second&gt;

    说明 <bandwidth in bytes per second>为设置的最大带宽。例如,如果需要设置最大带宽为20 MB/s,对应值为20971520,则完整代码示例为hdfs dfsadmin -setBalancerBandwidth 20971520。如果集群负载较高,建议设置为209715200(200 MB/s);如果集群空闲,建议设置为1073741824(1 GB/s)。

    • 执行以下命令,切换到hdfs用户并执行Balancer参数。

    DataLake集群

    su hdfs/opt/apps/HDFS/hdfs-current/sbin/start-balancer.sh -threshold 5

    hadoop集群

    su hdfs/usr/lib/hadoop-current/sbin/start-balancer.sh -threshold 5
    • 执行以下命令,进入HDFS安装目录。

    DataLake集群

    cd /var/log/emr/hadoop/

    Hadoop集群

    cd /var/log/hadoop-hdfs

    执行以下命令,查看Balancer运行情况。

    当提示信息包含Successfully字样时,表示执行成功。

    DataLake集群

    tailf hadoop-hdfs-balancer-master-1-1.c-xxx.log

    Hadoop集群

    tailf hadoop-hdfs-balancer-emr-header-1.cluster-xxx.log

    说明 命令中的hadoop-hdfs-balancer-master-1-1.c-xxx.loghadoop-hdfs-balancer-emr-header-xx.cluster-xxx.log为上一步骤中获取到的日志名称。

    Balancer调优参数

    执行Balancer会占用一定的系统资源,建议在业务空闲期执行。默认情况下,不需要对HDFS Balancer参数进行额外调整。当需要对Balancer参数进行额外调整时,您可以在E-mapReduce控制台的HDFS服务页面,选择配置 > hdfs-site.xml,调整以下两类配置。

    客户端配置

    参数描述
    dfs.balancer.dispatcherThreadsBalancer在移动Block之前,每次迭代时查询出一个Block列表,分发给Mover线程使用。

    说明 dispatcherThreads是该分发线程的个数,默认为200。

    dfs.balancer.rpc.per.sec默认值为20,即每秒发送的RPC数量为20。

    因为分发线程调用大量getBlocks的RPC查询,所以为了避免NameNode由于分发线程压力过大,需要控制分发线程RPC的发送速度。

    例如,您可以在负载高的集群调整参数值,减小10或者5,对整体移动进度不会产生特别大的影响。

    dfs.balancer.getBlocks.sizeBalancer会在移动Block前,每次迭代时查询出一个Block列表,给Mover线程使用,默认Block列表中Block的大小为2 GB。因为getBlocks过程会对RPC进行加,所以您可以根据NameNode压力进行调整。
    dfs.balancer.moverThreads默认值为1000。

    Balancer处理移动Block的线程数,每个Block移动时会使用一个线程。

    DataNode配置

    参数描述
    dfs.datanode.balance.bandwidthPerSec

    指定DataNode用于Balancer的带宽,通常推荐设置为100 MB/s,您也可以通过dfsadmin -setBalancerBandwidth 参数进行适当调整,无需重启DataNode。

    例如,在负载低时,增加Balancer的带宽。在负载高时,减少Balancer的带宽。

    dfs.datanode.balance.max.concurrent.moves

    默认值为5。

    指定DataNode节点并发移动的最大个数。通常考虑和磁盘数匹配,推荐在DataNode端设置为4 * 磁盘数作为上限,可以使用Balancer的值进行调节。

    例如:一个DataNode有28块盘,在Balancer端设置为28,DataNode端设置为28 * 4。具体使用时根据集群负载适当调整。在负载较低时,增加concurrent数;在负载较高时,减少concurrent数。

    常见问题

    Q:为什么Balancer的threshold设置为10(%),但是平衡以后看到差值为20%左右?

    A:threshold的含义是控制每个DataNode的使用率不高于或者不低于集群平均的使用率,所以使用率最多和最少的DataNode在平衡后可能差值为20%。要减少这种差距,可以尝试把差值调节到5(%)。

    以上就是关于“HDFS Balancer工具主要调优参数怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

    --结束END--

    本文标题: HDFS Balancer工具主要调优参数怎么使用

    本文链接: https://lsjlt.com/news/354858.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • HDFS Balancer工具主要调优参数怎么使用
      这篇“HDFS Balancer工具主要调优参数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HDFS&n...
      99+
      2023-07-05
    • 官方详解HDFS Balancer工具主要调优参数
      目录引言使用HDFS Balancer方式一:使用HDFS Balancer命令方式二:使用start-balancer.sh工具Balancer调优参数DataNode配置常见问题...
      99+
      2023-05-14
      HDFS Balancer工具参数调优 HDFS Balancer 参数调优
    • Windows网络调优工具TCPOptimizer怎么使用
      要使用TCPOptimizer进行Windows网络调优,可以按照以下步骤进行操作:1. 下载和安装TCPOptimizer:在浏览...
      99+
      2023-09-22
      Windows TCPOptimizer
    • jvm GC调优工具怎么用
      这篇文章主要介绍“jvm GC调优工具怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jvm GC调优工具怎么用”文章能帮助大家解决问题。JVM 在程序执行的过程中, 提供了GC行为的原生数据。...
      99+
      2023-06-29
    • SQL调优工具包DBMS_SQLTUNE怎么用
      小编给大家分享一下SQL调优工具包DBMS_SQLTUNE怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!oracle 提供了优化建议功能包DBMS_SQLTUNE,该包可以帮助我们分...
      99+
      2024-04-02
    • python调试工具pdb怎么使用
      这篇文章主要讲解了“python调试工具pdb怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python调试工具pdb怎么使用”吧!一、pdb 有2种用法pdb:python deb...
      99+
      2023-07-04
    • 怎么使用Python的调试工具PySnooper
      本篇内容介绍了“怎么使用Python的调试工具PySnooper”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PySnooper 使用起来十...
      99+
      2023-06-16
    • Haskell在线调试工具怎么使用
      Haskell在线调试工具可以通过以下步骤使用:1. 打开一个Haskell在线调试工具的网页,比如"Haskell在线调试器"(h...
      99+
      2023-09-26
      Haskell
    • 怎么使用Web调试代理工具Fiddler
      本篇内容主要讲解“怎么使用Web调试代理工具Fiddler”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Web调试代理工具Fiddler”吧!简介Fid...
      99+
      2024-04-02
    • Linux程序调试工具gdb怎么使用
      这篇文章主要介绍“Linux程序调试工具gdb怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux程序调试工具gdb怎么使用”文章能帮助大家解决问题。gdb是GNU开源组织发布的一个强大...
      99+
      2023-06-27
    • mysql的慢查询分析调优工具show profile怎么用
      这篇文章主要介绍了mysql的慢查询分析调优工具show profile怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。show pro...
      99+
      2024-04-02
    • vscode工具函数idGenerator怎么使用
      这篇文章主要介绍“vscode工具函数idGenerator怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vscode工具函数idGenerator怎么使用”文章能帮助大家解决问题。vsco...
      99+
      2023-07-05
    • PHP怎么使用psysh调试代码片段工具
      小编给大家分享一下PHP怎么使用psysh调试代码片段工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PsySH是一个PHP的运行时开发平台,交互式调试器和Re...
      99+
      2023-06-20
    • Vue中的调试工具和指令怎么使用
      这篇文章主要讲解了“Vue中的调试工具和指令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中的调试工具和指令怎么使用”吧!vue 的调试工具(1)安装 vue-devtools...
      99+
      2023-06-30
    • JavaScript数组常用工具函数怎么使用
      这篇文章主要讲解了“JavaScript数组常用工具函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript数组常用工具函数怎么使用”吧!一. 实现Array.isAr...
      99+
      2023-07-02
    • Linux怎么使用KSysguard工具监控远端主机
      这篇文章主要介绍“Linux怎么使用KSysguard工具监控远端主机”,在日常操作中,相信很多人在Linux怎么使用KSysguard工具监控远端主机问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux...
      99+
      2023-06-13
    • 怎么使用java进制转换工具类实现减少参数长度
      这篇“怎么使用java进制转换工具类实现减少参数长度”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用java进制转换工...
      99+
      2023-07-05
    • Python数据库ORM工具sqlalchemy怎么安装使用
      今天就跟大家聊聊有关Python数据库ORM工具sqlalchemy怎么安装使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SQLAlchemy是...
      99+
      2024-04-02
    • 大数据报表工具中动态参数的使用方法和场景是什么
      这篇文章将为大家详细讲解有关大数据报表工具中动态参数的使用方法和场景是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。报表开发过程中,有的时候我们会觉得普通参数很难满足一些业务需求,比如第...
      99+
      2023-06-04
    • Node.js path模块中的常用工具函数怎么使用
      这篇“Node.js path模块中的常用工具函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作