跳转到内容

Apache Hadoop安装与配置

来自代码酷

Hadoop安装与配置[编辑 | 编辑源代码]

介绍[编辑 | 编辑源代码]

Hadoop是一个开源的分布式计算框架,用于处理大规模数据集(Big Data)。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。要使用Hadoop,首先需要正确安装和配置其环境。本节将详细介绍Hadoop的安装步骤、配置方法以及常见问题的解决方案,适用于初学者和需要快速上手的开发者。

系统要求[编辑 | 编辑源代码]

在安装Hadoop之前,请确保满足以下系统要求:

  • **操作系统**:Linux(推荐Ubuntu或CentOS),Windows(需额外配置)
  • **Java**:JDK 8或更高版本(Hadoop依赖Java运行)
  • **内存**:至少4GB RAM(建议8GB以上)
  • **磁盘空间**:至少20GB可用空间

安装步骤[编辑 | 编辑源代码]

1. 安装Java[编辑 | 编辑源代码]

Hadoop需要Java环境。使用以下命令检查Java是否已安装:

  
java -version

如果未安装,可以通过以下命令安装OpenJDK(以Ubuntu为例):

  
sudo apt update  
sudo apt install openjdk-8-jdk

2. 下载Hadoop[编辑 | 编辑源代码]

从Apache官网下载Hadoop稳定版本(例如3.3.6):

  
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz  
tar -xzvf hadoop-3.3.6.tar.gz  
sudo mv hadoop-3.3.6 /usr/local/hadoop

3. 配置环境变量[编辑 | 编辑源代码]

编辑`~/.bashrc`文件,添加以下内容:

  
export HADOOP_HOME=/usr/local/hadoop  
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

加载配置:

  
source ~/.bashrc

4. 配置Hadoop[编辑 | 编辑源代码]

Hadoop的主要配置文件位于`$HADOOP_HOME/etc/hadoop/`目录下。以下是关键文件的配置:

core-site.xml[编辑 | 编辑源代码]

配置HDFS的默认文件系统:

  
<configuration>  
    <property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://localhost:9000</value>  
    </property>  
</configuration>

hdfs-site.xml[编辑 | 编辑源代码]

配置HDFS的副本数(单机模式设为1):

  
<configuration>  
    <property>  
        <name>dfs.replication</name>  
        <value>1</value>  
    </property>  
</configuration>

mapred-site.xml[编辑 | 编辑源代码]

配置MapReduce框架:

  
<configuration>  
    <property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
    </property>  
</configuration>

yarn-site.xml[编辑 | 编辑源代码]

配置YARN资源管理器:

  
<configuration>  
    <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
    </property>  
</configuration>

5. 格式化HDFS[编辑 | 编辑源代码]

首次启动前需格式化HDFS:

  
hdfs namenode -format

6. 启动Hadoop[编辑 | 编辑源代码]

启动HDFS和YARN服务:

  
start-dfs.sh  
start-yarn.sh

验证服务是否运行:

  
jps

输出应包含`NameNode`、`DataNode`、`ResourceManager`等进程。

实际案例[编辑 | 编辑源代码]

假设我们需要在Hadoop上运行一个简单的WordCount程序:

1. 创建输入文件:

  
echo "Hello World Hello Hadoop" > input.txt  
hdfs dfs -mkdir -p /user/hadoop/input  
hdfs dfs -put input.txt /user/hadoop/input

2. 运行WordCount:

  
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /user/hadoop/input /user/hadoop/output

3. 查看结果:

  
hdfs dfs -cat /user/hadoop/output/*

输出:

  
Hello   2  
World   1  
Hadoop  1

常见问题与解决方案[编辑 | 编辑源代码]

  • **问题1**:`java.net.UnknownHostException`
 **解决**:在`/etc/hosts`中添加主机名映射:  
  
  127.0.0.1 localhost hadoop
  • **问题2**:HDFS无法启动
 **解决**:检查日志文件(`$HADOOP_HOME/logs/`)中的错误信息,常见原因是端口冲突或权限问题。  

总结[编辑 | 编辑源代码]

本节详细介绍了Hadoop的安装与配置流程,包括环境准备、配置文件修改和基础示例。通过实践WordCount程序,用户可以初步体验Hadoop的分布式计算能力。对于更复杂的集群配置,请参考Hadoop官方文档。

graph TD A[安装Java] --> B[下载Hadoop] B --> C[配置环境变量] C --> D[修改配置文件] D --> E[格式化HDFS] E --> F[启动服务]