linux如何安装hadoop

发布时间:2021-12-17 17:32:26 作者:iii
来源:亿速云 阅读:388
# Linux如何安装Hadoop

## 前言

Hadoop作为Apache基金会下的开源分布式计算框架,已成为大数据处理领域的基石技术。本文将详细介绍在Linux系统上安装Hadoop的完整流程,涵盖从环境准备到集群验证的全过程。本教程基于Hadoop 3.x版本,适用于大多数主流Linux发行版(如Ubuntu/CentOS)。

---

## 一、环境准备

### 1.1 硬件要求
- 至少4GB内存(生产环境建议16GB+)
- 双核CPU(生产环境建议8核+)
- 50GB可用磁盘空间(数据节点需要更大)
- 千兆网络连接(集群环境必需)

### 1.2 软件要求
- **操作系统**:Ubuntu 20.04 LTS/CentOS 7+
- **Java环境**:JDK 8或11(推荐OpenJDK)
- **SSH服务**:用于节点间通信
- **防火墙配置**:开放必要端口(默认50070/8088等)

### 1.3 用户与权限
建议创建专用用户避免权限问题:
```bash
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo usermod -aG sudo hadoop  # 授予sudo权限
su - hadoop  # 切换用户

二、基础环境配置

2.1 安装Java

Hadoop依赖Java环境,推荐安装OpenJDK:

# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk -y

# CentOS/RHEL
sudo yum install java-11-openjdk-devel -y

验证安装:

java -version
# 应输出类似:openjdk version "11.0.12" 2021-07-20

2.2 配置SSH免密登录

Hadoop集群管理需要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  # 应无需密码直接登录

2.3 关闭防火墙(可选)

# Ubuntu
sudo ufw disable

# CentOS
sudo systemctl stop firewalld
sudo systemctl disable firewalld

三、Hadoop安装与配置

3.1 下载Hadoop

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
mv hadoop-3.3.4 /usr/local/hadoop

3.2 环境变量配置

编辑~/.bashrc文件:

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

使配置生效:

source ~/.bashrc

3.3 核心配置文件修改

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>/tmp/hadoop_tmp</value>
  </property>
</configuration>

3. hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>  <!-- 单机模式设为1 -->
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/local/hadoop/data/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/local/hadoop/data/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>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
    <value>JAVA_HOME,HADOOP_COMMON_HOME,...</value>
  </property>
</configuration>

四、HDFS初始化与启动

4.1 格式化NameNode

hdfs namenode -format

成功时会看到”Storage directory /usr/local/hadoop/data/namenode has been successfully formatted”提示。

4.2 启动HDFS

start-dfs.sh

验证进程:

jps
# 应看到NameNode/DataNode/SecondaryNameNode进程

4.3 启动YARN

start-yarn.sh

验证资源管理器:

jps  # 应新增ResourceManager/NodeManager进程

4.4 Web UI访问


五、集群验证测试

5.1 创建HDFS目录

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

5.2 运行MapReduce示例

hadoop jar \
  $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar \
  grep /input /output 'dfs[a-z.]+'

5.3 查看结果

hdfs dfs -cat /output/*
# 应输出包含"dfs"关键词的统计结果

六、集群模式扩展(可选)

6.1 添加DataNode

  1. 在所有从节点重复安装步骤
  2. $HADOOP_HOME/etc/hadoop/workers中添加从节点IP
  3. 在主节点执行:
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes

6.2 高可用配置

需配置: - ZooKeeper集群 - JournalNode服务 - 双NameNode(Active/Standby)


常见问题解决

Q1: 启动时报错”Connection refused”

Q2: Web UI无法访问

netstat -tulnp | grep java

Q3: 磁盘空间不足

hdfs dfs -expunge

结语

通过上述步骤,您已成功在Linux系统上搭建了Hadoop单机/伪分布式环境。实际生产部署时,请根据业务需求调整配置参数,并考虑安全加固措施(如Kerberos认证)。Hadoop生态丰富,后续可进一步学习Hive、Spark等组件的集成使用。

注意事项
- 定期备份NameNode元数据 - 监控磁盘和内存使用情况 - 生产环境建议使用CDH/HDP等商业发行版 “`

该文档共约4100字,采用Markdown格式编写,包含: 1. 分步骤的详细安装指南 2. 关键配置文件的完整示例 3. 验证方法和故障排查 4. 扩展集群的注意事项 5. 代码块与命令行的清晰区分

可根据实际环境调整路径、版本号等参数。建议配合官方文档食用更佳。

推荐阅读:
  1. 一、安装hadoop
  2. mac或linux下安装hadoop-2.8流程

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

linux hadoop

上一篇:怎样使用进程池实现高并发服务器

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

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

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