您好,登录后才能下订单哦!
# 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 # 切换用户
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
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 # 应无需密码直接登录
# Ubuntu
sudo ufw disable
# CentOS
sudo systemctl stop firewalld
sudo systemctl disable firewalld
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
编辑~/.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
echo "export JAVA_HOME=$JAVA_HOME" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
<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>
<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>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<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 namenode -format
成功时会看到”Storage directory /usr/local/hadoop/data/namenode has been successfully formatted”提示。
start-dfs.sh
验证进程:
jps
# 应看到NameNode/DataNode/SecondaryNameNode进程
start-yarn.sh
验证资源管理器:
jps # 应新增ResourceManager/NodeManager进程
hdfs dfs -mkdir /input
hdfs dfs -put $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.]+'
hdfs dfs -cat /output/*
# 应输出包含"dfs"关键词的统计结果
$HADOOP_HOME/etc/hadoop/workers
中添加从节点IPhdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
需配置: - ZooKeeper集群 - JournalNode服务 - 双NameNode(Active/Standby)
/etc/hosts
是否包含所有节点IP映射netstat -tulnp | grep java
hdfs-site.xml
中的dfs.datanode.data.dir
路径hdfs dfs -expunge
通过上述步骤,您已成功在Linux系统上搭建了Hadoop单机/伪分布式环境。实际生产部署时,请根据业务需求调整配置参数,并考虑安全加固措施(如Kerberos认证)。Hadoop生态丰富,后续可进一步学习Hive、Spark等组件的集成使用。
注意事项
- 定期备份NameNode元数据 - 监控磁盘和内存使用情况 - 生产环境建议使用CDH/HDP等商业发行版 “`
该文档共约4100字,采用Markdown格式编写,包含: 1. 分步骤的详细安装指南 2. 关键配置文件的完整示例 3. 验证方法和故障排查 4. 扩展集群的注意事项 5. 代码块与命令行的清晰区分
可根据实际环境调整路径、版本号等参数。建议配合官方文档食用更佳。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。