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. 对于Python的GIL锁理解

    GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可 ...

  2. Spring系列.AOP使用

    AOP简介 利用面向对象的方法可以很好的组织代码,也可以继承的方式实现代码重用.但是项目中总是会出现一些重复的代码,并且不太方便使用继承的方式把他们重用管理起来,比如说通用日志打印,事务处理和安全检查 ...

  3. 从字符串到常量池,一文看懂String类设计

    从一道面试题开始 看到这个标题,你肯定以为我又要讲这道面试题了 // 这行代码创建了几个对象? String s3 = new String("1"); 是的,没错,我确实要从这里 ...

  4. C#构造函数 -0028

    默认构造函数 声明基本构造函数的语法就是声明一个与类同名的方法,但该方法没有返回类型: public class MyClass { public MyClass() { } // rest of c ...

  5. c#openCV图片传递-尝试读取或写入受保护的内存。这通常指示其他内存已损坏。解决方法

    未处理AccessViolationException 这通常指示其他内存已损坏,这里内存损坏并非物理的内存条损坏.猜想是执行到此步骤后,内存空间被清理了,没有找到内存地址的感觉. public st ...

  6. Linux下安装java环境

    准备工作: linux环境 xshell6 1.在Windows本地www,oracle.com下载对应的linux系统的JDK安装包,我下载的是 2.下载下来后,通过xftp远程传输到linux服务 ...

  7. WeChair项目Alpha冲刺(7/10)

    团队项目进行情况 1.昨日进展    Alpha冲刺第七天 昨日进展: 前端:页面修改和完善,安排页面美化 后端:和前端成功交互,数据解密成功 数据库:修改数据表属性,与后端部署数据库交互 2.今日安 ...

  8. java多线程并发执行demo,主线程阻塞

    其中有四个知识点我单独罗列了出来,属于多线程编程中需要知道的知识: 知识点1:X,T为泛型,为什么要用泛型,泛型和Object的区别请看:https://www.cnblogs.com/xiaoxio ...

  9. Python 简明教程 --- 13,Python 集合

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍 ...

  10. Redis系列(六):数据结构List双向链表LPUSH、LPOP、RPUSH、RPOP、LLEN命令

    1.介绍 redis中的list既实现了栈(先进后出)又实现了队列(先进先出) 1.示意图 2.各命令详解 LPUSH/RPUSH LPUSH: 从队列的左边入队一个或多个元素 将所有指定的值插入到存 ...