Hadoop进阶命令使用介绍

Posted Maxer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop进阶命令使用介绍相关的知识,希望对你有一定的参考价值。

hadoop生产环境的使用是很复杂的,有些公司是CDH或者Ambari等管理工具运维的,有些是原生的集群俗称裸奔,前者优缺点是运维,查看监控等容易,对于底层理解不友好;裸奔集群反之,裸奔集群的很多东西都需要定制和自己开发,比如监控用zabbix,告警用企业微信,节点的异构严重的,需要二次开发配置文件分发等等避免同步配置时配置覆盖(举例:node1是2块磁盘,node2是三块,如果直接同步配置文件则要么node1多了一个目录,要么node2的配置少了一块盘。若覆盖的磁盘多了,就会导致集群丢块)

先上官网:Apache Hadoop 3.1.2

集群间数据平衡:

> nohup hdfs balancer -D "dfs.balancer.movedWinWidth=300000000"  -D "dfs.datanode.balance.bandwidthPerSec=2000m" -threshold 1 > hadoop-hadoop-balancer-hadoop-0018.log &

节点内各个磁盘的数据平衡:

> hdfs diskbalancer -plan IP -bandwidth 1000 -v 2> /dev/null | egrep ^/ | xargs hdfs diskbalancer -execute

接上,查看磁盘平衡情况/进度:

> hdfs diskbalancer -query IP

YARN资源置空(这里多说一下,资源置空我们在生产环境是有些情况需要把这个node下线,但是此时此刻正有任务在运行,资源置空之后,UI上面会显示这个资源是负值,等正在运行的任务运行完成之后就不会再提交到这个node上了,就可以下线了)

  • 注意这个PORT是UI页面上的Node Address,不是Node HTTP Address
> yarn rmadmin -updateNodeResource IP:PORT 0 0

HDFS高可用Namenode主从切换:

  • nn1,nn2这两个是你集群配置文件配置高可用时指定的别名,需要用你自己的
> hdfs haadmin -failover nn2 nn1

HDFS退出安全模式

> hadoop dfsadmin -safemode leave

HDFS动态生效datanode/namenode配置:

  • status:查看动态生效配置状态
  • start:执行动态生效配置动作
  • properties:查看修改了哪些配置与正在运行的不一样
> hdfs dfsadmin -reconfig datanode IP:PORT status|start|properties

简单就先写这么多,后面遇到了在更新。这篇不是教大家这些命令怎么用,怎么背,是教大家遇到问题怎么解决,上面我自己的定义是水贴,后面才是干货

往下看!

官网链接我贴在开头了,点进去在往下看我写的,看我圈中红圈的位置

 

 

首先你遇到一个问题你要清楚这是哪一类的问题,而且一定要多看官网,熟悉官网对于问题和用法的分类,上图我标注的,1,2,3,4步。因为我清楚我的问题是hdfs的问题,动态生效就一定需要命令行操作,就点进去command reference,然后是datanode修改配置的问题,配置是管理员操作的不是客户端,所以定位到Administration Commands,所以很快就定位到子命令dfsadmin,然后啥也别想点进去,浏览器Ctrl + F搜你可能遇到问题的英文单词,比如上面举例的动态生效配置,我不知道什么status,start,但是配置的英文是properties,那我就搜进去看看,结果已经很少了,不信你看下面最后的图

找到这里,基本不需要再纠结什么了,就很快就找到了,这是dfsadmin子命令的所有总览,不太确定的往下找详细解释就行了

还有人会说我不知道搜properties,那你就通篇去看,退一万步讲,就算你没找到答案,但是你也已经发现了一个方法不是吗,技术本来就是持续钻研且不一定能百分之百收到正反馈的一件事情,积累最重要,掌握这个方法你就不需要背下来这些命令,就算你的领导问题,面试官考你,不会纠结你命令怎么写,就看你有没有解决问题的方法,技术这块,死记硬背是行不通的。

很多问题百度,Google是没有答案的,泛泛来讲的话很多问题的表象可能一样,但是根本原因可能都不尽相同,别人的办法不一定适合你,我上一篇写的JetBrains Datagip连接hive的那个小帖子,我千算万算没算到驱动版本的导致的,但是单纯的看返回的报错,互联网铺天盖地的一样的报错,但是问题的成因根本不同,所以要多尝试从官方入手,嫌麻烦?你网上看,我的步骤麻烦吗? 不比你百度一上午来的快???

————————————————

如果这个帖子对你有用,记得点一下推荐咯

 

以上是关于Hadoop进阶命令使用介绍的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Atom编辑器入门到精通 Atom使用进阶

Atom编辑器入门到精通 Atom使用进阶

Atom编辑器入门到精通 Atom使用进阶

Atom编辑器入门到精通 Atom使用进阶

Hadoop第二篇:使用Maven开发Hadoop编程进阶