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. 在Centos7中,从主机 Windows 上无法远程访问 Linux 上rabbitmq的解决方法

    当在 Linux 上配置好 Rabbitmq服务器后,如果从主机中无法访问到 Linux 中的Rabbitmq服务器时,需要做如下的检查: 1. Rabbitmq是否启动成功 在控制台输入: ps - ...

  2. numpy中的浅复制和深复制

    浅复制:主要有两种方式,简单的赋值或者使用视图(view) 简单的赋值:其实就是制造了一个别名,数组并没有被copy成新的一份,当使用其中一个别名改变数组值的时候,另一个别名对应的值一并改变. > ...

  3. Java 源码刨析 - 线程的状态有哪些?它是如何工作的?

    线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在. 一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源.更加轻量化,也因 ...

  4. cc31a_demo--CppPrimer_静态成员与继承-在派生类中访问基类中的static成员的方法

    //*基类中的static成员,在整个继承层次中只有一个实例 //*在派生类中访问基类中的static成员的方法 //1.基类名::成员名 //2.子类名::成员名 //3.对象.成员名 //4.指针 ...

  5. C语言实现类

    #ifndef __DEFINE__H__ #define __DEFINE__H__ #define vector3(type) \ typedef struct vector3_##type { ...

  6. Java | 静态嵌套类(Static Nested Class)

    前言 本文内容主要来自 Java 官方教程中的<嵌套类>章节. 本文提供的是 JDK 14 的示例代码. 定义 静态嵌套类(Static Nested Class),是 Java 中对类的 ...

  7. Mysql和Redis数据同步策略

    为什么对缓存只删除不更新 不更新缓存是防止并发更新导致的数据不一致. 所以为了降低数据不一致的概率,不应该更新缓存,而是直接将其删除, 然后等待下次发生cache miss时再把数据库中的数据同步到缓 ...

  8. 处理TortoiseGit一直弹出密码框的方法 -输入git@XXXX.com的密码

    问题 :在push和pull的时候,一直都弹出这个框 1.开始处搜索TortoiseGit文件夹,找到其中的“PuTTYgen”文件,如下显示 2.运行之后在弹出的窗口中点击下方的“Generate” ...

  9. python 之 数据类型初接触

    python 之 数据类型初接触 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dicti ...

  10. 动态自动配置Bean

    概览 接口Condition 用于基于条件的自动配置,和注解@Conditional配合使用,可实现JavaBean的动态自动配置 自定义实现动态配置Bean 定义一个接口和两个实现类 定义两个Con ...