我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HDFS Balancer负载均衡器及语法怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HDFS Balancer负载均衡器及语法怎么使用

这篇文章主要介绍了HDFS Balancer负载均衡器及语法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HDFS Balancer负载均衡器及语法怎么使用文章都会有所收获,下面我们一起来看看吧。

    1、背景

    当我们的hadoop集群运行了一段时间之后,各个DataNode上的数据分布不一定均匀分布的。比如说: 我们向现有集群中添加了一个新的DataNode。

    HDFS Balancer负载均衡器及语法怎么使用

    2、什么是平衡

    此处是我自己的一个简单的理解

    所谓的平衡指的是 每个DataNode的利用率集群的利用率 之间相差不超过给定的阈值百分比。此处的平衡 指的是各个DataNode之间的平衡,同一个DataNode之间的各个磁盘是不会平衡的。

    2.1 每个DataNode的利用率计算

    HDFS Balancer负载均衡器及语法怎么使用

    DataNode的利用率= dfs已用的空间 / 分配给dfs的空间。

    注意: 分配给dfs的空间 不是磁盘的总空间。

    2.2 集群的利用率

    HDFS Balancer负载均衡器及语法怎么使用

    集群的利用率= 各datanode dfs已使用的空间 / 各datanode总空间

    2.3 平衡

    假设平衡的阈值是 5%,集群的利用率是 37.5,那么每个节点的利用率在32.5%42.5%之间都认为是均衡的。也就是说,极端情况下,DataNode的利用率最大相差10%

    3、hdfs balancer语法

    [hadoopdeploy@hadoop01 ~]$ hdfs balancer --helpUsage: hdfs balancer[-policy <policy>]the balancing policy: datanode or blockpool[-threshold <threshold>]Percentage of disk capacity[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]Excludes the specified datanodes.[-include [-f <hosts-file> | <comma-separated list of hosts>]]Includes only the specified datanodes.[-source [-f <hosts-file> | <comma-separated list of hosts>]]Pick only the specified datanodes as source nodes.[-blockpools <comma-separated list of blockpool ids>]The balancer will only run on blockpools included in this list.[-idleiterations <idleiterations>]Number of consecutive idle iterations (-1 for Infinite) before exit.[-runDuringUpgrade]Whether to run the balancer during an ongoing HDFS upgrade.This is usually not desired since it will not affect used space on over-utilized machines.[-asService]Run as a long running service.Generic options supported are:-conf <configuration file>        specify an application configuration file-D <property=value>               define a value for a given property-fs <file:///|hdfs://namenode:port> specify default filesystem URL to use, overrides 'fs.defaultFS' property from configurations.-jt <local|resourcemanager:port>  specify a ResourceManager-files <file1,...>                specify a comma-separated list of files to be copied to the map reduce cluster-libjars <jar1,...>               specify a comma-separated list of jar files to be included in the classpath-archives <archive1,...>          specify a comma-separated list of archives to be unarchived on the compute machinesThe general command line syntax is:command [genericOptions] [commandOptions]
    参数描述
    threshold磁盘容量的百分比。默认值为10%,表示上下浮动10%。
    policy平衡策略。
    datanode(默认):当每一个DataNode是平衡的时候,集群就是平衡的。
    blockpool:当每一个DataNode中的blockpool是平衡的,集群就是平衡的。
    exclude不参与平衡的DataNode节点
    include参与平衡的DataNode节点
    source仅选取指定的数据节点作为源节点
    blockpoolsBalancer仅在指定的blockpools中运行
    idleiterations退出前的连续空闲迭代次数(-1表示无限)
    -runDuringUpgrade是否在正在进行的HDFS升级过程中运行平衡器。通常不需要这样做,因为这不会影响过度使用的计算机上的已用空间。
    -asService作为长期运行的服务运行

    4、运行一个简单的balance案例

    4.1 设置平衡数据传输带宽

    [hadoopdeploy@hadoop01 ~]$ hdfs dfsadmin  -setBalancerBandwidth 10485760Balancer bandwidth is set to 10485760[hadoopdeploy@hadoop01 ~]$

    当我们的集群负载需要调低这个值,当我们的集群负载较低时,可以适当调高这个值。

    4.2 执行banalce

    [hadoopdeploy@hadoop01 ~]$ hdfs balancer -policy datanode -threshold 52023-03-26 14:10:09,785 INFO balancer.Balancer: Using a threshold of 5.02023-03-26 14:10:09,786 INFO balancer.Balancer: namenodes  = [hdfs://hadoop01:8020]2023-03-26 14:10:09,786 INFO balancer.Balancer: parameters = Balancer.BalancerParameters [BalancingPolicy.Node, threshold = 5.0, max idle iteration = 5, #excluded nodes = 0, #included nodes = 0, #source nodes = 0, #blockpools = 0, run during upgrade = false]2023-03-26 14:10:09,786 INFO balancer.Balancer: included nodes = []2023-03-26 14:10:09,786 INFO balancer.Balancer: excluded nodes = []2023-03-26 14:10:09,786 INFO balancer.Balancer: source nodes = []Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved  NameNode2023-03-26 14:10:09,787 INFO balancer.NameNodeConnector: getBlocks calls for hdfs://hadoop01:8020 will be rate-limited to 20 per second2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.namenode.get-blocks.max-qps = 20 (default=20)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.balancer.movedWinWidth = 5400000 (default=5400000)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.balancer.moverThreads = 1000 (default=1000)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.balancer.dispatcherThreads = 200 (default=200)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.balancer.getBlocks.size = 2147483648 (default=2147483648)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.balancer.getBlocks.min-block-size = 10485760 (default=10485760)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.datanode.balance.max.concurrent.moves = 100 (default=100)2023-03-26 14:10:10,392 INFO balancer.Balancer: dfs.datanode.balance.bandwidthPerSec = 104857600 (default=104857600)2023-03-26 14:10:10,395 INFO balancer.Balancer: dfs.balancer.max-size-to-move = 10737418240 (default=10737418240)2023-03-26 14:10:10,395 INFO balancer.Balancer: dfs.blocksize = 134217728 (default=134217728)2023-03-26 14:10:10,401 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.121.141:98662023-03-26 14:10:10,401 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.121.140:98662023-03-26 14:10:10,401 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.121.142:98662023-03-26 14:10:10,402 INFO balancer.Balancer: 0 over-utilized: []2023-03-26 14:10:10,402 INFO balancer.Balancer: 0 underutilized: []2023-3-26 14:10:10                0                  0 B                 0 B                0 B                  0  hdfs://hadoop01:8020The cluster is balanced. Exiting...2023-3-26 14:10:10       Balancing took 810.0 milliseconds[hadoopdeploy@hadoop01 ~]$

    关于“HDFS Balancer负载均衡器及语法怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“HDFS Balancer负载均衡器及语法怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    HDFS Balancer负载均衡器及语法怎么使用

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    HDFS Balancer负载均衡器及语法怎么使用

    这篇文章主要介绍了HDFS Balancer负载均衡器及语法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HDFS Balancer负载均衡器及语法怎么使用文章都会有所收获,下面我们一起来看看吧。1、背
    2023-07-05

    HDFS Balancer负载均衡器及语法详解

    这篇文章主要为大家介绍了HDFS Balancer负载均衡器及语法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-14

    .NET中负载均衡怎么使用

    本篇内容介绍了“.NET中负载均衡怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介负载均衡(Load Balance),简称
    2023-07-02

    负载均衡的原理及使用方法是什么

    负载均衡是一种用于分配网络请求负载的技术,它通过将网络请求分配给多个后端服务器来提高系统的性能、可靠性和可扩展性。负载均衡的原理是基于以下几个方面:1. 请求调度:负载均衡器接收到来自客户端的请求后,会根据一定的算法(如轮询、最小连接数、最
    2023-09-01

    负载均衡slb怎么配置使用

    负载均衡(SLB)是一种用来分配网络或应用程序流量到多台服务器的技术,以实现负载均衡和提高系统的稳定性和性能。以下是负载均衡(SLB)的配置和使用方法:配置SLB实例:首先,您需要在云服务提供商的管理控制台上创建一个SLB实例。在创建实例时
    负载均衡slb怎么配置使用
    2024-04-09

    SpringCloud LoadBalancer自定义负载均衡器怎么使用

    本文小编为大家详细介绍“SpringCloud LoadBalancer自定义负载均衡器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringCloud LoadBalancer自定义负载均衡器怎么使用”文章能帮助大家解决疑惑
    2023-07-06

    怎么使用dns服务器实现负载均衡

    要使用DNS服务器实现负载均衡,可以按照以下步骤操作:1. 购买或设置多个服务器:首先需要购买或设置多台服务器,并利用负载均衡软件或硬件将它们组合成一个服务器集群。2. 配置服务器集群:确保所有服务器都能够相互通信,并且在同一网络中。每台服
    2023-09-07

    怎么使用Docker和Nginx实现负载均衡

    要使用Docker和Nginx实现负载均衡,可以按照以下步骤操作:在Docker中创建多个应用实例,每个实例都运行相同的应用程序。可以使用Dockerfile来构建应用镜像,并使用docker-compose来管理多个实例的部署。在每个应用
    怎么使用Docker和Nginx实现负载均衡
    2024-04-19

    怎么使用Java实现常见的负载均衡算法

    负载均衡算法在Java中的实现负载均衡算法平衡服务器请求,提高性能和可用性。以下是Java实现的常见算法:轮询:顺序分配请求。随机:随机分配请求。加权轮询:根据服务器容量分配请求。最小连接:分配给连接数最少的服务器。哈希:基于请求键分配请求。基于权重的哈希:考虑服务器权重分配请求。代码示例提供了每个算法的Java实现。根据应用程序需求选择合适的算法,如简单应用程序使用轮询,并发请求使用加权轮询或哈希。
    怎么使用Java实现常见的负载均衡算法
    2024-04-13

    怎么使用Java实现常见的负载均衡算法

    在Java中实现常见的负载均衡算法,可以使用以下几种方法:轮询算法(Round Robin):实现一个列表来存储服务器节点,并使用一个计数器来记录当前选取的节点位置。每次请求到来时,通过计数器选择下一个节点,并更新计数器位置。这样可以实现简
    怎么使用Java实现常见的负载均衡算法
    2024-04-09

    应用服务器负载均衡怎么搭建

    要搭建应用服务器的负载均衡,可以按照以下步骤进行:1. 选择负载均衡策略:根据需求选择适合的负载均衡策略,常见的有轮询、加权轮询、最少连接等。2. 安装负载均衡软件:选择一个合适的负载均衡软件,如Nginx、HAProxy等,并在一台或多台
    2023-09-07

    服务器的负载均衡算法怎么实现

    这篇文章主要介绍“服务器的负载均衡算法怎么实现”,在日常操作中,相信很多人在服务器的负载均衡算法怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”服务器的负载均衡算法怎么实现”的疑惑有所帮助!接下来,请跟
    2023-06-03

    怎么使用PHP实现Oracle数据库负载均衡

    今天小编给大家分享一下怎么使用PHP实现Oracle数据库负载均衡的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。负载均衡的概
    2023-07-06

    怎么使用PHP实现Memcached数据库负载均衡

    这篇“怎么使用PHP实现Memcached数据库负载均衡”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用PHP实现Me
    2023-07-06

    怎么使用Resttemplate和Ribbon调用Eureka实现负载均衡

    本篇内容介绍了“怎么使用Resttemplate和Ribbon调用Eureka实现负载均衡”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.
    2023-06-29

    怎么使用PHP实现数据库负载均衡扩容

    这篇文章主要介绍了怎么使用PHP实现数据库负载均衡扩容的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用PHP实现数据库负载均衡扩容文章都会有所收获,下面我们一起来看看吧。准备环境在进行数据库负载均衡扩容之
    2023-07-06

    使用负载均衡器在DDoS防御中有什么作用

    负载均衡器在DDoS防御中起着重要作用,主要有以下几点:分散攻击流量:负载均衡器可以将来自不同来源的流量分发到多台服务器上,从而分散攻击流量,减轻单台服务器的压力,提高系统的抗压能力。防止单点故障:通过负载均衡器将流量分发到多台服务器上,即
    使用负载均衡器在DDoS防御中有什么作用
    2024-04-15

    怎么在Linux上使用HAProxy配置HTTP负载均衡系统

    这篇文章主要介绍“怎么在Linux上使用HAProxy配置HTTP负载均衡系统”,在日常操作中,相信很多人在怎么在Linux上使用HAProxy配置HTTP负载均衡系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
    2023-06-16

    服务器租用实现负载均衡的方法是什么

    实现负载均衡的方法有很多种,以下是一些常见的方法:软件负载均衡器:使用软件负载均衡器如Nginx、HAProxy等,通过配置负载均衡算法和策略,将请求分发给多台服务器。硬件负载均衡器:使用专门的硬件设备如F5、Citrix等进行负载均衡,这
    服务器租用实现负载均衡的方法是什么
    2024-04-24

    多台主机使用DNS服务器怎么实现网络负载均衡

    这篇文章主要介绍“多台主机使用DNS服务器怎么实现网络负载均衡”,在日常操作中,相信很多人在多台主机使用DNS服务器怎么实现网络负载均衡问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”多台主机使用DNS服务器怎
    2023-06-14

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录