本文档介绍如何设置和配置单节点Hadoop安装,以便使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。版本:3.1.2
安装
1)安装环境依赖
Java™ must be installed. Recommended Java versions are described at HadoopJavaVersions.
ssh must be installed and sshd must be running to use the Hadoop scripts that manage remote Hadoop daemons.
2)下载hadoop 并解压
执行./bin/hadoop,如果安装环境依赖配置OK,则会提示hadoop的用法
3)使用单机模式安装(仅仅用于进行开发调试)
4)伪分布式操作
步骤参考:
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
配置说明:
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
用于设置hadoop的默认文件系统。这里通过uri方式配置,我们将在localhost的9000端口上运行namenode
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
仅仅在伪分布式配置,这样hdfs就不会按默认设置将文件系统块复本设为3。如果没有设置,会持续给出复本不足警告。
服务启动和停止
启动服务:
sbin/start-dfs.sh
sbin/start-yarn.sh
hdfs默认端口:hdfs://[host]:9000
yarn默认地址:http://[host]:8088/cluster
停止服务:
sbin/stop-dfs.sh
sbin/stop-yarn.sh
安装遇到的问题
1)localhost: ERROR: JAVA_HOME is not set and could not be found.
即使在linux环境变量配置了JAVA_HOME,仍然建议在etc/hadoop/hadoop-env.sh中export一次JAVA_HOME
2)ERROR: Cannot set priority of namenode process 26188
请检查 bin/hdfs namenode -format操作是否正确执行
3)Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/hdfs/server/namenode/NameNode : Unsupported major.minor version 52.0
遇到这个你使用的是java7,检查JAVA_HOME的路径是否设置正确
4)hadoop ENOENT: No such file or directory
请检查hadoop datanode目录是否有权限读写,默认是在/tmp目录下