如何在CentOS上安装Apache Hadoop

发布时间:2022-01-24 11:30:27 作者:柒染
来源:亿速云 阅读:180
# 如何在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

2. 安装Java

sudo yum install -y java-1.8.0-openjdk-devel

验证安装:

java -version

3. 配置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连接:

ssh localhost

安装Apache Hadoop

1. 下载Hadoop

访问Apache Hadoop官网获取最新稳定版(本文以3.3.6为例):

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

2. 解压文件

tar -xzvf hadoop-3.3.6.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.6 /opt/hadoop

3. 配置环境变量

编辑~/.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

1. 核心配置文件

编辑$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>

2. HDFS配置

编辑$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>

3. MapReduce配置

编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml

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

4. YARN配置

编辑$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>

初始化与启动Hadoop

1. 格式化HDFS

hdfs namenode -format

2. 启动HDFS

start-dfs.sh

3. 启动YARN

start-yarn.sh

4. 验证服务

检查进程是否正常运行:

jps

预期输出应包含:

NameNode
DataNode
ResourceManager
NodeManager

访问Web UI: - HDFS: http://localhost:9870 - YARN: http://localhost:8088


运行测试任务

1. 创建HDFS目录

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

2. 执行MapReduce示例

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

3. 查看结果

hdfs dfs -cat /output/*

常见问题解决

1. Java路径错误

错误现象:JAVA_HOME is not set 解决方法:确认$JAVA_HOMEhadoop-env.sh中正确配置:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

2. 端口冲突

错误现象:Address already in use 解决方法:修改core-site.xml中的端口号或终止占用端口的进程。

3. 权限问题

错误现象:Permission denied 解决方法:

sudo chown -R $(whoami):$(whoami) /opt/hadoop

扩展配置(可选)

1. 多节点集群

  1. 在所有节点重复上述安装步骤
  2. 修改core-site.xml中的fs.defaultFS为主节点IP
  3. 配置workers文件添加所有节点主机名

2. 启用历史服务器

编辑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)的集成方法)

推荐阅读:
  1. apache-hive安装部署
  2. 安装Apache Thrift网关到CentOS 2

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

centos hadoop

上一篇:Linux系统安装nc命令有哪些

下一篇:Linux系统如何安装tree命令

相关阅读

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

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