CentOS 7 伪分布式安装hadoop
时间: 2025-05-10 17:40:27 浏览: 14
### CentOS 7 上 Hadoop 伪分布式安装教程
#### 配置环境
在 CentOS 7 中,Hadoop 的伪分布式模式是一种常见的测试和学习方式。它允许单台机器模拟多节点集群的行为。以下是完整的流程:
1. **准备基础环境**
安装 Java 开发工具包 (JDK),因为 Hadoop 是基于 Java 构建的软件[^1]。可以通过以下命令来确认 JDK 是否已正确安装以及版本号:
```bash
java -version
```
如果未安装,则可以使用 `yum` 命令完成安装:
```bash
sudo yum install java-1.8.0-openjdk-devel.x86_64
```
2. **设置环境变量**
编辑 `/etc/profile` 文件,在其中添加 JAVA_HOME 路径,并通过 source 加载配置文件以使更改生效[^2]:
```bash
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
```
使用以下命令加载修改后的 profile 文件:
```bash
source /etc/profile
```
3. **下载并解压 Hadoop**
下载最新稳定版 Hadoop 并将其放置到合适目录中,例如 `/opt/hadoop/` 或者用户的家目录下。假设我们选择了后者:
```bash
wget https://archive.apache.org/dist/hadoop/common/hadoop-X.X.X/hadoop-X.X.X.tar.gz
tar -xzvf hadoop-X.X.X.tar.gz -C ~/hadoop/
cd ~/hadoop/etc/hadoop/
```
4. **编辑核心配置文件**
修改以下几个主要配置文件的内容以便支持伪分布式的运行。
- **core-site.xml**: 设置默认文件系统的 URI 地址。
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
```
- **hdfs-site.xml**: 指定 NameNode 数据存储位置以及其他参数。
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
```
- **mapred-site.xml**: 更改 MapReduce 运行框架为 YARN。
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
- **yarn-site.xml**: 设定 ResourceManager 和 NodeManager 的地址信息。
```xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
5. **格式化 Namenode**
执行如下命令初始化 HDFS 文件系统结构:
```bash
hdfs namenode -format
```
6. **启动服务**
启动 HDFS 和 YARN 服务之前,请确保 SSH 已经被正确配置并且无密码登录已经实现。接着依次执行下面两条指令开启相关进程:
```bash
start-dfs.sh
start-yarn.sh
```
7. **验证状态**
浏览器访问 Web UI 页面查看各组件的状态,默认端口分别为:
- HDFS 状态页面:http://<your-ip>:50070
- YARN Resource Manager 页面:http://<your-ip>:8088
最后可通过简单的 WordCount 示例程序进一步检验整个平台的功能是否正常工作。
```python
from subprocess import call
call(['hadoop', 'jar', '/path/to/examples.jar', 'wordcount', '/input/path', '/output/path'])
```
阅读全文
相关推荐


















