hadoop管理

hadoop管理工具:

一,dfsadmin工具

dfsadmin 工具用途比较广,既可以查找HDFS状态信息,又可以在HDFS上执行管理操作,以hdfs dfsadmin形式调用,且需要超级用户权限

二, 文件系统检查工具fsck

fsck检查HDFS中问文件的健康状况,该工具会查找那些在所有datanode中缺失的块以及过多或过少的复本块

%hdfs fsck  /

fsck 工具从给定的路径开始循环遍历文件系统的命名空间,并检查他所找到的文件

注意:fsck是从namenode获取信息,并不与datanode进行交互操作,因此并不真正获得块数据

查找文件的数据块

%hdfs fsck /user/tom/part-00007 -files -blocks -racks

参数:-files 显示第一行信息,包括文件名称,大小,块数量和健康状况

          -blocks 描述文件中各个块的信息,每个块一行

    -racks   显示各个块的机架位置和datanode位置

三,datanode块扫描器

各个datanode 运行一个块扫描器,定期检查本节点上的所有块,从而在客户端读到坏块之前及时修复和检测坏块,扫描器使用节流机制,即扫描器工作时占用一部分磁盘带宽

设置 dfs.datanode.scan.period.hours 设置扫描周期

四,均衡器

均衡器是hadoop的一个守护进程,将块从忙碌的datanode 移至空闲的datanode,重新分配块

启动均衡器

%start-balancer.sh

hdfs-site.xml中设置dfs.datanode.balance.bandwidthPerSec 设置均衡器可以使用的带宽

hadoop监控:

hadoop所有的守护进程都会产生日志

一,设置日志级别:

通过 守护进程网页/logLevel目录下来改变log4j日志名称级别

为所有以给定前缀开始的类包启用日志: 1)http://服务/logLevel  2)命令:%hadoop daemonlog -setlevel  守护进程服务:端口  设置选项  日志级别

 获取栈追踪:

hadoop守护进程提供一个网页 网页界面/stacks目录  对正在守护进程的JVM中运行着的线程执行线程转存储(thread dump)

委任和解除节点:

向集群添加新节点步骤:

1)将新节点的网络地址添加到include文件

2)运行以下指令,将审核过的一系列datanode集合更新至namenode信息中

%hdfs dfsadmin -refreshNodes

3) 运行以下指令,将审核过的一系列节点管理器更新至资源管理器

%yarn rmadmin -refreshNodes

4) 以新节点更新slaves文件

5)启动新的datanode 和 节点管理器

6)检查新的datanode 和 节点管理器是否都出现在网页界面中

解除旧节点步骤如下:

1)将待解除节点的网络地址添加到exclude文件中,不更新include文件

2)执行以下指令,使用一组新的datanode来更新namenode设置

%hdfs dfsadmin -refreshNodes

3)更新资源管理器设置

%yarn rmadmin -refreshNodes

4)转到网页界面,查看待解除datanode状态是否变为“正在解除”

5)datanode状态变为“解除完毕”,表明所有块复制完成,关闭已经解除节点

6)从include文件中移除这些节点,运行以下命令

%hdfs dfsadmin -refreshNodes

%yarn rmadmin -refreshNodes

7)从slave文件中移除节点

集群升级步骤:

1)执行升级任务前,确保前一升级已经定妥

2)关闭yarn ,mapreduce 守护进程

3)关闭HDFS,备份namenode目录

4)在集群和客户端安装新版本hadoop

5)使用-upgrade期待HDFS

%$NEW_hadoop_home/bin/start-dfs.sh -upgrade

6)等待升级完成

%NEW_hadoop_home/bin/hdfs dfsadmin -upgradeProgress status

7)检验HDFS是否正常运行

8)启动yarn   mapreduce守护进程

9)回滚或定妥升级任务

回滚:

%$NEW_hadoop_home/bin/stop-dfs.sh

%$OLD_hadoop_home/bin/start-dfs.sh -rollback

在执行新的升级任务之前,必须执行这一步:

%$NEW_hadoop_home/bin/hdfs dfsadmin -finalizeUpgrade

%$NEW_hadoop_home/bin/hdfs dfsadmin -upgradeProgress status

猜你喜欢

转载自www.cnblogs.com/zy1234567/p/10232543.html