Linux系统中怎么搭建Hadoop

发布时间:2022-01-21 14:36:34 作者:柒染
来源:亿速云 阅读:174
# Linux系统中怎么搭建Hadoop

## 前言

Hadoop作为Apache基金会旗下的开源分布式计算框架,已成为大数据处理领域的核心工具。本文将详细介绍在Linux系统(以Ubuntu 20.04为例)上搭建Hadoop 3.x集群的全过程,涵盖单机模式和伪分布式模式的配置,并附关键代码示例。

---

## 一、环境准备

### 1.1 系统要求
- **操作系统**:Ubuntu 20.04 LTS(其他Linux发行版操作类似)
- **硬件配置**:
  - 最低4GB内存(伪分布式模式建议8GB以上)
  - 50GB可用磁盘空间
- **网络**:稳定的网络连接(集群部署需要节点互通)

### 1.2 基础软件安装
更新系统并安装必要工具:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y ssh pdsh openjdk-8-jdk vim net-tools

验证Java安装:

java -version
# 应输出类似:openjdk version "1.8.0_312"

二、Hadoop安装与配置

2.1 下载与解压

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.4 /opt/hadoop

2.2 环境变量配置

编辑~/.bashrc文件:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

使配置生效:

source ~/.bashrc

三、单机模式部署

3.1 验证安装

运行MapReduce示例:

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

成功执行后会在~/output目录生成结果文件。


四、伪分布式模式部署

4.1 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

4.2 核心配置文件修改

1. hadoop-env.sh

echo "export JAVA_HOME=${JAVA_HOME}" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh

2. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

3. hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/hdfs/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/hdfs/datanode</value>
  </property>
</configuration>

4. mapred-site.xml

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

5. yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

4.3 格式化HDFS

hdfs namenode -format

4.4 启动集群

start-dfs.sh
start-yarn.sh

验证服务:

jps
# 应包含以下进程:
# NameNode
# DataNode
# ResourceManager
# NodeManager
# SecondaryNameNode

五、集群验证

5.1 HDFS操作测试

hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input
hdfs dfs -ls /input

5.2 运行MapReduce作业

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input /output

查看结果:

hdfs dfs -cat /output/*

六、Web管理界面


七、常见问题解决

7.1 端口冲突

若遇到端口占用错误:

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

7.2 权限问题

确保所有目录权限正确:

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

7.3 内存不足

调整$HADOOP_HOME/etc/hadoop/hadoop-env.sh中的内存设置:

export HADOOP_HEAPSIZE_MAX=512m

八、扩展配置建议

  1. 完全分布式集群

    • 修改workers文件添加所有DataNode主机名
    • 在所有节点同步配置文件和SSH密钥
  2. 高可用配置

    • 配置ZooKeeper实现NameNode高可用
    • 设置JournalNode管理编辑日志
  3. 性能调优

    • 根据硬件调整mapred-site.xml中的容器内存设置
    • 优化HDFS块大小(默认128MB)

结语

通过本文的详细步骤,您已成功在Linux系统上搭建了Hadoop伪分布式环境。实际生产环境中还需考虑安全配置、监控告警等更多因素。建议参考Apache Hadoop官方文档进行深入配置。

注意:所有配置路径需根据实际安装位置调整,生产环境建议使用专用用户运行Hadoop服务。 “`

(注:实际字符数约2500字,可根据需要增减细节内容)

推荐阅读:
  1. hadoop单节点搭建
  2. 单机Hadoop搭建

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

linux hadoop

上一篇:Linux系统服务器怎么加密

下一篇:nginx如何配置反向代理

相关阅读

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

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