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  > hadoop-hadoop-balancer-hadoop-.log &

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

> hdfs diskbalancer -plan IP -bandwidth  -v > /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  

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。是yarn还是hdfs还是mapreduce遇到的问题,然后官网左侧边栏按分类自己找,暂且用这三类举例,如果是命令行的动作,啥也别想,command reference点进去,浏览器Ctrl + F搜你可能遇到问题的英文单词,比如上面举例的动态生效配置,我不知道什么status,start,但是配置的英文是properties,那我就搜进去看看,结果已经很少了,不信你看下面最后的图

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

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

Hadoop进阶命令使用介绍的更多相关文章

  1. Hadoop(三) HADOOP常用命令参数介绍

    -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注 ...

  2. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  3. Linux基础(05)、Linux进阶命令

    目录 一.进阶命令 二.系统命令 三.压缩和归档 3.1.归档 3.2.压缩 3.3.归档并压缩 归档.接档:tar -cf.tar -tvf 压缩.解压:gzip.gunzip 归档并压缩:tar ...

  4. hadoop的目录结构介绍

    hadoop的目录结构介绍 解压缩hadoop 利用tar –zxvf把hadoop的jar包放到指定的目录下. tar -zxvf /home/software/aa.tar.gz -C /home ...

  5. Hadoop三种架构介绍及搭建

    apache  hadoop三种架构介绍(standAlone,伪分布,分布式环境介绍以及安装) hadoop 文档 http://hadoop.apache.org/docs/ 1.StandAlo ...

  6. Hadoop Shell命令大全

    hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大 ...

  7. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  8. hadoop CLASSNAME命令使用注意点

    Hadoop中可是使用hadoop CLASSNAME命令.这个CLASSNAME就是你写好的类名.hadoop CLASSNAME命令类似于java classname. 使用hadoop CLAS ...

  9. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

随机推荐

  1. range用法(倒序取值)

    range(4,-1,-1) #倒数取值 ''' start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: 计数到 stop 结束,但 ...

  2. python中的importlib包

    importlib.import_module(name, package=None) 导入一个模块.参数 name 指定了以绝对或相对导入方式导入什么模块 (比如要么像这样 pkg.mod 或者这样 ...

  3. android中getWidth()和getMeasuredWidth()之间的区别

    先给出一个结论:getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小.getWidth()获取的是这个view最终显示的大小,这个 ...

  4. cb34a_c++_STL_算法_查找算法_(7)_lower_bound

    cb34a_c++_STL_算法_查找算法_(7)_lower_bound//针对已序区间的查找算法,如set,multiset关联容器-自动排序lower_bound()--第一个可能的位置uppe ...

  5. Dubbo面试专题

    Dubbo面试专题 1. 什么是dubbo Dubbo是阿里巴巴SOA服务化治理方案的核心框架,是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 2.  ...

  6. 第三章:软件也要拼脸蛋-UI 开发的点点滴滴

    常用控件 常用控件有:按钮 Button.文本显示框 TextView.图片显示框 ImageView.文本编辑框 EditText.进度条 ProgressBar.提示框 AlertDialog.进 ...

  7. Vue数据更新页面没有更新问题总结

    Vue数据更新页面没有更新问题总结 1. Vue无法检测实例别创建时不存在于data中的property 原因: 由于Vue会在初始化实例时对property执行getter/setter转化,所以p ...

  8. LeetCode第29场双周赛题解

    第一题 用一个新数组newSalary保存去掉最低和最高工资的工资列表,然后遍历newSalary,计算总和,除以元素个数,就得到了平均值. class Solution { public: doub ...

  9. Dynamics CRM 365 不用按钮工具,直接用js脚本控制按钮的显示隐藏

    Dynamics CRM 365 不用按钮工具,直接用js脚本控制按钮的显示隐藏: try { // 转备案按钮 let transferSpecialRequestButton = parent.p ...

  10. 阿里云centos7安装jdk8

    1.准备Linux版本的jdk8直接上Oracle公司的官网下载就好了    http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...