centos7部署hadoop3.31
时间: 2025-07-08 19:46:50 浏览: 9
在 CentOS 7 上安装和配置 Hadoop 3.3.1 涉及多个步骤,包括系统环境准备、Hadoop 安装包的下载与解压、环境变量配置以及相关配置文件的修改。以下是详细的操作指南:
### 系统环境准备
1. **安装 Java**
Hadoop 是基于 Java 的框架,因此必须先在系统中安装 Java 运行环境。推荐使用 OpenJDK 8 或更高版本。可以通过以下命令安装:
```bash
sudo yum install java-1.8.0-openjdk-devel
```
安装完成后,验证 Java 版本:
```bash
java -version
```
2. **配置 SSH 免密登录**
Hadoop 集群节点之间需要通过 SSH 进行通信,因此需要配置本地主机的 SSH 免密登录。执行以下命令生成密钥并添加到授权密钥中:
```bash
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
```
测试是否可以免密登录:
```bash
ssh localhost
```
### 下载与解压 Hadoop
1. **下载 Hadoop 安装包**
可以从 Apache 官方网站下载 Hadoop 3.3.1 的二进制包:
```bash
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
```
2. **解压安装包**
将下载的 Hadoop 安装包解压到指定目录,例如 `/usr/local`:
```bash
tar -zxvf hadoop-3.3.1.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
```
### 配置环境变量
1. **编辑 `/etc/profile` 文件**
添加 Hadoop 的环境变量,以便在任意位置运行 Hadoop 命令:
```bash
sudo vi /etc/profile
```
在文件末尾添加以下内容:
```bash
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
```
保存并退出后,刷新环境变量:
```bash
source /etc/profile
```
### 修改 Hadoop 配置文件
Hadoop 的主要配置文件位于 `$HADOOP_HOME/etc/hadoop/` 目录下,主要包括以下几个文件:
1. **`hadoop-env.sh`**
设置 Hadoop 使用的 Java 环境变量:
```bash
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
```
2. **`core-site.xml`**
配置 Hadoop 核心参数,例如临时目录和默认文件系统:
```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`**
配置 HDFS 相关参数,例如副本数和数据存储路径:
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
```
4. **`mapred-site.xml`**
配置 MapReduce 框架使用的资源管理器地址:
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>localhost:19888</value>
</property>
</configuration>
```
5. **`yarn-site.xml`**
配置 YARN 资源管理器的相关参数:
```xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
</configuration>
```
### 格式化 HDFS 文件系统
在首次启动 Hadoop 之前,需要对 HDFS 进行格式化操作:
```bash
hdfs namenode -format
```
### 启动 Hadoop
1. **启动 HDFS**
执行以下命令启动 NameNode 和 DataNode:
```bash
start-dfs.sh
```
2. **启动 YARN**
执行以下命令启动 ResourceManager 和 NodeManager:
```bash
start-yarn.sh
```
3. **检查运行状态**
使用 `jps` 命令查看 Java 进程,确认 Hadoop 组件是否正常运行:
```bash
jps
```
应该看到以下进程:
- `NameNode`
- `DataNode`
- `ResourceManager`
- `NodeManager`
- `SecondaryNameNode`
### 常见问题与解决方案
1. **权限问题**
如果在启动过程中遇到权限问题,确保所有涉及的目录(如 `/usr/local/hadoop/tmp`、`/usr/local/hadoop/hdfs`)具有正确的读写权限。
2. **端口冲突**
Hadoop 默认使用 9000 端口(HDFS)、8088 端口(YARN Web UI)等。如果这些端口被占用,可以在相应的配置文件中更改端口号。
3. **Java 环境问题**
如果出现 `JAVA_HOME not set` 错误,请检查 `hadoop-env.sh` 中的 `JAVA_HOME` 是否正确指向 Java 安装路径。
4. **SSH 连接失败**
如果无法通过 SSH 连接到本地主机,请检查 SSH 配置和防火墙设置。
###
阅读全文
相关推荐

















