管理hadoop集群

使用 hadoop dfsadimn管理集群

命令 说明
-metasave 正在复制和等待复制的块的信息;
-report 报告集群的信息状态
-safemode enter 进入安全模式,leave离开安全模式
-saveNamespace 将当前内存中的文件系统映像保持为一个新的fsimage文件,重置edits文件。 该操作仅在安全模式下进行*
-restoreFailedStorage true 设置/取消/检查NameNode中恢复失败存储的可用副本的标记。
-refreshNodes 更新允许连接到namenode的datanode列表。该操作会使namenode重新读取dfs.hosts、dfs.host.exclude的配置。
-finalizeUpgrade 移除datanode和namenode存储目录下的旧版本数据。一般在升级完成后进行。
-upgradeProgress 获取HDFS的升级状态。
-metasave /path 将HDFS部分信息存储到Hadoop日志目录下的指定文件中。信息包括:正在被复制或删除的块信息 连接上的datanode列表

fsck命令

命令选项 说明
-list-corruptfileblocks 列出损坏的块
<path> 要检查的目录或文件的HDFS路径
-move 将损坏的文件移动到 /lost+found
-delete 删除损坏的文件
-openforwrite 显示正在写入的文件
-files 显示被检查的文件
-blocks 显示文件中的各个块信息
-locations 显示每一块的位置
-racks 显示每个块的机架位置和DataNode地址

查看损坏的块:

hdfs fsck / | egrep -v '^\.+$' | grep -v eplica

查看缺失文件的情况:

hdfs fsck /path/to/corrupt/file -locations -blocks -files

修复损坏的块

hdfs debug recoverLease -path 文件位置 -retries 重试次数 # 修复指定路径的hdfs文件,尝试多次

负载均衡

HDFS提供了负载均衡器程序,可将负载较重的DataNode上的块数据转移到空闲的DataNode上。集群均衡的标准为LmeigeDataNode的使用率和集群的使用率之间的差别小于阈值(默认为10%)。当集群的负载达到均衡标准后,负载均衡器就自动退出了。启动负载均衡器的方式如下所示

$ sbin/start-balancer.sh【threshold n】[-policy [datanode|blockpool]

添加节点

将新节点的主机名添加到include文件中(include文件为配置项dfs.hosts指向的文件);

  • 部署、配置新节点上的HDFS组件
  • 运行dfsadmin -refreshNodes命令,使NameNode更新最新的DataNode列表:

移除节点

将需要解除的节点主机名加入exclude文件中;

  • 运行dfsadmin -refreshNodes命令,使NameNode更新最新的DataNode列表;
  • 通过dfsadmin –report命令或Web UI查看待解除节点的状态是否处于Decommission状态,该状态表明该节点正在转移数据到其他节点;
  • 当待解除节点的状态变为Decommissioned时,说明数据已转移,可以任意关闭该节点;
  • 从include文件中移除待解除节点的主机名,并使用dfsadmin -refreshNodes命令再次更新NameNode上的DataNode列表;
  • 从slaves文件中移除这些节点,解除集群对这些节点的控制。

hadoop的快照

允许快照

hdfs dfsadmin -allowSnapshot 《path》 《dir》:

禁止快照

hdfs dfsadmin -disallowSnapshot

注意:hdfs的路径和文件用空格分开,否则报错
删除快照

hadoop fs -deleteSnapshot / s20190506-164557.598

获得snapshottable目录列表

hdfs lsSnapshottableDir

快照恢复

hdfs dfs -cp -ptopax /snapshot    /tmp

hadoop的压缩

关于压缩可以参考:https://blog.csdn.net/yu0_zhang0/article/details/79524842
https://blog.51cto.com/flyfish225/2097274
查看自己的hadoop支持的压缩格式

hadoop checknative -a
压缩格式 UNIX工具 算 法 文件扩展名 可分割
DEFLATE DEFLATE .deflate No
gzip gzip DEFLATE .gz No
LZ4 LZ4 .LZ4 NO
bzip bzip bzip .bz2 YES
LZO lzop LZO .lzo YES if indexed

注意
分割是指:MapReduce是否会启动多个maptask,普通文件会一个块对应maptask,而压缩文件根据是否分割,不分割只启动一个mpatask
参考博客:https://www.cnblogs.com/warmingsun/p/5056393.html

猜你喜欢

转载自blog.csdn.net/qq_43227570/article/details/89884768