linux中如何搭建hadoop单机模式

发布时间:2021-12-08 11:14:12 作者:小新
来源:亿速云 阅读:179
# Linux中如何搭建Hadoop单机模式

## 前言

Hadoop作为Apache基金会的开源分布式计算框架,已成为大数据处理领域的基石技术。虽然其核心价值在于分布式集群能力,但单机模式(Local/Standalone Mode)的搭建仍是学习Hadoop的重要起点。本文将详细介绍在Linux系统(以Ubuntu 22.04为例)上搭建Hadoop 3.x单机模式的完整流程,涵盖环境准备、配置优化及验证测试等关键环节。

---

## 一、环境准备

### 1.1 系统要求
- **操作系统**:Linux发行版(推荐Ubuntu/CentOS)
- **内存**:至少4GB(建议8GB)
- **磁盘空间**:20GB以上可用空间
- **Java环境**:JDK 8或11(Hadoop 3.x兼容版本)

### 1.2 安装依赖软件
```bash
# 更新软件包索引
sudo apt update

# 安装SSH和PDKSH(Hadoop脚本依赖)
sudo apt install -y ssh pdsh

# 安装Java开发环境
sudo apt install -y openjdk-11-jdk

# 验证Java安装
java -version

1.3 配置SSH免密登录

虽然单机模式不严格要求,但为后续伪分布式模式做准备:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
ssh localhost  # 测试免密登录

二、Hadoop安装与配置

2.1 下载Hadoop

从Apache镜像站获取最新稳定版(以3.3.6为例):

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 -C /opt/
sudo ln -s /opt/hadoop-3.3.6 /opt/hadoop

2.2 设置环境变量

编辑~/.bashrc文件:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))

使配置生效:

source ~/.bashrc

2.3 核心配置文件修改

进入$HADOOP_HOME/etc/hadoop目录:

1. hadoop-env.sh

echo "export JAVA_HOME=$JAVA_HOME" >> hadoop-env.sh

2. core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>file:///</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/tmp/hadoop-${user.name}</value>
    </property>
</configuration>

3. mapred-site.xml

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

4. hdfs-site.xml

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

三、运行验证

3.1 测试MapReduce作业

使用Hadoop自带的示例程序:

mkdir input
cp $HADOOP_HOME/etc/hadoop/*.xml input/
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'

3.2 检查输出结果

cat output/*

预期看到类似输出:

1       dfsadmin
1       dfs.replication

3.3 文件系统操作测试

hadoop fs -mkdir /test
hadoop fs -ls /
hadoop fs -put input/*.xml /test
hadoop fs -text /test/core-site.xml

四、常见问题解决

4.1 Java路径错误

现象:启动时报JAVA_HOME not set
解决

# 确认Java安装路径
update-alternatives --config java
# 在hadoop-env.sh中显式设置
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

4.2 权限问题

现象Permission denied错误
解决

sudo chown -R $USER:$USER /opt/hadoop*

4.3 内存不足

现象:作业执行被终止
解决:修改mapred-site.xml

<property>
    <name>mapreduce.map.memory.mb</name>
    <value>1024</value>
</property>

五、进阶配置建议

5.1 日志目录配置

修改$HADOOP_HOME/etc/hadoop/log4j.properties

hadoop.log.dir=/var/log/hadoop

5.2 启用压缩(可选)

core-site.xml中添加:

<property>
    <name>io.compression.codecs</name>
    <value>org.apache.hadoop.io.compress.GzipCodec</value>
</property>

5.3 单机模式优化参数

参数 推荐值 说明
mapreduce.task.io.sort.mb 256 排序内存大小(MB)
mapreduce.map.sort.spill.percent 0.8 溢写阈值

结语

通过本文的步骤,您已成功在Linux系统上搭建了Hadoop单机模式。虽然此模式不涉及分布式功能,但为后续学习HDFS、YARN等核心组件奠定了基础。建议在掌握单机操作后,继续尝试伪分布式和完全分布式环境的搭建。

学习建议
1. 使用hadoop --help查看完整命令列表
2. 阅读$HADOOP_HOME/share/doc下的官方文档
3. 通过修改配置参数观察性能变化

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

该文档包含: 1. 分步骤的详细安装指南 2. 关键配置文件的代码片段 3. 常见问题解决方案 4. 表格形式的参数优化建议 5. 学习资源推荐 6. 恰当的代码高亮和Markdown格式化

实际字符数约2100字,可根据需要调整具体配置参数或补充故障排查案例。

推荐阅读:
  1. Hadoop单机模式如何部署
  2. 安装单机模式Hadoop-2.6.3(1)

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

hadoop linux

上一篇:hadoop层面性能如何调优

下一篇:Python基于Selenium怎么实现动态网页信息的爬取

相关阅读

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

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