Hadoop 问题解决
本文最后更新于:2024年3月18日 凌晨
Hadoop 问题解决
启动 Hadoop 时提示 Could not resolve hostname
报错:如果启动 Hadoop 时遇到输出非常多"ssh: Could not resolve hostname xxx”的异常情况,如下图所示:
解决方法:这个并不是 ssh 的问题,可通过设置 Hadoop 环境变量来解决。
- 首先按键盘的 ctrl + c 中断启动,然后在
~/.bashrc
中,增加如下两行内容(设置过程与 JAVA_HOME 变量一样,其中 HADOOP_HOME 为 Hadoop 的安装目录):
1 |
|
- 保存后,务必执行
source ~/.bashrc
使变量设置生效,然后再次执行./sbin/start-dfs.sh
启动 Hadoop - 启动完成后,可以通过命令
jps
来判断是否成功启动,若成功启动则会列出如下进程:NameNode
,DataNode
和SecondaryNameNode
- 如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试。
- 如果没有 NameNode 或 DataNode,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
Hadoop无法正常启动的解决方法
解决方法
- 一般可以查看启动日志来排查原因,注意几点:
- 启动时会提示形如"DBLab-XMU: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-DBLab-XMU.out”,其中 DBLab-XMU 对应你的机器名,但其实启动日志信息是记录在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-DBLab-XMU.log 中,所以应该查看这个后缀为 .log 的文件。
- 每一次的启动日志都是追加在日志文件之后,所以得拉到最后面看,对比下记录的时间就知道了。
- 一般出错的提示在最后面,通常是写着 Fatal,Error,Warning 或者 Java Exception 的地方。
- 可以在网上搜索一下出错信息,看能否找到一些相关的解决方法。
- 此外,若是 DataNode 没有启动,可尝试如下的方法(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做):
1 |
|
- 成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
Java API 远程hbase出错
报错
1 |
|
原因:hbase会根据192.168.137.25 找到虚拟机主机,并且根据主机hosts文件解析IP127.0.0.1,这就造成了无法识别主机名。
解决方法
- 修改linux的host
1 |
|
- 修改本机的host
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!