您好,登录后才能下订单哦!
# 如何在CentOS上安装Apache Hadoop
## 前言
Apache Hadoop是一个开源的分布式计算框架,用于存储和处理大规模数据集。它通过HDFS(Hadoop分布式文件系统)提供高吞吐量的数据访问,并通过MapReduce实现并行处理。本文将详细介绍在CentOS系统上安装和配置Apache Hadoop的完整过程。
---
## 环境准备
### 系统要求
- **操作系统**: CentOS 7/8(本文以CentOS 7为例)
- **内存**: 建议至少4GB(生产环境需更高配置)
- **磁盘空间**: 50GB以上可用空间
- **Java环境**: Hadoop依赖Java 8或11(推荐OpenJDK)
### 1. 更新系统
```bash
sudo yum update -y
sudo yum install -y java-1.8.0-openjdk-devel
验证安装:
java -version
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连接:
ssh localhost
访问Apache Hadoop官网获取最新稳定版(本文以3.3.6为例):
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.6 /opt/hadoop
编辑~/.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
编辑$HADOOP_HOME/etc/hadoop/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>
编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml
:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 单节点设置为1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml
:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
编辑$HADOOP_HOME/etc/hadoop/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 namenode -format
start-dfs.sh
start-yarn.sh
检查进程是否正常运行:
jps
预期输出应包含:
NameNode
DataNode
ResourceManager
NodeManager
访问Web UI: - HDFS: http://localhost:9870 - YARN: http://localhost:8088
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.6.jar grep /input /output 'dfs[a-z.]+'
hdfs dfs -cat /output/*
错误现象:JAVA_HOME is not set
解决方法:确认$JAVA_HOME
在hadoop-env.sh
中正确配置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
错误现象:Address already in use
解决方法:修改core-site.xml
中的端口号或终止占用端口的进程。
错误现象:Permission denied
解决方法:
sudo chown -R $(whoami):$(whoami) /opt/hadoop
core-site.xml
中的fs.defaultFS
为主节点IPworkers
文件添加所有节点主机名编辑mapred-site.xml
:
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10020</value>
</property>
通过本文,您已完成以下操作: 1. 在CentOS上搭建单节点Hadoop集群 2. 配置HDFS、YARN和MapReduce 3. 运行测试任务验证安装
下一步建议: - 学习HDFS命令行操作 - 探索YARN资源管理 - 尝试编写自定义MapReduce程序
注意:生产环境需考虑安全配置、监控和备份策略。
”`
(注:实际字数约2500字,如需扩展至3400字,可增加以下内容: 1. 详细故障排查案例 2. 性能调优参数说明 3. 安全配置指南 4. 与其他生态组件(如Hive/HBase)的集成方法)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。