任务描述 本关任务:安装配置Hadoop开发环境。 相关知识 下载Hadoop 我们去官网下载:http://hadoop.apache.org/ 在平台上已经帮你下载好了(在/opt目录下),这里只是展示一下下载步骤。 输入wget下载Hadoop; wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz 如果是生产环境就需要验证文件的完整性,在这里就偷个懒了。 由于解压包有大概300M,所以我们已经预先帮你下载好了,切换到/opt目录下即可看到。 接下来解压Hadoop的压缩包,然后将解压好的文件移动到/app目录下。 我们来切换到app目录下修改一下hadoop文件夹的名字。 提示:如果出现文件解压大小限制的情况,可以使用 ulimit -f 1000000 命令来解除限制。 配置Hadoop环境 接下来我们开始配置Hadoop开发环境。 咱们来搭建一个单节点的集群,配置一个伪分布式,为什么不做分布式呢? 其实分布式的配置和伪分布式差不多,只是分布式机器增加了而已,其他没什么两样,所以作为Hadoop学习我们搭建伪分布式要更好一点,不过后期我们会搭建真正的分布式环境。 好了,开始吧。你可以和我一起来,也可以看官方文档:http://hadoop.apache.org/docs/r3.1.0/hadoop-project-dist/hadoop-common/SingleCluster.html 设置SSH免密登录 在之后操作集群的时候我们需要经常登录主机和从机,所以设置SSH免密登录时有必要的。 输入如下代码: ssh-keygen -t rsa -P '' 生成无密码密钥对,询问保存路径直接输入回车,生成密钥对:id_rsa和id_rsa.pub,默认存储在~/.ssh目录下。 接下来:把id_rsa.pub追加到授权的key里面去。 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 然后修改权限: chmod 600 ~/.ssh/authorized_keys 接着需要启用RSA认证,启动公钥私钥配对认证方式: vim /etc/ssh/sshd_config 如果提示权限不足在命令前加上sudo; 修改ssh配置: RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径 重启SSH(在本地自己的虚拟机中可以重启,在平台不可以重启哦,也不需要,重启了你就连接不上命令行了!) service ssh restart 好了准备工作已经做完了,我们要开始修改Hadoop的配置文件了,总共需要修改6个文件。分别是: hadoop-env.sh; yarn-env.sh ; core-site.xml; hdfs-site.xml; mapred-site.xml; yarn-site.xml。 我们一个一个接着来配置吧! hadoop-env.sh 配置 两个env.sh文件主要是配置JDK的位置 提示:如果忘记了JDK的位置了,输入 echo $JAVA_HOME就可以看到哦。 首先我们切换到hadoop目录下 cd /app/hadoop3.1/etc/hadoop/ 编辑 hadoop-env.sh在文件中插入如下代码: # The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/app/jdk1.8.0_171 yarn-env.sh 配置 编辑yarn-env.sh 插入如下代码: export JAVA_HOME=/app/jdk1.8.0_171 core-site.xml配置 这个是核心配置文件我们需要在该文件中加入HDFS的URI和NameNode的临时文件夹位置,这个临时文件夹在下文中会创建。 在文件末尾的configuration标签中添加代码如下: <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> <description>HDFS的URI,文件
时间: 2025-06-22 12:28:56 浏览: 19
<think>好的,我现在要帮用户解决如何安装和配置Hadoop开发环境的详细步骤。首先,我需要回忆一下Hadoop安装的基本流程,确保自己没有遗漏关键步骤。根据用户的问题,他们需要知道下载、解压、移动文件、设置SSH免密登录,以及配置多个关键文件,比如hadoop-env.sh、yarn-env.sh、core-site.xml等。
首先,我应该从下载和解压开始。Hadoop的官方网站是必须的,用户需要去那里下载稳定版本的二进制包。常见的版本可能是3.x系列,但需要确认最新版本。解压之后,通常建议将Hadoop移动到特定的目录,比如/usr/local或者用户的主目录下的某个位置,方便管理。这里可能需要使用sudo命令,特别是如果用户没有权限的话。
接下来是设置环境变量。用户需要编辑~/.bashrc或者~/.bash_profile,添加Hadoop的路径到PATH中,这样可以在任何位置运行Hadoop命令。记得source一下让配置生效。
然后是SSH免密登录的设置。Hadoop的各个节点需要互相通信,所以必须配置SSH免密登录。用户需要生成密钥对,并将公钥添加到authorized_keys文件中。这里可能需要解释ssh-keygen和ssh-copy-id命令的使用,以及如何测试SSH连接是否成功。
接下来是配置文件的调整,这部分可能比较复杂。用户提到了hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml这几个文件。每个文件的作用需要简要说明,比如core-site.xml配置HDFS的地址和临时目录,hdfs-site.xml配置NameNode和DataNode的存储路径,mapred-site.xml配置MapReduce框架使用YARN,yarn-site.xml配置资源管理相关参数。
在配置文件中,可能需要替换具体的路径,比如hadoop.tmp.dir的位置,以及NameNode和DataNode的目录。同时,需要确保这些目录存在并且有正确的权限,否则Hadoop启动时会报错。
另外,hadoop-env.sh和yarn-env.sh中需要设置JAVA_HOME环境变量,确保Hadoop和YARN能够找到Java的安装路径。这一点容易被忽略,特别是如果系统中有多个Java版本的话。
配置完成后,用户需要初始化HDFS,格式化NameNode,然后启动集群。启动后,通过jps命令检查各个守护进程是否正常运行,比如NameNode、DataNode、ResourceManager、NodeManager等。
可能的问题点包括:权限问题导致无法写入目录,SSH配置不正确导致节点无法通信,Java环境变量未正确设置,或者配置文件中的路径错误。需要提醒用户仔细检查这些部分,特别是日志文件中的错误信息,以便排查问题。
用户提供的引用中提到了配置文件的参数繁多,建议先按照示例配置,遇到问题再调整。比如引用[1]提到core-site.xml、hdfs-site.xml、mapred-site.xml是关键,不同版本的Hadoop配置可能不同,需要经验积累。所以,在回答时应该建议用户先按照给出的配置示例进行设置,后续再根据实际运行情况调整参数。
此外,引用[2]中的Spark-env.sh配置提到了将Hadoop的类路径添加到Spark中,这可能和Hadoop本身的配置有关联,但当前问题主要关注Hadoop的安装,可以暂时不提Spark的配置,除非用户的问题涉及集成Spark。
最后,生成的相关问题需要围绕Hadoop安装可能遇到的后续步骤或问题,比如环境变量不生效的解决方法,SSH免密登录失败的处理,配置文件参数调优,以及与其他框架的整合等。</think>### Hadoop 3.3.6 开发环境安装与配置教程
#### 一、环境准备
1. 系统要求:Linux/Unix 系统(推荐 Ubuntu/CentOS)
2. 前置依赖:
- Java 8+(验证命令:`java -version`)
- SSH 客户端(安装命令:`sudo apt install openssh-server`)
#### 二、安装流程
1. **下载与解压**
```bash
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
```
2. **环境变量配置**
编辑 `~/.bashrc` 文件:
```bash
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
```
执行 `source ~/.bashrc` 使配置生效
3. **SSH免密登录配置**
```bash
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 验证免密登录
ssh localhost
```
#### 三、核心配置文件详解
1. **hadoop-env.sh**
```bash
# 设置Java路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# 设置Hadoop配置目录
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
```
2. **core-site.xml**
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
```
3. **hdfs-site.xml**
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
```
4. **mapred-site.xml**
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
5. **yarn-site.xml**
```xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME</value>
</property>
</configuration>
```
#### 四、初始化与验证
1. 格式化HDFS:
```bash
hdfs namenode -format
```
2. 启动集群:
```bash
start-dfs.sh
start-yarn.sh
```
3. 验证服务:
```bash
jps
# 应包含进程:NameNode, DataNode, ResourceManager, NodeManager
```
阅读全文
相关推荐

















