Hadoop常见问题一

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ld3205/article/details/84643278

1.在使用Hadoop的有关命令的时候,出现Warnning ...等提示时?

这是因为JDK内部的原因而导致的,所以提示建议选用不同版本的JDK。本人刚开始使用的是:JDK11,Centos操作系统,hadoop2.9.2,在进行hadoop命令操作时,出现Warnning,之后将JDK11改为JDK8后,使用hadoop命令不在出现警告,当然读者也可以尝试不同的JDK版本。

2.在linux中运行jar文件?

在window下使用eclipseIDE进行java源代码的编辑,然后打包成jar文件,然后上传到Hadoop所在的主机上,然后启动hadoop的所有组件,进而使用hadoop jar xxx.jar文件,这里有一个问题注意:在window中使用的JDK的版本需要与hadoop上配置的JDK的版本一致,因此Java支持高版本JVM运行低版本的class文件,但是不支持低版本的JVM运行高版本编译的class文件。

3.注意hadoop的类路径配置问题

当运行jar文件的时候,提示Could not find or load main class XXXXX.jar,主要原因是没有运行时没有找到jar包,有两种方式:一种是使用export HADOOP_CLASSPATH="XXX" 或者在 hadoop-env.sh中添加export HADOOP_CLASSPATH="XXX".

4.启动hadoop的各个组件的时候,没有namenode节点?

配置:core-site.xml

<property>
           <name>hadoop.tmp.dir</name>
           <value>xxxx</value>  //不要是temp文件就是,默认是temp文件,但是temp文件在每次重启后内容会被清空
           </property>

配置完成后,,需要先初始化namenode节点: 使用 hadoop namenode -format

5.在从HDFS中读取文件的时候,URI的注意事项?

如果core-site.xml中的配置如下:

 <name>fs.defaultFS</name>
            <value>hdfs://localhost/</value>

则在编辑JAVA代码的时候,确定URI的时候需要和这个一致,应该是:

String uri="hdfs://localhost/test/test.txt";

 

 

 

 

猜你喜欢

转载自blog.csdn.net/ld3205/article/details/84643278