Hadoop部署过程中问题总结

部署运行你感兴趣的模型镜像

Hadoop伪分布式集群部署问题总结

一、HDFS初始化失败

初始化失败,HDFS初始化操作如下:

hdfs namenode -format

然后我运行后报错:error parsing conf core-site.xml
出现这个信息就说明core-site.xml配置文件出错了,用vim命令可以再修改。这里插入一个小tip,vim命令打开文件后,输入i表示Insert,才能编辑文本,编辑好后摁Esc后输入:wq保存并退出即可。这里出错可以看一下日志报告的什么错误,比如我的这个就是name打错成了neme,修改过后就初始化成功了。
在这里插入图片描述初始化成功会显示如下图片内容:Storage。。。。successfully formatted
在这里插入图片描述

二、初次启动HDFS需要格式化

格式化操作如下

hdfs bin/hdfs namenode -format

不要多次格式化,后面会出问题。多次格式化需要删除/usr/hadoop/hadoopdata目录后再重新格式化

三、在linux上登录hadoop用户

因为前面只配置了hadoop用户的环境变量,不登录启动不了HDFS。
1.需要创建hadoop用户

sudo useradd hadoop

2.设置hadoop用户密码

sudo passwd hadoop

3.添加 Hadoop 用户到 Hadoop 组

sudo usermod -a -G hadoop hadoopuser

注意空格
4.切换登录账户

su - hadoop

这时候又报错了-bash-4.2$
将/etc/skel目录下的环境变量文件拷贝到当前用户根目录,然后重新登录
操作方法如下:
1.创建根目录

mkdir /home/hadoop

2.修改权限

chown hadoop:hadoop /home/hadoop

3.拷贝文件

bash-4.2$ cp /etc/skel/.bash* ~/

注意空格
4.重新登录

bash-4.2$ bash   

这里又有新问题,因为使用了sudo命令,错误:hadoop 不在 sudoers 文件中。此事将被报告。
我从网上查了一些解决方案,但是我没有管。我是直接转到初始目录下操作上面1,2,3步以后登录,登录后依然是bash-4.2$,直接bash就登录上了。
在这里插入图片描述在这里插入图片描述

四、启动HDFS和YARN报错

启动HDFS和YARN时又报错了,Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)Starting datanodes这时候我登陆了hadoop账户,但是我忽略了一个重要问题,那就是格式化的时候用的是root,这时候使用hadoop启动权限是不够的,一开始的时候只配置了hadoop用户的环境变量,再加一个root变量就可以解决问题了。
登录用户错误在这里插入图片描述添加root变量:

vim /etc/profile

添加root环境变量到最后

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

然后source /etc/profile使配置文件生效即可。
用户权限解决了,又出现了新的问题
Java路径问题
在这里插入图片描述解决方法:vim /app/hadoop-3.2.2/etc/hadoop/hadoop-env.sh,加粗部分是本人安装hadoop的路径,因人而异。
添加export JAVA_HOME=/usr/local/java/jdk1.8.0_341/(自己的Java路径)注意不要添加到注释后面。
最后,启动HDFS和YARN终于成功。
在这里插入图片描述在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think> 嗯,用户询问的是在部署Hadoop YARN时,jps命令找不到ResourceManager的解决办法。根据提供的多个引用信息可以看出,这个问题通常由几个关键原因引起。 引用[2]和[5]都提到了环境变量配置问题,特别是JAVA_HOME的设置错误会导致ResourceManager无法启动。引用[2]还提到一个具体异常java.lang.reflect.InaccessibleObjectException,这通常与Java版本兼容性问题有关。引用[3]和[4]则强调了日志排查的重要性,ResourceManager的启动失败细节都会记录在yarn-hadoop-resourcemanager-*.log文件中。 用户可能已经尝试过基础的重启操作但未解决问题,现在需要系统性的排查方案。考虑到用户的环境可能是集群部署,需要特别注意主从节点配置一致性(如引用[2]提到的tmp/logs清理和重新格式化)。 在整理解决方案时,应该优先推荐日志分析这个最直接的诊断方式,因为引用[3]和[4]都证实了日志能定位具体错误原因。其次是环境变量检查,引用[5]给出的示例很清晰,通过dpkg -L查找javac路径的方法适用于Debian系系统。对于Java版本问题,引用[2]提供的解决方案步骤很完整,但需要提醒用户在集群所有节点执行。 防火墙和端口检查(引用[4])容易被忽视,特别是云服务器环境存在公网私网区别。最后保留重新初始化的步骤,因为引用[2]证明这是有效方案,但要放在最后作为终极手段,毕竟格式化NameNode会导致数据丢失。 用户可能还需要知道某些特殊情况,比如ResourceManager进程存在但jps不显示(引用[4]),这时用netstat验证端口更可靠。生成的相关问题特意包括了ZooKeeper恢复,因为生产环境常需要高可用方案。 </think> 根据引用内容,Hadoop YARN启动后`jps`未显示ResourceManager的解决方法可分为以下步骤,按优先级排序执行: --- ### 一、核心解决步骤 1. **检查日志定位根源** ```bash tail -500 $HADOOP_HOME/logs/yarn-*-resourcemanager-*.log ``` 优先分析日志中的错误堆栈(如引用[3]),常见错误: - **Java环境问题**(引用[2][5]) - **端口冲突**(引用[4]) - **权限错误**(如SELinux限制) 2. **验证JAVA_HOME配置**(关键!引用[2][5]) 编辑 `hadoop-env.sh` 确保路径正确: ```bash vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh ``` 添加/修改(路径根据实际JDK安装位置调整): ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 示例路径 ``` > ✅ 通过 `echo $JAVA_HOME` 和 `$JAVA_HOME/bin/java -version` 双重验证 3. **清理临时文件并重新格式化**(引用[2]) ```bash # 停止Hadoop stop-all.sh # 删除临时文件(所有节点) rm -rf $HADOOP_HOME/tmp/* rm -rf $HADOOP_HOME/logs/* # 主节点重新格式化 hdfs namenode -format # 重启 start-all.sh ``` --- ### 二、补充排查项 4. **检查端口占用**(引用[4]) ResourceManager默认使用 **8088端口**: ```bash netstat -tlnp | grep 8088 ``` 若被占用,修改 `yarn-site.xml`: ```xml <property> <name>yarn.resourcemanager.webapp.address</name> <value>0.0.0.0:自定义端口</value> </property> ``` 5. **验证网络配置**(引用[4]) - 确保 `etc/hosts` 中主机名与IP映射正确(**禁用127.0.0.1绑定**) - 云服务器需配置**安全组开放8088端口**(公网/私网区分) 6. **检查ResourceManager服务状态** 手动启动并观察输出: ```bash yarn --daemon start resourcemanager ``` --- ### 三、其他可能性 7. **Java版本兼容性**(引用[2]) 若日志出现 `InaccessibleObjectException`,需: - 升级至 Hadoop 3.3.0+ 或 - 在 `hadoop-env.sh` 添加JVM参数: ```bash export HADOOP_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED" ``` 8. **配置文件完整性** 检查 `yarn-site.xml` 关键参数: ```xml <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> <!-- 主节点主机名 --> </property> ``` --- ### ✅ 验证成功 执行后检查: 1. `jps` 显示 `ResourceManager` 进程 2. 访问 `http:\\<master-ip>:8088` 显示YARN WebUI(引用[2][4]) > 📌 **要点总结**:95%的问题源于 **JAVA_HOME配置错误**、**临时文件冲突** 或 **端口占用**(引用[2][5][4])。优先检查日志可节省大量时间。 --- ### 相关问题 1. 如何通过YARN日志诊断NodeManager启动失败的问题? 2. Hadoop集群格式化NameNode后原有数据如何恢复? 3. YARN资源调度器(Capacity/Fair Scheduler)配置差异及适用场景? 4. Hadoop高可用(HA)模式下ResourceManager异常切换的排查步骤? 5. 如何优化YARN以减少Java版本兼容性问题? [^1]: Hadoop YARN核心组件稳定性分析 [^2]: ResourceManager启动异常解决流程 [^3]: 日志诊断法定位YARN问题 [^4]: 网络与端口配置验证 [^5]: JAVA_HOME配置的关键作用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值