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++的函数耗时以及代码片段耗时详情