Hadoop伪分布式系统如何搭建

发布时间:2021-11-18 16:35:48 作者:小新
来源:亿速云 阅读:156
# Hadoop伪分布式系统如何搭建

## 一、前言

在大数据技术生态中,Hadoop作为核心框架,其伪分布式模式是学习和开发的重要环境。本文将详细介绍在Linux系统(以Ubuntu为例)上搭建Hadoop 3.x伪分布式系统的完整流程,包含环境准备、配置修改及验证步骤。

---

## 二、环境准备

### 1. 硬件要求
- 至少4GB内存
- 20GB可用磁盘空间
- 支持虚拟化的CPU

### 2. 软件要求
| 组件           | 推荐版本   |
|----------------|-----------|
| 操作系统       | Ubuntu 20.04 LTS |
| Java           | JDK 8/11   |
| Hadoop         | 3.3.6      |
| SSH            | OpenSSH    |

### 3. 前置步骤
```bash
# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装必要工具
sudo apt install -y ssh pdsh vim net-tools

三、详细搭建步骤

1. 创建专用用户(推荐)

sudo adduser hadoopuser
sudo usermod -aG sudo hadoopuser
su - hadoopuser

2. 配置SSH免密登录

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# 测试连接
ssh localhost

3. Java环境安装

sudo apt install -y openjdk-11-jdk
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc

4. Hadoop安装配置

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop

关键配置文件修改:

  1. hadoop-env.sh
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/hadoop/etc/hadoop/hadoop-env.sh
  1. core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoopuser/tmp</value>
  </property>
</configuration>
  1. hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoopuser/hdfs/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoopuser/hdfs/datanode</value>
  </property>
</configuration>
  1. mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  1. yarn-site.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>

5. 环境变量配置

echo 'export HADOOP_HOME=/home/hadoopuser/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc

四、启动与验证

1. 格式化HDFS

hdfs namenode -format

2. 启动服务

start-dfs.sh
start-yarn.sh

3. 验证服务

# 检查Java进程
jps

# 预期输出应包含:
# NameNode
# DataNode
# ResourceManager
# NodeManager
# SecondaryNameNode

# Web UI访问:
# NameNode - http://localhost:9870
# YARN - http://localhost:8088

4. 测试MapReduce作业

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 2 4

五、常见问题解决

1. SSH连接问题

错误现象:Connection refused 解决方法:

sudo systemctl enable ssh
sudo systemctl start ssh

2. 端口冲突

错误现象:Address already in use 解决方法:

netstat -tulnp | grep <端口号>
kill -9 <进程ID>

3. 权限不足

错误现象:Permission denied 解决方法:

sudo chown -R hadoopuser:hadoopuser /home/hadoopuser

六、系统优化建议

  1. 内存配置调整

    • 修改yarn-site.xml中的yarn.nodemanager.resource.memory-mb
    • 调整mapred-site.xml中的mapreduce.map.memory.mb
  2. 日志管理

    # 修改日志级别
    vim $HADOOP_HOME/etc/hadoop/log4j.properties
    
  3. 定期维护

    # 清理临时文件
    hdfs dfs -expunge
    

七、总结

伪分布式模式完整模拟了Hadoop集群环境,适合开发测试场景。通过本文的详细步骤,您已成功搭建了一个可运行的Hadoop环境。建议后续: 1. 尝试运行完整WordCount示例 2. 学习HDFS文件操作命令 3. 探索YARN资源调度机制

注意:生产环境请使用完全分布式集群,并配置高可用方案。

附录: - Hadoop官方文档 - Github问题追踪 “`

这篇技术文档包含: 1. 分步骤的详细操作指南 2. 关键配置文件的完整示例 3. 常见问题解决方案 4. 验证方法和优化建议 5. 标准的Markdown格式(代码块、表格、列表等)

可根据实际环境调整版本号和路径参数,建议配合截图或日志示例使用效果更佳。

推荐阅读:
  1. Hadoop伪分布式集群搭建总结
  2. hadoop0.20.2伪分布式环境搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop

上一篇:TITLE和ALT标签有什么用

下一篇:Eclipse中如何集成GlassFish

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》