Hadoop集群启动顺序和部分命令整理

Hadoop集群启动顺序

zookeepeer->hadoop->hbase

Hadoop集群关闭顺序

hbase->hadoop->zookeepeer

Hadoop 主备节点状态查看与手动切换

$HADOOP_HOME/bin/hdfs  haadmin -getServiceState  nn1
注意:此处的nn1为在hdfs-site.xml中配置的namenode服务的名称。


$HADOOP_HOME/bin/hdfs  haadmin -failover --forcefence --forceactive  nn2  nn1
注意:此处“nn2  nn1”的顺序表示active状态由nn2转换到nn1上(虽然nn2在转化前也可以是standby状态)。

安全模式

dfsadmin -safemode value 来操作安全模式,参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get  - 返回安全模式是否开启的信息
wait  - 等待,一直到安全模式结束。

块丢失修复

使用 hadoop fsck / 列出损坏文件
损坏的文件无法恢复,只能删除损坏的文件  hadoop fsck -delete
在namenode文件信息较大的时候会很慢,而且影响hadoop性能
Usage: hadoop fsck <path> [-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]]
        <path>  检查的起始目录
        -move   将损坏的文件移到到/lost+found
        -delete 删除损坏的文件
        -files  打印出所有被检查的文件
        -openforwrite   打印出正在写的文件
        -list-corruptfileblocks print out list of missing blocks and files they belong to
        -blocks 打印出block报告
        -locations      打印出每个block的位置
        -racks  打印出data-node的网络拓扑结构
默认情况下,fsck会忽略正在写的文件,使用-openforwrite可以汇报这种文件



<think>好的,我需要帮助用户了解如何安全重启Hadoop集群。首,我需要回顾Hadoop集群的基本结构组件,比如HDFS、YARN以及相关的守护进程。然后,正确的重启步骤应该是怎样的呢?可能涉及到停止启动各个服务,确保数据的一致性服务的可用性。 我记得Hadoop集群通常包括NameNode、DataNode、ResourceManager、NodeManager等组件。用户可能是在生产环境中操作,所以安全重启非常重要,避免数据丢失或服务中断。首,应该停止YARN相关的服务,然后是HDFS,或者反过来?需要确认正确的顺序。 参考用户提供的引用内容,引用[3]提到了启动集群命令,包括start-dfs.sh、start-yarn.shmr-jobhistory-daemon.sh。那么重启的话,应该是停止这些服务,再启动。正确的顺序可能是停止YARN,再停止HDFS,这样可以避免任务中途中断导致的问题。不过,我需要确认这个顺序是否合理,是否还有其他步骤,比如检查进程是否完全终止。 另外,用户提到“安全重启”,可能还需要考虑备份元数据,比如NameNode的元数据,防止在重启过程中出现故障。此外,在分布式环境中,是否要逐个节点重启,还是整体重启?通常可能是在主节点停止服务,然后在从节点,再按相反顺序启动。 还有,用户提供的引用[2]中提到了配置环境变量Hadoop的安装路径,这可能影响脚本的执行路径,所以在执行停止启动命令时,需要确保环境变量正确设置,或者使用绝对路径。 此外,检查进程是否真的停止很重要,避免有些进程没有正确终止,导致端口冲突或者其他问题。可能需要使用jps命令来确认所有Java进程已经结束。 最后,验证集群状态,比如通过hdfs dfsadmin -reportyarn node -list来检查节点是否正常加入集群。如果有问题,可能需要查看日志文件排查错误。 总结步骤的话,大致是:停止YARN服务,停止HDFS,停止JobHistory,检查进程,然后按相反顺序启动,再验证状态。同时,注意备份日志检查。现在需要把这些步骤整理成清晰的指南,确保用户能够安全地重启集群。</think>### 如何安全重启Hadoop集群的步骤指南 重启Hadoop集群需谨慎操作以避免数据损坏或服务中断。以下是基于Hadoop 3.x版本的最佳实践: #### 一、停止集群服务 1. **停止YARN资源管理服务** 在ResourceManager节点执行: ```bash stop-yarn.sh ``` 这会关闭YARN的ResourceManager所有NodeManager进程[^3]。 2. **停止HDFS存储服务** 在NameNode节点执行: ```bash stop-dfs.sh ``` 该命令会关闭NameNode、DataNodeSecondaryNameNode[^2]。 3. **停止JobHistory服务** 在主节点执行: ```bash mr-jobhistory-daemon.sh stop historyserver ``` #### 二、验证进程终止 执行以下命令检查所有Hadoop相关进程是否已退出: ```bash jps ``` 确保输出中无`NameNode`、`DataNode`、`ResourceManager`等进程。 #### 三、启动集群服务 1. **启动HDFS存储服务** 在NameNode节点执行: ```bash start-dfs.sh ``` 2. **启动YARN资源管理服务** 在ResourceManager节点执行: ```bash start-yarn.sh ``` 3. **启动JobHistory服务** 在主节点执行: ```bash mr-jobhistory-daemon.sh start historyserver ``` #### 四、集群状态验证 1. **检查HDFS状态** ```bash hdfs dfsadmin -report ``` 确认所有DataNode处于`Live`状态。 2. **检查YARN状态** ```bash yarn node -list ``` 验证所有NodeManager正常注册。 3. **检查Web UI** 访问`http://<NameNodeIP>:9870``http://<ResourceManagerIP>:8088`确认服务状态。 #### 五、注意事项 - **元数据备份**:重启前建议备份NameNode元数据目录(`dfs.namenode.name.dir`)[^2]。 - **滚动重启**:生产环境可采用逐个节点重启方式,通过`hadoop-daemon.sh stop/start`控制单个守护进程。 - **日志检查**:查看`$HADOOP_HOME/logs/`目录下日志文件排查异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值